[RFC V1 1/1] net: extend VXLAN header to support more extensions
Ajit Khaparde
ajit.khaparde at broadcom.com
Wed Feb 7 05:49:36 CET 2024
On Tue, Feb 6, 2024 at 2:51 PM Thomas Monjalon <thomas at monjalon.net> wrote:
>
> 30/01/2024 12:25, Gavin Li:
> > In this patch, all the VXLAN extension header will be merged with VXLAN as
> > union if the overlapped field has different format among protocols. The
> > existing VXLAN-GPE will be marked as deprecated and new extensions of
> > VXLAN should be added to VXLAN instead of a new RTE item.
>
> So VXLAN GPE, GBP, and original ones will all use the same struct.
> Asking confirmation to other reviewers:
> - do we want to deprecate specific VXLAN GPE?
For start, yes.
> - do we want to plan for VXLAN GPE removal?
Once deprecated, we can remove it.
>
> [...]
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > +* ethdev: The flow item ``RTE_FLOW_ITEM_TYPE_VXLAN_GPE`` is replaced with ``RTE_FLOW_ITEM_TYPE_VXLAN``.
> > + The item ``RTE_FLOW_ITEM_TYPE_VXLAN_GPE``, the struct ``rte_flow_item_vxlan_gpe``, its mask ``rte_flow_item_vxlan_gpe_mask``,
> > + and the header struct ``rte_vxlan_gpe_hdr`` with the macro ``RTE_ETHER_VXLAN_GPE_HLEN``
> > + will be removed in DPDK 25.11.
>
> [...]
> > @@ -38,8 +38,65 @@ struct rte_vxlan_hdr {
> > rte_be32_t vx_vni; /**< VNI (24) + Reserved (8). */
> > };
> > struct {
> > - uint8_t flags; /**< Should be 8 (I flag). */
> > - uint8_t rsvd0[3]; /**< Reserved. */
> > + union {
> > + uint8_t flags; /**< Should be 8 (I flag). */
> > + /* Flag bits defined by GPE */
> > + struct {
> > +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
> > + uint8_t flag_o:1,
> > + flag_b:1,
> > + flag_p:1,
> > + flag_i_gpe:1,
> > + flag_ver:2,
> > + rsvd_gpe:2;
> > +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
> > + uint8_t rsvd_gpe:2,
> > + flag_ver:2,
> > + flag_i_gpe:1,
> > + flag_p:1,
> > + flag_b:1,
> > + flag_o:1;
> > +#endif
> > + };
> > + /* Flag bits defined by GBP */
> > + struct {
> > +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
> > + uint8_t rsvd_gbp1:3,
> > + flag_i_gbp:1,
> > + rsvd_gbp2:3,
> > + flag_g:1;
> > +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
> > + uint8_t flag_g:1,
> > + rsvd_gbp1:3,
> > + flag_i_gbp:1,
> > + rsvd_gbp2:3;
> > +#endif
> > + };
> > + };
> > + union {
> > + uint8_t rsvd0[3]; /**< Reserved. */
> > + /* Overlap with rte_vxlan_gpe_hdr which is deprecated.*/
> > + struct {
> > + uint8_t rsvd0_gpe[2]; /**< Reserved. */
> > + uint8_t proto; /**< Next protocol. */
> > + };
> > + struct {
> > +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
> > + uint8_t rsvd0_gbp1:3,
> > + policy_applied:1,
> > + rsvd0_gbp2:2,
> > + dont_learn:1,
> > + rsvd0_gbp3:1;
> > +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
> > + uint8_t rsvd0_gbp1:1,
> > + dont_learn:1,
> > + rsvd0_gbp2:2,
> > + policy_applied:1,
> > + rsvd0_gbp3:3;
> > +#endif
> > + uint16_t policy_id;
> > + };
> > + };
> > uint8_t vni[3]; /**< VXLAN identifier. */
> > uint8_t rsvd1; /**< Reserved. */
> > };
>
> Naming looks OK.
+1
> Any different opinion?
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4218 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mails.dpdk.org/archives/dev/attachments/20240206/4e87fc04/attachment-0001.bin>
More information about the dev
mailing list