net/mlx5: fix metadata item validation for ingress flows
In legacy metadata mode the metadata register B is engaged to handle the metadata item. In the ingress domain the hardware supports the register setting only, the match on register B is not supported. Due to this limitation only the SET_META action can be supported for the ingress flows, the META item should be rejected on flow validation. Fixes: 5f3541724e08 ("net/mlx5: fix flow META item validation") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
This commit is contained in:
parent
dd9e9d5491
commit
aa1c17f1d8
@ -1960,13 +1960,20 @@ 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,
|
||||
} 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 (attr->ingress)
|
||||
return rte_flow_error_set(error, ENOTSUP,
|
||||
RTE_FLOW_ERROR_TYPE_ITEM, item,
|
||||
"match on metadata for ingress "
|
||||
"is not supported in legacy "
|
||||
"metadata mode");
|
||||
}
|
||||
if (!mask)
|
||||
mask = &rte_flow_item_meta_mask;
|
||||
|
Loading…
x
Reference in New Issue
Block a user