mirror of
https://github.com/ipxe/ipxe
synced 2025-12-19 02:50:25 +03:00
Minor changes to the network layer rx() functions
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <byteswap.h>
|
||||
#include <gpxe/pkbuff.h>
|
||||
#include <gpxe/netdevice.h>
|
||||
#include <gpxe/in.h>
|
||||
#include <gpxe/if_ether.h>
|
||||
#include <gpxe/tcpip.h>
|
||||
|
||||
/**
|
||||
* Transmit IP6 packets
|
||||
*
|
||||
* Placeholder to allow linking. The function should be placed in net/ipv6.c
|
||||
*/
|
||||
int ipv6_tx ( struct pk_buff *pkb __unused, uint16_t trans_proto __unused,
|
||||
struct in6_addr *dest __unused) {
|
||||
@@ -22,3 +26,33 @@ void ipv6_rx ( struct pk_buff *pkb __unused,
|
||||
struct net_device *netdev __unused,
|
||||
const void *ll_source __unused ) {
|
||||
}
|
||||
|
||||
void ipv6_tx_csum ( struct pk_buff *pkb, struct tcpip_protocol *tcpip ) {
|
||||
return;
|
||||
}
|
||||
|
||||
static const char * ipv6_ntoa ( const void *net_addr ) {
|
||||
// return inet6_ntoa ( * ( ( struct in6_addr * ) net_addr ) );
|
||||
return "no support yet";
|
||||
}
|
||||
|
||||
/** IPv6 protocol */
|
||||
struct net_protocol ipv6_protocol = {
|
||||
.name = "IP6",
|
||||
.net_proto = htons ( ETH_P_IPV6 ),
|
||||
.net_addr_len = sizeof ( struct in6_addr ),
|
||||
.rx = ipv6_rx,
|
||||
.ntoa = ipv6_ntoa,
|
||||
};
|
||||
|
||||
NET_PROTOCOL ( ipv6_protocol );
|
||||
|
||||
/** IPv6 TCPIP net protocol */
|
||||
struct tcpip_net_protocol ipv6_tcpip_protocol = {
|
||||
.net_protocol = &ipv6_protocol,
|
||||
.sa_family = AF_INET6,
|
||||
.tx = ipv6_tx,
|
||||
.tx_csum = ipv6_tx_csum,
|
||||
};
|
||||
|
||||
TCPIP_NET_PROTOCOL ( ipv6_tcpip_protocol );
|
||||
|
||||
Reference in New Issue
Block a user