[dpdk-dev] [RFC] ethdev: introduce GENEVE header extension item

Shiri Kuzin shirik at nvidia.com
Mon Aug 17 08:36:59 CEST 2020


Thanks, PSB.

> -----Original Message-----
> From: Stephen Hemminger <stephen at networkplumber.org>
> Sent: Sunday, August 16, 2020 8:26 PM
> To: Shiri Kuzin <shirik at nvidia.com>
> Cc: dev at dpdk.org; Slava Ovsiienko <viacheslavo at nvidia.com>; NBU-
> Contact-Adrien Mazarguil <adrien.mazarguil at 6wind.com>; Raslan
> Darawsheh <rasland at nvidia.com>
> Subject: Re: [dpdk-dev] [RFC] ethdev: introduce GENEVE header extension
> item
> 
> On Sun, 16 Aug 2020 10:15:03 +0000
> Shiri Kuzin <shirik at nvidia.com> wrote:
> 
> > The Geneve tunneling protocol is designed to allow the user to specify
> > some data context on the packet.
> > The header extension options is the mean intended to present the user
> > data. These ones are implemented in TLV (Type-Length-Value) fashion,
> > in order to support these Geneve protocol feature we will introduce
> > the new item "rte_flow_item_geneve_option"
> >
> > The support for new item will be added to testpmd and include values
> > and masks for the fields:
> > - class
> > - type
> > - data length
> > - data itself
> >
> > The usage example:
> >
> > "flow create 0 ingress pattern ipv4 / udp / geneve / geneve_opt class
> > is 102 type is 80 type mask ff data is 10002 data mask is 7fffffff /
> > end actions drop / end "
> >
> > New item will be added to testpmd to support raw encap/decap action.
> >
> > Signed-off-by: Shiri Kuzin <shirik at nvidia.com>
> > ---
> >  lib/librte_ethdev/rte_flow.h | 25 +++++++++++++++++++++++++
> >  1 file changed, 25 insertions(+)
> >
> > diff --git a/lib/librte_ethdev/rte_flow.h
> > b/lib/librte_ethdev/rte_flow.h index da8bfa5..d04ee7c 100644
> > --- a/lib/librte_ethdev/rte_flow.h
> > +++ b/lib/librte_ethdev/rte_flow.h
> > @@ -347,6 +347,13 @@ enum rte_flow_item_type {
> >  	RTE_FLOW_ITEM_TYPE_GENEVE,
> >
> >  	/**
> > +	 * Matches a GENEVE Variable Length Option.
> > +	 *
> > +	 * See struct rte_flow_item_geneve_option.
> > +	 */
> > +	RTE_FLOW_ITEM_TYPE_GENEVE_OPTION,
> > +
> > +	/**
> 
> Please don't break ABI by putting items in middle of enum.
> New items should go at the end.
> enum changes the val

Yes, thank you for the note.
I will move it to the end of the enum.



More information about the dev mailing list