net/mlx5: fix the uplink port probing in bond mode
Checks
Commit Message
In the HW-LAG bonding mode, the representor port can be from both
slave PFs. When probing a representor (REP), the UPLINK (proxy) port
always needs to be probed firstly before any REP port.
In the current implementation, when probing a device with the
following format:
-a 0000:XX:00.0,dv_flow_en=N,representor=pf1vfy
Since the REP belongs to the 2nd PF in the bonding, the UPLINK would
not be added into the probing ports list.
1. In dv_flow_en=1 mode, the REP itself can be probed. But it didn't
obey the rules and the behaviors were inconsistent.
a. When probing the REP from 1st PFs, the UPLINK was also probed.
b. When detaching the UPLINK, all REPs were detached.
2. In dv_flow_en=2 mode, since some resources can only be allocated /
created on the proxy port, the probing would get a failure.
By removing the unneeded check of the bonding PF device index, the
UPLINK will always try to be probed with any format.
Fixes: 2e569a370395 ("net/mlx5: add VF LAG mode bonding device recognition")
Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/linux/mlx5_os.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
Hi,
From: Bing Zhao <bingz@nvidia.com>
Sent: Wednesday, July 17, 2024 7:35 PM
To: Slava Ovsiienko; dev@dpdk.org; Raslan Darawsheh
Cc: Ori Kam; Dariusz Sosnowski; Suanming Mou; Matan Azrad
Subject: [PATCH] net/mlx5: fix the uplink port probing in bond mode
In the HW-LAG bonding mode, the representor port can be from both
slave PFs. When probing a representor (REP), the UPLINK (proxy) port
always needs to be probed firstly before any REP port.
In the current implementation, when probing a device with the
following format:
-a 0000:XX:00.0,dv_flow_en=N,representor=pf1vfy
Since the REP belongs to the 2nd PF in the bonding, the UPLINK would
not be added into the probing ports list.
1. In dv_flow_en=1 mode, the REP itself can be probed. But it didn't
obey the rules and the behaviors were inconsistent.
a. When probing the REP from 1st PFs, the UPLINK was also probed.
b. When detaching the UPLINK, all REPs were detached.
2. In dv_flow_en=2 mode, since some resources can only be allocated /
created on the proxy port, the probing would get a failure.
By removing the unneeded check of the bonding PF device index, the
UPLINK will always try to be probed with any format.
Fixes: 2e569a370395 ("net/mlx5: add VF LAG mode bonding device recognition")
Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
@@ -2473,8 +2473,7 @@ mlx5_os_pci_probe_pf(struct mlx5_common_device *cdev,
list[ns].info.master = 0;
list[ns].info.representor = 0;
}
- if (list[ns].info.port_name == bd)
- ns++;
+ ns++;
break;
case MLX5_PHYS_PORT_NAME_TYPE_PFHPF:
/* Fallthrough */