Hi, > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Shy Shyman > Sent: Sunday, June 28, 2020 12:37 PM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@mellanox.com>; Slava Ovsiienko > <viachesl...@mellanox.com>; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] net/mlx5: fix flow META item validation > > When flow is inserted with meta match item it requires a certain > register support. > As part of the flow validation of such flows, the validation > function is missing a check that the mlx5 driver is not in > legacy mode in terms of extended meta data support > (MLX5_XMETA_MODE_LEGACY flag). > If the driver is in legacy mode it will cause downstream > function that allocates needed register for meta data. > > The fix checks explicitly the conditions for support of > meta data in FDB mode. if the conditions are not met > an error message will be issued. > > Fixes: 9bf26e1318 ("ethdev: move egress metadata to dynamic field") > Cc: viachesl...@mellanox.com > Cc: sta...@dpdk.org > > Signed-off-by: Shy Shyman <s...@mellanox.com> > --- > drivers/net/mlx5/mlx5_flow_dv.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/net/mlx5/mlx5_flow_dv.c > b/drivers/net/mlx5/mlx5_flow_dv.c > index 6318bd99cd..e037643c98 100644 > --- a/drivers/net/mlx5/mlx5_flow_dv.c > +++ b/drivers/net/mlx5/mlx5_flow_dv.c > @@ -1479,6 +1479,13 @@ flow_dv_validate_item_meta(struct rte_eth_dev > *dev __rte_unused, > "isn't supported"); > if (reg != REG_A) > nic_mask.data = priv->sh->dv_meta_mask; > + } else if (attr->transfer) { > + return rte_flow_error_set(error, ENOTSUP, > + RTE_FLOW_ERROR_TYPE_ITEM, item, > + "extended metadata feature " > + "should be enabled when " > + "meta item is requested " > + "with e-switch mode "); > } > if (!mask) > mask = &rte_flow_item_meta_mask; > -- > 2.21.0
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh