aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaor Dickman <maord@nvidia.com>2021-12-09 14:03:01 +0200
committerSaeed Mahameed <saeedm@nvidia.com>2022-01-06 16:22:53 -0800
commit7846665d3504812acaebf920d1141851379a7f37 (patch)
tree1f510c210e4ffba8bee8c7e6dc113ba835e00c22
parent0a1498ebfa55b860e8ec929d73585bcd3fd81a4e (diff)
downloadmac80211-next-7846665d3504812acaebf920d1141851379a7f37.tar.gz
net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager
When using libvirt to passthrough VF to VM it will always set the VF vlan to 0 even if user didn’t request it, this will cause libvirt to fail to boot in case the PF isn't eswitch owner. Example of such case is the DPU host PF which isn't eswitch manager, so any attempt to passthrough VF of it using libvirt will fail. Fix it by not returning error in case set VF vlan is called with vid 0. Signed-off-by: Maor Dickman <maord@nvidia.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
index 2b52f7c0915289..9d17206d162519 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
@@ -431,7 +431,7 @@ int mlx5_eswitch_set_vport_vlan(struct mlx5_eswitch *esw,
int err = 0;
if (!mlx5_esw_allowed(esw))
- return -EPERM;
+ return vlan ? -EPERM : 0;
if (vlan || qos)
set_flags = SET_VLAN_STRIP | SET_VLAN_INSERT;