|
Thomas Bogendoerfer |
d8ed44 |
From: Maor Dickman <maord@nvidia.com>
|
|
Thomas Bogendoerfer |
d8ed44 |
Date: Mon, 3 Jan 2022 15:04:18 +0200
|
|
Thomas Bogendoerfer |
d8ed44 |
Subject: net/mlx5e: Sync VXLAN udp ports during uplink representor profile
|
|
Thomas Bogendoerfer |
d8ed44 |
change
|
|
Thomas Bogendoerfer |
d8ed44 |
Patch-mainline: v5.17-rc1
|
|
Thomas Bogendoerfer |
d8ed44 |
Git-commit: 07f6dc4024ea1d2314b9c8b81fd4e492864fcca1
|
|
Thomas Bogendoerfer |
d8ed44 |
References: git-fixes
|
|
Thomas Bogendoerfer |
d8ed44 |
|
|
Thomas Bogendoerfer |
d8ed44 |
Currently during NIC profile disablement all VXLAN udp ports offloaded to the
|
|
Thomas Bogendoerfer |
d8ed44 |
HW are flushed and during its enablement the driver send notification to
|
|
Thomas Bogendoerfer |
d8ed44 |
the stack to inform the core that the entire UDP tunnel port state has been
|
|
Thomas Bogendoerfer |
d8ed44 |
lost, uplink representor doesn't have the same behavior which can cause
|
|
Thomas Bogendoerfer |
d8ed44 |
VXLAN udp ports offload to be in bad state while moving between modes while
|
|
Thomas Bogendoerfer |
d8ed44 |
VXLAN interface exist.
|
|
Thomas Bogendoerfer |
d8ed44 |
|
|
Thomas Bogendoerfer |
d8ed44 |
Fixed by aligning the uplink representor profile behavior to the NIC behavior.
|
|
Thomas Bogendoerfer |
d8ed44 |
|
|
Thomas Bogendoerfer |
d8ed44 |
Fixes: 84db66124714 ("net/mlx5e: Move set vxlan nic info to profile init")
|
|
Thomas Bogendoerfer |
d8ed44 |
Signed-off-by: Maor Dickman <maord@nvidia.com>
|
|
Thomas Bogendoerfer |
d8ed44 |
Reviewed-by: Roi Dayan <roid@nvidia.com>
|
|
Thomas Bogendoerfer |
d8ed44 |
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
|
|
Thomas Bogendoerfer |
d8ed44 |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
d8ed44 |
---
|
|
Thomas Bogendoerfer |
d8ed44 |
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 3 +++
|
|
Thomas Bogendoerfer |
d8ed44 |
1 file changed, 3 insertions(+)
|
|
Thomas Bogendoerfer |
d8ed44 |
|
|
Thomas Bogendoerfer |
d8ed44 |
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
|
|
Thomas Bogendoerfer |
d8ed44 |
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
|
|
Thomas Bogendoerfer |
d8ed44 |
@@ -50,6 +50,7 @@
|
|
Thomas Bogendoerfer |
d8ed44 |
#include "fs_core.h"
|
|
Thomas Bogendoerfer |
d8ed44 |
#include "lib/mlx5.h"
|
|
Thomas Bogendoerfer |
d8ed44 |
#include "lib/devcom.h"
|
|
Thomas Bogendoerfer |
d8ed44 |
+#include "lib/vxlan.h"
|
|
Thomas Bogendoerfer |
d8ed44 |
#define CREATE_TRACE_POINTS
|
|
Thomas Bogendoerfer |
d8ed44 |
#include "diag/en_rep_tracepoint.h"
|
|
Thomas Bogendoerfer |
d8ed44 |
#include "en_accel/ipsec.h"
|
|
Thomas Bogendoerfer |
d8ed44 |
@@ -1027,6 +1028,7 @@ static void mlx5e_uplink_rep_enable(stru
|
|
Thomas Bogendoerfer |
d8ed44 |
rtnl_lock();
|
|
Thomas Bogendoerfer |
d8ed44 |
if (netif_running(netdev))
|
|
Thomas Bogendoerfer |
d8ed44 |
mlx5e_open(netdev);
|
|
Thomas Bogendoerfer |
d8ed44 |
+ udp_tunnel_nic_reset_ntf(priv->netdev);
|
|
Thomas Bogendoerfer |
d8ed44 |
netif_device_attach(netdev);
|
|
Thomas Bogendoerfer |
d8ed44 |
rtnl_unlock();
|
|
Thomas Bogendoerfer |
d8ed44 |
}
|
|
Thomas Bogendoerfer |
d8ed44 |
@@ -1048,6 +1050,7 @@ static void mlx5e_uplink_rep_disable(str
|
|
Thomas Bogendoerfer |
d8ed44 |
mlx5_notifier_unregister(mdev, &priv->events_nb);
|
|
Thomas Bogendoerfer |
d8ed44 |
mlx5e_rep_tc_disable(priv);
|
|
Thomas Bogendoerfer |
d8ed44 |
mlx5_lag_remove_netdev(mdev, priv->netdev);
|
|
Thomas Bogendoerfer |
d8ed44 |
+ mlx5_vxlan_reset_to_default(mdev->vxlan);
|
|
Thomas Bogendoerfer |
d8ed44 |
}
|
|
Thomas Bogendoerfer |
d8ed44 |
|
|
Thomas Bogendoerfer |
d8ed44 |
static MLX5E_DEFINE_STATS_GRP(sw_rep, 0);
|