net/mlx5: generate bonding device name
If device is VF LAG bonding one the port name includes the bonding Infiniband device name and looks like: 82:00.0_mlx5_bond_0 - for master device port PF0 82:00.1_mlx5_bond_0_representor_5 - for representor VF5 over PF1 where bonding Infiniband device mlx5_bond_0 controls the 82:00.0 as PF0 and 82:00.1 as PF1 PCI functions. Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
This commit is contained in:
parent
2e569a3703
commit
10dadfcb8a
@ -1584,11 +1584,23 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
|
||||
}
|
||||
}
|
||||
/* Build device name. */
|
||||
if (!switch_info->representor)
|
||||
strlcpy(name, dpdk_dev->name, sizeof(name));
|
||||
else
|
||||
snprintf(name, sizeof(name), "%s_representor_%u",
|
||||
dpdk_dev->name, switch_info->port_name);
|
||||
if (spawn->pf_bond < 0) {
|
||||
/* Single device. */
|
||||
if (!switch_info->representor)
|
||||
strlcpy(name, dpdk_dev->name, sizeof(name));
|
||||
else
|
||||
snprintf(name, sizeof(name), "%s_representor_%u",
|
||||
dpdk_dev->name, switch_info->port_name);
|
||||
} else {
|
||||
/* Bonding device. */
|
||||
if (!switch_info->representor)
|
||||
snprintf(name, sizeof(name), "%s_%s",
|
||||
dpdk_dev->name, spawn->ibv_dev->name);
|
||||
else
|
||||
snprintf(name, sizeof(name), "%s_%s_representor_%u",
|
||||
dpdk_dev->name, spawn->ibv_dev->name,
|
||||
switch_info->port_name);
|
||||
}
|
||||
/* check if the device is already spawned */
|
||||
if (rte_eth_dev_get_port_by_name(name, &port_id) == 0) {
|
||||
rte_errno = EEXIST;
|
||||
|
Loading…
x
Reference in New Issue
Block a user