patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] net/mlx5: fix switchdev mode recognition
@ 2021-06-11 15:37 Viacheslav Ovsiienko
  2021-06-13  9:12 ` Matan Azrad
  2021-06-15 11:01 ` Raslan Darawsheh
  0 siblings, 2 replies; 3+ messages in thread
From: Viacheslav Ovsiienko @ 2021-06-11 15:37 UTC (permalink / raw)
  To: dev; +Cc: rasland, matan, stable

The new kernels might add the switch_id attribute to the
Netlink replies and this caused the wrong recognition
of the E-Switch presence. The single uplink device was
erroneously recognized as master and it caused the
extending match for source vport index on all installed
flows, including the default ones, and adding extra hops
in the steering engine, that affected the maximal
throughput packet rate.

The extra check for the new device name format (it supposes
the new kernel) and the device is only one is added. If this
check succeeds the E-Switch presence is considered as wrongly
detected and overridden.

Fixes: 30a86157f6d5 ("net/mlx5: support PF representor")
Cc: stable@dpdk.org

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_os.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 54e4a1fe60..92b3009786 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -2290,6 +2290,18 @@ mlx5_os_pci_probe_pf(struct rte_pci_device *pci_dev,
 			ret = -rte_errno;
 			goto exit;
 		}
+		/*
+		 * New kernels may add the switch_id attribute for the case
+		 * there is no E-Switch and we wrongly recognized the
+		 * only device as master. Override this if there is the
+		 * single device with single port and new device name
+		 * format present.
+		 */
+		if (nd == 1 &&
+		    list[0].info.name_type == MLX5_PHYS_PORT_NAME_TYPE_UPLINK) {
+			list[0].info.master = 0;
+			list[0].info.representor = 0;
+		}
 	}
 	MLX5_ASSERT(ns);
 	/*
-- 
2.18.1


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

* Re: [dpdk-stable] [PATCH] net/mlx5: fix switchdev mode recognition
  2021-06-11 15:37 [dpdk-stable] [PATCH] net/mlx5: fix switchdev mode recognition Viacheslav Ovsiienko
@ 2021-06-13  9:12 ` Matan Azrad
  2021-06-15 11:01 ` Raslan Darawsheh
  1 sibling, 0 replies; 3+ messages in thread
From: Matan Azrad @ 2021-06-13  9:12 UTC (permalink / raw)
  To: Slava Ovsiienko, dev; +Cc: Raslan Darawsheh, stable



From: Slava Ovsiienko
> The new kernels might add the switch_id attribute to the Netlink replies and
> this caused the wrong recognition of the E-Switch presence. The single uplink
> device was erroneously recognized as master and it caused the extending
> match for source vport index on all installed flows, including the default ones,
> and adding extra hops in the steering engine, that affected the maximal
> throughput packet rate.
> 
> The extra check for the new device name format (it supposes the new
> kernel) and the device is only one is added. If this check succeeds the E-
> Switch presence is considered as wrongly detected and overridden.
> 
> Fixes: 30a86157f6d5 ("net/mlx5: support PF representor")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>

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

* Re: [dpdk-stable] [PATCH] net/mlx5: fix switchdev mode recognition
  2021-06-11 15:37 [dpdk-stable] [PATCH] net/mlx5: fix switchdev mode recognition Viacheslav Ovsiienko
  2021-06-13  9:12 ` Matan Azrad
@ 2021-06-15 11:01 ` Raslan Darawsheh
  1 sibling, 0 replies; 3+ messages in thread
From: Raslan Darawsheh @ 2021-06-15 11:01 UTC (permalink / raw)
  To: Slava Ovsiienko, dev; +Cc: Matan Azrad, stable

Hi,

> -----Original Message-----
> From: Slava Ovsiienko <viacheslavo@nvidia.com>
> Sent: Friday, June 11, 2021 6:37 PM
> To: dev@dpdk.org
> Cc: Raslan Darawsheh <rasland@nvidia.com>; Matan Azrad
> <matan@nvidia.com>; stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix switchdev mode recognition
> 
> The new kernels might add the switch_id attribute to the Netlink replies and
> this caused the wrong recognition of the E-Switch presence. The single uplink
> device was erroneously recognized as master and it caused the extending
> match for source vport index on all installed flows, including the default ones,
> and adding extra hops in the steering engine, that affected the maximal
> throughput packet rate.
> 
> The extra check for the new device name format (it supposes the new
> kernel) and the device is only one is added. If this check succeeds the E-
> Switch presence is considered as wrongly detected and overridden.
> 
> Fixes: 30a86157f6d5 ("net/mlx5: support PF representor")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

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

end of thread, other threads:[~2021-06-15 11:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-11 15:37 [dpdk-stable] [PATCH] net/mlx5: fix switchdev mode recognition Viacheslav Ovsiienko
2021-06-13  9:12 ` Matan Azrad
2021-06-15 11:01 ` Raslan Darawsheh

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git