From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mohammad Abdul Awal Subject: Re: [PATCH 03/18] ethdev: introduce new tunnel VXLAN-GPE Date: Tue, 27 Feb 2018 15:25:44 +0000 Message-ID: <33cfc1d3-7237-6af8-70fc-ab754546e023@intel.com> References: <20180226150947.107179-1-xuemingl@mellanox.com> <20180226150947.107179-4-xuemingl@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit To: dev@dpdk.org Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 98C3E1041 for ; Tue, 27 Feb 2018 16:25:47 +0100 (CET) In-Reply-To: <20180226150947.107179-4-xuemingl@mellanox.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 26/02/2018 15:09, Xueming Li wrote: > diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h > index 45daa91..fe02ad8 100644 > --- a/lib/librte_net/rte_ether.h > +++ b/lib/librte_net/rte_ether.h > @@ -310,6 +310,31 @@ struct vxlan_hdr { > /**< VXLAN tunnel header length. */ > > /** > + * VXLAN-GPE protocol header. > + * Contains the 8-bit flag, 8-bit next-protocol, 24-bit VXLAN Network > + * Identifier and Reserved fields (16 bits and 8 bits). > + */ > +struct vxlan_gpe_hdr { > + uint8_t vx_flags; /**< flag (8). */ > + uint8_t reserved[2]; /**< Reserved (16). */ > + uint8_t proto; /**< next-protocol (8). */ > + uint32_t vx_vni; /**< VNI (24) + Reserved (8). */ > +} __attribute__((__packed__)); > + > +/* VXLAN-GPE next protocol types */ > +#define VXLAN_GPE_TYPE_IPv4 1 /**< IPv4 Protocol. */ > +#define VXLAN_GPE_TYPE_IPv6 2 /**< IPv6 Protocol. */ > +#define VXLAN_GPE_TYPE_ETH 3 /**< Ethernet Protocol. */ > +#define VXLAN_GPE_TYPE_NSH 4 /**< NSH Protocol. */ > +#define VXLAN_GPE_TYPE_MPLS 5 /**< MPLS Protocol. */ > +#define VXLAN_GPE_TYPE_GBP 6 /**< GBP Protocol. */ > +#define VXLAN_GPE_TYPE_VBNG 7 /**< vBNG Protocol. */ > + > +#define ETHER_VXLAN_GPE_HLEN (sizeof(struct udp_hdr) + \ > + sizeof(struct vxlan_gpe_hdr)) > +/**< VXLAN-GPE tunnel header length. */ > + > +/** > * Extract VLAN tag information into mbuf > * > * Software version of VLAN stripping Should we define the VXLAN-GPE protocol and related macros in a separate file (say lib/librte_net/rte_vxlan_gpe.h)? I can see that VXLAN header also defined in the rte_ether.h file but we should consider moving that VXLAN definition in a separate header file (rte_vxlan.h) as well. Regards, Awal.