> -----Original Message----- > From: Xiaoyu Min <jack...@mellanox.com> > Sent: Tuesday, July 2, 2019 12:46 PM > To: Ori Kam <or...@mellanox.com>; Adrien Mazarguil > <adrien.mazarg...@6wind.com>; John McNamara > <john.mcnam...@intel.com>; Marko Kovacevic > <marko.kovace...@intel.com>; Thomas Monjalon <tho...@monjalon.net>; > Ferruh Yigit <ferruh.yi...@intel.com>; Andrew Rybchenko > <arybche...@solarflare.com> > Cc: dev@dpdk.org > Subject: [Suspected-Phishing][PATCH v4 1/4] ethdev: add GRE key field to flow > API > > Add new rte_flow_item_gre_key in order to match the optional key field. > > Signed-off-by: Xiaoyu Min <jack...@mellanox.com> > --- Acked-by: Ori Kam <or...@mellanox.com> Thanks, Ori Kam. > doc/guides/prog_guide/rte_flow.rst | 8 ++++++++ > lib/librte_ethdev/rte_flow.c | 1 + > lib/librte_ethdev/rte_flow.h | 7 +++++++ > 3 files changed, 16 insertions(+) > > diff --git a/doc/guides/prog_guide/rte_flow.rst > b/doc/guides/prog_guide/rte_flow.rst > index a34d012e55..f4b7baa3c3 100644 > --- a/doc/guides/prog_guide/rte_flow.rst > +++ b/doc/guides/prog_guide/rte_flow.rst > @@ -980,6 +980,14 @@ Matches a GRE header. > - ``protocol``: protocol type. > - Default ``mask`` matches protocol only. > > +Item: ``GRE_KEY`` > +^^^^^^^^^^^^^^^^^ > + > +Matches a GRE key field. > +This should be preceded by item ``GRE`` > + > +- Value to be matched is a big-endian 32 bit integer > + > Item: ``FUZZY`` > ^^^^^^^^^^^^^^^ > > diff --git a/lib/librte_ethdev/rte_flow.c b/lib/librte_ethdev/rte_flow.c > index 3277be1edb..f3e56d0bbe 100644 > --- a/lib/librte_ethdev/rte_flow.c > +++ b/lib/librte_ethdev/rte_flow.c > @@ -55,6 +55,7 @@ static const struct rte_flow_desc_data > rte_flow_desc_item[] = { > MK_FLOW_ITEM(NVGRE, sizeof(struct rte_flow_item_nvgre)), > MK_FLOW_ITEM(MPLS, sizeof(struct rte_flow_item_mpls)), > MK_FLOW_ITEM(GRE, sizeof(struct rte_flow_item_gre)), > + MK_FLOW_ITEM(GRE_KEY, sizeof(rte_be32_t)), > MK_FLOW_ITEM(FUZZY, sizeof(struct rte_flow_item_fuzzy)), > MK_FLOW_ITEM(GTP, sizeof(struct rte_flow_item_gtp)), > MK_FLOW_ITEM(GTPC, sizeof(struct rte_flow_item_gtp)), > diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h > index f3a8fb103f..5d3702a44c 100644 > --- a/lib/librte_ethdev/rte_flow.h > +++ b/lib/librte_ethdev/rte_flow.h > @@ -289,6 +289,13 @@ enum rte_flow_item_type { > */ > RTE_FLOW_ITEM_TYPE_GRE, > > + /** > + * Matches a GRE optional key field. > + * > + * The value should a big-endian 32bit integer. > + */ > + RTE_FLOW_ITEM_TYPE_GRE_KEY, > + > /** > * [META] > * > -- > 2.21.0