diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/ip.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/include/gpxe/ip.h b/src/include/gpxe/ip.h index 7cd2fcff9..2212d8e50 100644 --- a/src/include/gpxe/ip.h +++ b/src/include/gpxe/ip.h @@ -9,14 +9,40 @@ #include <ip.h> +/* IP constants */ + +#define IP_HLEN 20 +#define IP_VER 4 +#define IP_MASK_VER 0xf0 +#define IP_MASK_HLEN 0x0f +#define IP_PSHLEN 12 + +/* IP header defaults */ +#define IP_TOS 0 +#define IP_TTL 64 + +/* IP6 constants */ + +#define IP6_HLEN 38 + +struct pk_buff; +struct net_device; struct net_protocol; extern struct net_protocol ipv4_protocol; +extern struct net_protocol ipv6_protocol; extern int add_ipv4_address ( struct net_device *netdev, struct in_addr address, struct in_addr netmask, struct in_addr gateway ); extern void del_ipv4_address ( struct net_device *netdev ); + extern int ipv4_uip_tx ( struct pk_buff *pkb ); +extern int ipv4_tx ( struct pk_buff *pkb, uint16_t trans_proto, struct in_addr *dest ); +extern int ipv6_tx ( struct pk_buff *pkb, uint16_t trans_proto, struct in6_addr *dest ); + +extern void ipv4_rx ( struct pk_buff *pkb, struct net_device *netdev, const void *ll_source ); +extern void ipv6_rx ( struct pk_buff *pkb, struct net_device *netdev, const void *ll_source ); + #endif /* _GPXE_IP_H */ |
