[dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action
Viacheslav Ovsiienko
viacheslavo at mellanox.com
Thu Nov 14 09:56:36 CET 2019
The kernel driver (starting from OFED 4.7.3.1.3) uses the upper half
of metadata register C0 to provide VHCA and vport id's. The mlx5 PMD
should check the actual mask of register C0 and shift the vport id
value for port actions appropriately.
Fixes: f07341e7aed3 ("net/mlx5: update source and destination vport translations")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
---
drivers/net/mlx5/mlx5_flow_dv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 2094e18..5a0cd09 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -6532,7 +6532,8 @@ struct field_modify_info modify_tcp[] = {
NULL,
"No eswitch info was found for port");
if (priv->vport_meta_mask)
- *dst_port_id = priv->vport_meta_tag;
+ *dst_port_id = priv->vport_meta_tag >>
+ rte_bsf32(priv->vport_meta_mask);
else
*dst_port_id = priv->vport_id;
return 0;
--
1.8.3.1
More information about the dev
mailing list