mlxsw: spectrum_nve: Replace error code with EINVAL
Adding a VLAN on a port can trigger the offload of a VXLAN tunnel which
is already a member in the VLAN. In case the configuration of the VXLAN
is not supported, the driver would return -EOPNOTSUPP.
This is problematic since bridge code does not interpret this as error,
but rather that it should try to setup the VLAN using the 8021q driver
instead of switchdev.
Fixes: d70e42b22d
("mlxsw: spectrum: Enable VxLAN enslavement to VLAN-aware bridges")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
457e20d659
Коммит
412283eedc
|
@ -816,14 +816,14 @@ int mlxsw_sp_nve_fid_enable(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_fid *fid,
|
|||
ops = nve->nve_ops_arr[params->type];
|
||||
|
||||
if (!ops->can_offload(nve, params->dev, extack))
|
||||
return -EOPNOTSUPP;
|
||||
return -EINVAL;
|
||||
|
||||
memset(&config, 0, sizeof(config));
|
||||
ops->nve_config(nve, params->dev, &config);
|
||||
if (nve->num_nve_tunnels &&
|
||||
memcmp(&config, &nve->config, sizeof(config))) {
|
||||
NL_SET_ERR_MSG_MOD(extack, "Conflicting NVE tunnels configuration");
|
||||
return -EOPNOTSUPP;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
err = mlxsw_sp_nve_tunnel_init(mlxsw_sp, &config);
|
||||
|
|
Загрузка…
Ссылка в новой задаче