lkml.org 
[lkml]   [2020]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 095/166] net/mlx5e: Fix VXLAN configuration restore after function reload
    Date
    From: Aya Levin <ayal@mellanox.com>

    [ Upstream commit b3c2ed21c0bdf35ba498a9974aa587f99a03b658 ]

    When detaching netdev, remove vxlan port configuration using
    udp_tunnel_drop_rx_info. During function reload, configuration will be
    restored using udp_tunnel_get_rx_info. This ensures sync between
    firmware and driver. Use udp_tunnel_get_rx_info even if its physical
    interface is down.

    Fixes: 4383cfcc65e7 ("net/mlx5: Add devlink reload")
    Signed-off-by: Aya Levin <ayal@mellanox.com>
    Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
    index bd8d0e0960857..02f6b6bd2847c 100644
    --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
    @@ -3076,9 +3076,6 @@ int mlx5e_open(struct net_device *netdev)
    mlx5_set_port_admin_status(priv->mdev, MLX5_PORT_UP);
    mutex_unlock(&priv->state_lock);

    - if (mlx5_vxlan_allowed(priv->mdev->vxlan))
    - udp_tunnel_get_rx_info(netdev);
    -
    return err;
    }

    @@ -5207,6 +5204,8 @@ static void mlx5e_nic_enable(struct mlx5e_priv *priv)
    rtnl_lock();
    if (netif_running(netdev))
    mlx5e_open(netdev);
    + if (mlx5_vxlan_allowed(priv->mdev->vxlan))
    + udp_tunnel_get_rx_info(netdev);
    netif_device_attach(netdev);
    rtnl_unlock();
    }
    @@ -5223,6 +5222,8 @@ static void mlx5e_nic_disable(struct mlx5e_priv *priv)
    rtnl_lock();
    if (netif_running(priv->netdev))
    mlx5e_close(priv->netdev);
    + if (mlx5_vxlan_allowed(priv->mdev->vxlan))
    + udp_tunnel_drop_rx_info(priv->netdev);
    netif_device_detach(priv->netdev);
    rtnl_unlock();

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-07-14 20:59    [W:4.225 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site