DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action
@ 2019-11-14  8:56 Viacheslav Ovsiienko
  2019-11-14 12:05 ` Matan Azrad
  2019-11-14 12:25 ` Raslan Darawsheh
  0 siblings, 2 replies; 3+ messages in thread
From: Viacheslav Ovsiienko @ 2019-11-14  8:56 UTC (permalink / raw)
  To: dev; +Cc: matan, rasland, orika

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@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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action
  2019-11-14  8:56 [dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action Viacheslav Ovsiienko
@ 2019-11-14 12:05 ` Matan Azrad
  2019-11-14 12:25 ` Raslan Darawsheh
  1 sibling, 0 replies; 3+ messages in thread
From: Matan Azrad @ 2019-11-14 12:05 UTC (permalink / raw)
  To: Slava Ovsiienko, dev; +Cc: Raslan Darawsheh, Ori Kam



From: Viacheslav Ovsiienko 
> 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@mellanox.com>

Acked-by: Matan Azrad <matan@mellanox.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action
  2019-11-14  8:56 [dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action Viacheslav Ovsiienko
  2019-11-14 12:05 ` Matan Azrad
@ 2019-11-14 12:25 ` Raslan Darawsheh
  1 sibling, 0 replies; 3+ messages in thread
From: Raslan Darawsheh @ 2019-11-14 12:25 UTC (permalink / raw)
  To: Slava Ovsiienko, dev; +Cc: Matan Azrad, Ori Kam

Hi,

> -----Original Message-----
> From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> Sent: Thursday, November 14, 2019 10:57 AM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; Ori Kam <orika@mellanox.com>
> Subject: [PATCH] net/mlx5: fix vport id value in port id action
> 
> 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@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


Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-11-14 12:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-14  8:56 [dpdk-dev] [PATCH] net/mlx5: fix vport id value in port id action Viacheslav Ovsiienko
2019-11-14 12:05 ` Matan Azrad
2019-11-14 12:25 ` Raslan Darawsheh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).