Commit b3c2ed21 authored by Aya Levin's avatar Aya Levin Committed by Saeed Mahameed
Browse files

net/mlx5e: Fix VXLAN configuration restore after function reload



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: 4383cfcc ("net/mlx5: Add devlink reload")
Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
Reviewed-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent c1aea9e1
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -3104,9 +3104,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;
}

@@ -5202,6 +5199,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();
}
@@ -5216,6 +5215,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();