From: Balakrishnan Raman <redacted>
Flush fdb entries of a vxlan device when its state
changes to oper down. vxlan_stop handles flush on
admin down.
Signed-off-by: Balakrishnan Raman <redacted>
Signed-off-by: Roopa Prabhu <redacted>
---
drivers/net/vxlan.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 19b1653..15b1c23 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -3276,6 +3276,12 @@ static int vxlan_netdevice_event(struct notifier_block *unused,
vxlan_handle_lowerdev_unregister(vn, dev);
else if (event == NETDEV_UDP_TUNNEL_PUSH_INFO)
vxlan_push_rx_ports(dev);
+ else if (event == NETDEV_CHANGE) {
+ if (dev->netdev_ops == &vxlan_netdev_ops) {
+ if (netif_running(dev) && !netif_oper_up(dev))
+ vxlan_flush(netdev_priv(dev));
+ }
+ }
return NOTIFY_DONE;
}--
1.9.1