On Sun, 16 Aug 2020 10:15:03 +0000 Shiri Kuzin <shi...@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 <shi...@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