Add more extack messages that let the user know why VXLAN offload
failed.

Signed-off-by: Ido Schimmel <ido...@mellanox.com>
Suggested-by: David Ahern <dsah...@gmail.com>
Cc: David Ahern <dsah...@gmail.com>
---
 .../net/ethernet/mellanox/mlxsw/spectrum_switchdev.c   | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c 
b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
index 0f4e68d31cc3..a4a9fe992193 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
@@ -2027,6 +2027,7 @@ mlxsw_sp_bridge_8021q_vxlan_join(struct 
mlxsw_sp_bridge_device *bridge_device,
                return 0;
 
        if (mlxsw_sp_fid_vni_is_set(fid)) {
+               NL_SET_ERR_MSG_MOD(extack, "VNI is already set on FID");
                err = -EINVAL;
                goto err_vni_exists;
        }
@@ -2213,10 +2214,13 @@ mlxsw_sp_bridge_8021d_vxlan_join(struct 
mlxsw_sp_bridge_device *bridge_device,
        int err;
 
        fid = mlxsw_sp_fid_8021d_lookup(mlxsw_sp, bridge_device->dev->ifindex);
-       if (!fid)
+       if (!fid) {
+               NL_SET_ERR_MSG_MOD(extack, "Did not find a corresponding FID");
                return -EINVAL;
+       }
 
        if (mlxsw_sp_fid_vni_is_set(fid)) {
+               NL_SET_ERR_MSG_MOD(extack, "VNI is already set on FID");
                err = -EINVAL;
                goto err_vni_exists;
        }
@@ -3231,8 +3235,10 @@ mlxsw_sp_switchdev_vxlan_vlan_add(struct mlxsw_sp 
*mlxsw_sp,
         * the lookup function to return 'vxlan_dev'
         */
        if (flag_untagged && flag_pvid &&
-           mlxsw_sp_bridge_8021q_vxlan_dev_find(bridge_device->dev, vid))
+           mlxsw_sp_bridge_8021q_vxlan_dev_find(bridge_device->dev, vid)) {
+               NL_SET_ERR_MSG_MOD(extack, "VLAN already mapped to a different 
VNI");
                return -EINVAL;
+       }
 
        if (!netif_running(vxlan_dev))
                return 0;
-- 
2.20.1

Reply via email to