david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/net/ipv6.c

52 lines
1.2 KiB
C
Raw Normal View History

2006-06-26 17:33:46 +02:00
#include <errno.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <byteswap.h>
2006-06-26 17:33:46 +02:00
#include <gpxe/pkbuff.h>
#include <gpxe/netdevice.h>
#include <gpxe/in.h>
#include <gpxe/if_ether.h>
#include <gpxe/tcpip.h>
2006-06-26 17:33:46 +02:00
/**
* Transmit IP6 packets
*/
static int ipv6_tx ( struct pk_buff *pkb,
struct tcpip_protocol *tcpip_protocol,
struct sockaddr_tcpip *st_dest ) {
2006-06-26 17:33:46 +02:00
return -ENOSYS;
}
/**
* Process incoming IP6 packets
*
* Placeholder function. Should rewrite in net/ipv6.c
*/
static int ipv6_rx ( struct pk_buff *pkb __unused,
struct net_device *netdev __unused,
const void *ll_source __unused ) {
return -ENOSYS;
}
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 __net_protocol = {
.name = "IP6",
.net_proto = htons ( ETH_P_IPV6 ),
.net_addr_len = sizeof ( struct in6_addr ),
.rx = ipv6_rx,
.ntoa = ipv6_ntoa,
};
/** IPv6 TCPIP net protocol */
struct tcpip_net_protocol ipv6_tcpip_protocol __tcpip_net_protocol = {
.name = "IPv6",
.sa_family = AF_INET6,
.tx = ipv6_tx,
};