summaryrefslogtreecommitdiff
path: root/include/net.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net.h')
-rw-r--r--include/net.h32
1 files changed, 24 insertions, 8 deletions
diff --git a/include/net.h b/include/net.h
index 3e4f304..7692153 100644
--- a/include/net.h
+++ b/include/net.h
@@ -194,9 +194,9 @@ typedef struct {
#define IPPROTO_UDP 17 /* User Datagram Protocol */
/*
- * Internet Protocol (IP) + UDP header.
+ * Internet Protocol (IP) header.
*/
-struct ip_udp_hdr {
+struct ip_hdr {
uchar ip_hl_v; /* header length and version */
uchar ip_tos; /* type of service */
ushort ip_len; /* total length */
@@ -207,10 +207,6 @@ struct ip_udp_hdr {
ushort ip_sum; /* checksum */
IPaddr_t ip_src; /* Source IP address */
IPaddr_t ip_dst; /* Destination IP address */
- ushort udp_src; /* UDP source port */
- ushort udp_dst; /* UDP destination port */
- ushort udp_len; /* Length of UDP packet */
- ushort udp_xsum; /* Checksum */
};
#define IP_OFFS 0x1fff /* ip offset *= 8 */
@@ -219,10 +215,30 @@ struct ip_udp_hdr {
#define IP_FLAGS_DFRAG 0x4000 /* don't fragments */
#define IP_FLAGS_MFRAG 0x2000 /* more fragments */
-#define IP_HDR_SIZE_NO_UDP (sizeof(struct ip_udp_hdr) - 8)
+#define IP_HDR_SIZE (sizeof(struct ip_hdr))
+
+/*
+ * Internet Protocol (IP) + UDP header.
+ */
+struct ip_udp_hdr {
+ uchar ip_hl_v; /* header length and version */
+ uchar ip_tos; /* type of service */
+ ushort ip_len; /* total length */
+ ushort ip_id; /* identification */
+ ushort ip_off; /* fragment offset field */
+ uchar ip_ttl; /* time to live */
+ uchar ip_p; /* protocol */
+ ushort ip_sum; /* checksum */
+ IPaddr_t ip_src; /* Source IP address */
+ IPaddr_t ip_dst; /* Destination IP address */
+ ushort udp_src; /* UDP source port */
+ ushort udp_dst; /* UDP destination port */
+ ushort udp_len; /* Length of UDP packet */
+ ushort udp_xsum; /* Checksum */
+};
#define IP_UDP_HDR_SIZE (sizeof(struct ip_udp_hdr))
-#define UDP_HDR_SIZE (IP_UDP_HDR_SIZE - IP_HDR_SIZE_NO_UDP)
+#define UDP_HDR_SIZE (IP_UDP_HDR_SIZE - IP_HDR_SIZE)
/*
* Address Resolution Protocol (ARP) header.