From: Balakrishnan Raman <ram...@cumulusnetworks.com> 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 <ram...@cumulusnetworks.com> Signed-off-by: Roopa Prabhu <ro...@cumulusnetworks.com> --- 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