Subject: Re: [PATCH] net/vlan: withdraw VLAN ID attribute from GVRP on VLAN device stop

From: "Jorge Boncompte [DTI2]" <[email-masked]>
Date: Mon, 26 Mar 2012 13:29:45 +0200

El 26/03/2012 0:43, David Ward escribió:
> When a VLAN device is stopped which has VLAN_FLAG_GVRP set, the VLAN
> ID attribute that was previously declared by GVRP must be withdrawn.
> 

	Hmm, maybe I am missing something but I think it only makes sense to withdrawn
the attribute when you delete the interface, and vlan_dev_stop() it's called if
you just put the interface down. It's better for the network convergence to not
signal the switches just for this. IMHO.

> Signed-off-by: David Ward <[email-masked]>
> ---
>  net/8021q/vlan_dev.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
> index 9988d4a..df86dd0 100644
> --- a/net/8021q/vlan_dev.c
> +++ b/net/8021q/vlan_dev.c
> @@ -319,6 +319,9 @@ static int vlan_dev_stop(struct net_device *dev)
>  	struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
>  	struct net_device *real_dev = vlan->real_dev;
>  
> +	if (vlan->flags & VLAN_FLAG_GVRP)
> +		vlan_gvrp_request_leave(dev);
> +
>  	dev_mc_unsync(real_dev, dev);
>  	dev_uc_unsync(real_dev, dev);
>  	if (dev->flags & IFF_ALLMULTI)