From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jijiang Liu Subject: [PATCH 1/6] librte_ether:add NVGRE header Date: Mon, 26 Jan 2015 11:43:20 +0800 Message-ID: <1422243805-10906-2-git-send-email-jijiang.liu@intel.com> References: <1422243805-10906-1-git-send-email-jijiang.liu@intel.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1422243805-10906-1-git-send-email-jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Add NVGRE header and Transparent Ethernet Bridging Macro in rte_ether.h file. Signed-off-by: Jijiang Liu --- lib/librte_ether/rte_ether.h | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/lib/librte_ether/rte_ether.h b/lib/librte_ether/rte_ether.h index 7e7d22c..cb36212 100644 --- a/lib/librte_ether/rte_ether.h +++ b/lib/librte_ether/rte_ether.h @@ -321,6 +321,17 @@ struct vxlan_hdr { uint32_t vx_vni; /**< VNI (24) + Reserved (8). */ } __attribute__((__packed__)); +/** + * NVGRE protocol header. + * Contains the 16-bit flag, 16-bit protocol type, 24-bit Virtual + * Subnet ID, 8-bit FlowId. + */ +struct nvgre_hdr { + uint16_t flags; /**< Protocol flag. */ + uint16_t prot_type; /**< Protocol type. */ + uint32_t key; /**< VSID (24) + FlowID (8). */ +} __attribute__((__packed__)); + /* Ethernet frame types */ #define ETHER_TYPE_IPv4 0x0800 /**< IPv4 Protocol. */ #define ETHER_TYPE_IPv6 0x86DD /**< IPv6 Protocol. */ @@ -329,6 +340,7 @@ struct vxlan_hdr { #define ETHER_TYPE_VLAN 0x8100 /**< IEEE 802.1Q VLAN tagging. */ #define ETHER_TYPE_1588 0x88F7 /**< IEEE 802.1AS 1588 Precise Time Protocol. */ #define ETHER_TYPE_SLOW 0x8809 /**< Slow protocols (LACP and Marker). */ +#define ETHER_TYPE_TEB 0x6558 /**< Transparent Ethernet Bridging. */ #define ETHER_VXLAN_HLEN (sizeof(struct udp_hdr) + sizeof(struct vxlan_hdr)) /**< VXLAN tunnel header length. */ -- 1.7.7.6