diff --git a/src/include/gpxe/icmp6.h b/src/include/gpxe/icmp6.h index 76aaddfe..34093616 100644 --- a/src/include/gpxe/icmp6.h +++ b/src/include/gpxe/icmp6.h @@ -7,7 +7,6 @@ * */ -#include #include #include diff --git a/src/include/gpxe/ip.h b/src/include/gpxe/ip.h index 0a23565b..b1b0c48c 100644 --- a/src/include/gpxe/ip.h +++ b/src/include/gpxe/ip.h @@ -7,9 +7,15 @@ * */ -#include +#include +#include +#include #include +struct io_buffer; +struct net_device; +struct net_protocol; + /* IP constants */ #define IP_VER 0x40U @@ -27,7 +33,21 @@ #define IP_FRAG_IOB_SIZE 1500 #define IP_FRAG_TIMEOUT 50 -/* IP4 pseudo header */ +/** An IPv4 packet header */ +struct iphdr { + uint8_t verhdrlen; + uint8_t service; + uint16_t len; + uint16_t ident; + uint16_t frags; + uint8_t ttl; + uint8_t protocol; + uint16_t chksum; + struct in_addr src; + struct in_addr dest; +} __attribute__ (( packed )); + +/** An IPv4 pseudo header */ struct ipv4_pseudo_header { struct in_addr src; struct in_addr dest; @@ -68,11 +88,6 @@ struct frag_buffer { struct list_head list; }; -struct io_buffer; -struct net_device; -struct net_protocol; -struct tcpip_protocol; - extern struct list_head ipv4_miniroutes; extern struct net_protocol ipv4_protocol; diff --git a/src/include/gpxe/ip6.h b/src/include/gpxe/ip6.h index 22989ec9..dc0ae31f 100644 --- a/src/include/gpxe/ip6.h +++ b/src/include/gpxe/ip6.h @@ -7,7 +7,7 @@ * */ -#include +#include #include /* IP6 constants */ diff --git a/src/include/ip.h b/src/include/ip.h deleted file mode 100644 index 9da7f56a..00000000 --- a/src/include/ip.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _IP_H -#define _IP_H - -#include "stddef.h" -#include "stdint.h" -#include - -struct iphdr { - uint8_t verhdrlen; - uint8_t service; - uint16_t len; - uint16_t ident; - uint16_t frags; - uint8_t ttl; - uint8_t protocol; - uint16_t chksum; - struct in_addr src; - struct in_addr dest; -} PACKED; - -extern uint16_t tcpudpchksum(struct iphdr *ip); - -#endif /* _IP_H */ diff --git a/src/include/udp.h b/src/include/udp.h deleted file mode 100644 index 7814c5f4..00000000 --- a/src/include/udp.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _UDP_H -#define _UDP_H - -#include "stddef.h" -#include "stdint.h" -#include -#include "ip.h" - -struct udp_pseudo_hdr { - struct in_addr src; - struct in_addr dest; - uint8_t unused; - uint8_t protocol; - uint16_t len; -} PACKED; -struct udphdr { - uint16_t src; - uint16_t dest; - uint16_t len; - uint16_t chksum; - struct {} payload; -} PACKED; -struct udppacket { - struct iphdr ip; - struct udphdr udp; - struct {} payload; -} PACKED; - -#endif /* _UDP_H */ diff --git a/src/proto/igmp.c b/src/proto/igmp.c index ef1ff714..d711421a 100644 --- a/src/proto/igmp.c +++ b/src/proto/igmp.c @@ -3,11 +3,11 @@ * */ +#if 0 + #include #include -#if 0 - static unsigned long last_igmpv1 = 0; static struct igmptable_t igmptable[MAX_IGMP];