[U-Boot] [RFC PATCH v3 04/11] net: add definition of udp_hdr

Chris Packham judge.packham at gmail.com
Wed Jan 25 10:56:15 CET 2017


UDP is the same over IPv4 as it is over other protocols (i.e. IPv6) add
a definition of just the UDP header independent of the IPv4 header that
it may or may not be combined with.

Signed-off-by: Chris Packham <judge.packham at gmail.com>
---
Ideally struct ip_udp_hdr would be defined as

  struct ip_udp_hdr {
          struct ip_hdr  ip;
          struct udp_hdr udp;
  };

Implementing this touches more code that I really want to at this
point. Some of the code that currently uses struct ip_udp_hdr could
probably just use struct ip_hdr instead but some care would need to be
taken to much such a change.

Changes in v3: None
Changes in v2: None

 include/net.h | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/include/net.h b/include/net.h
index 1f4d94735007..10d98d92535b 100644
--- a/include/net.h
+++ b/include/net.h
@@ -375,6 +375,18 @@ struct ip_hdr {
 #define IP_HDR_SIZE		(sizeof(struct ip_hdr))
 
 /*
+ *	UDP header.
+ */
+struct udp_hdr {
+	__be16		udp_src;	/* UDP source port		*/
+	__be16		udp_dst;	/* UDP destination port		*/
+	__be16		udp_len;	/* Length of UDP packet		*/
+	__be16		udp_xsum;	/* Checksum			*/
+};
+
+#define UDP_HDR_SIZE		(sizeof(struct udp_hdr))
+
+/*
  *	Internet Protocol (IP) + UDP header.
  */
 struct ip_udp_hdr {
@@ -395,7 +407,6 @@ struct ip_udp_hdr {
 };
 
 #define IP_UDP_HDR_SIZE		(sizeof(struct ip_udp_hdr))
-#define UDP_HDR_SIZE		(IP_UDP_HDR_SIZE - IP_HDR_SIZE)
 
 /*
  *	Address Resolution Protocol (ARP) header.
-- 
2.11.0.24.ge6920cf



More information about the U-Boot mailing list