Subject: Re: [PATCH cumulus-4.1.y 1/5] vxlan: flush fdb entries on oper down

From: Stephen Hemminger <[email-masked]>
Date: Mon, 23 Jan 2017 08:59:45 -0800

On Fri, 20 Jan 2017 23:40:06 -0800
Roopa Prabhu <[email-masked]> 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.