There are optional fields in GRE header(checksum/key/sequence), this
patch adds definition of structures of the optional fields.

Signed-off-by: Sean Zhang <xiazh...@nvidia.com>
---
 lib/net/rte_gre.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/lib/net/rte_gre.h b/lib/net/rte_gre.h
index 5897756..6c6aef6 100644
--- a/lib/net/rte_gre.h
+++ b/lib/net/rte_gre.h
@@ -48,6 +48,28 @@ struct rte_gre_hdr {
        uint16_t proto;  /**< Protocol Type */
 } __rte_packed;
 
+/**
+ * Optional field checksum in GRE header
+ */
+struct rte_gre_hdr_opt_checksum_rsvd {
+       rte_be16_t checksum;
+       rte_be16_t reserved1;
+} __rte_packed;
+
+/**
+ * Optional field key in GRE header
+ */
+struct rte_gre_hdr_opt_key {
+       rte_be32_t key;
+} __rte_packed;
+
+/**
+ * Optional field sequence in GRE header
+ */
+struct rte_gre_hdr_opt_sequence {
+       rte_be32_t sequence;
+} __rte_packed;
+
 #ifdef __cplusplus
 }
 #endif
-- 
1.8.3.1

Reply via email to