[dpdk-dev] [PATCH v3 1/2] librte_net/rte_ip: define ipv4 ihl and vhl
Saleh Alsouqi
salehals at mellanox.com
Thu Jul 4 09:33:19 CEST 2019
Define IPv4 Minimum IHL and VHL according to rfc791 (see [1])
"The Version field indicates the format of the
internet header."
"Internet Header Length (ihl) is the length of the
internet header in 32 bit words, and thus points
to the beginning of the data. Note that
the minimum value for a correct header is 5."
[1] https://tools.ietf.org/html/rfc791
Signed-off-by: Saleh AlSouqi <salehals at mellanox.com>
---
lib/librte_net/rte_ip.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index e69b863..26b089e 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -16,7 +16,9 @@
*/
#include <stdint.h>
+#include <sys/types.h>
#include <netinet/in.h>
+#include <netinet/ip.h>
#include <rte_byteorder.h>
#include <rte_mbuf.h>
@@ -96,6 +98,10 @@ struct rte_ipv4_hdr {
((x) >= RTE_IPV4_MIN_MCAST && (x) <= RTE_IPV4_MAX_MCAST)
/**< check if IPv4 address is multicast */
+/* IPv4 default fields values */
+#define RTE_IPV4_MIN_IHL (0x5)
+#define RTE_IPV4_VHL_DEF (IPVERSION | RTE_IPV4_MIN_IHL)
+
/**
* @internal Calculate a sum of all words in the buffer.
* Helper routine for the rte_raw_cksum().
--
2.7.4
More information about the dev
mailing list