On Fri, 20 Jan 2017 23:40:06 -0800 Roopa Prabhu <ro...@cumulusnetworks.com> wrote:
> 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)); > + } > + } Looks correct. Maybe logic would be clearer with a switch() statement here.