mirror of https://gitee.com/openkylin/linux.git
net/mlx5e: Expose same physical switch_id for all representors
Report system_image_guid as the E-Switch switch_id, this ensures that when a NIC contains multiple PCI functions and which has merged eswitch capability, all representors from multiple PFs publish same switch_id. Signed-off-by: Paul Blakey <paulb@mellanox.com> Reviewed-by: Parav Pandit <parav@mellanox.com> Reviewed-by: Roi Dayan <roid@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
a90f88fe55
commit
7ff40a46dd
|
@ -391,30 +391,19 @@ static const struct ethtool_ops mlx5e_uplink_rep_ethtool_ops = {
|
|||
static int mlx5e_rep_get_port_parent_id(struct net_device *dev,
|
||||
struct netdev_phys_item_id *ppid)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(dev);
|
||||
struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;
|
||||
struct net_device *uplink_upper = NULL;
|
||||
struct mlx5e_priv *uplink_priv = NULL;
|
||||
struct net_device *uplink_dev;
|
||||
struct mlx5_eswitch *esw;
|
||||
struct mlx5e_priv *priv;
|
||||
u64 parent_id;
|
||||
|
||||
priv = netdev_priv(dev);
|
||||
esw = priv->mdev->priv.eswitch;
|
||||
|
||||
if (esw->mode == SRIOV_NONE)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
uplink_dev = mlx5_eswitch_uplink_get_proto_dev(esw, REP_ETH);
|
||||
if (uplink_dev) {
|
||||
uplink_upper = netdev_master_upper_dev_get(uplink_dev);
|
||||
uplink_priv = netdev_priv(uplink_dev);
|
||||
}
|
||||
|
||||
ppid->id_len = ETH_ALEN;
|
||||
if (uplink_upper && mlx5_lag_is_sriov(uplink_priv->mdev)) {
|
||||
ether_addr_copy(ppid->id, uplink_upper->dev_addr);
|
||||
} else {
|
||||
struct mlx5e_rep_priv *rpriv = priv->ppriv;
|
||||
struct mlx5_eswitch_rep *rep = rpriv->rep;
|
||||
|
||||
ether_addr_copy(ppid->id, rep->hw_id);
|
||||
}
|
||||
parent_id = mlx5_query_nic_system_image_guid(priv->mdev);
|
||||
ppid->id_len = sizeof(parent_id);
|
||||
memcpy(ppid->id, &parent_id, sizeof(parent_id));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue