Patchwork vlan: allow creating vlan when real device is not up

login
register
mail settings
Submitter stephen hemminger
Date July 30, 2009, 6:23 p.m.
Message ID <20090730112321.35753739@nehalam>
Download mbox | patch
Permalink /patch/30393/
State Accepted
Delegated to: David Miller
Headers show

Comments

stephen hemminger - July 30, 2009, 6:23 p.m.
There is no reason for the arbitrary restriction that device must be
up to create a vlan. This patch was added to Vyatta kernel to resolve startup
ordering issues where vlan's are created but real device was disabled.

Note: the vlan already correctly inherits the operstate from real device; so
if vlan is created and real device is marked down, the vlan is marked
down.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - July 30, 2009, 8:17 p.m.
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Thu, 30 Jul 2009 11:23:21 -0700

> There is no reason for the arbitrary restriction that device must be
> up to create a vlan. This patch was added to Vyatta kernel to resolve startup
> ordering issues where vlan's are created but real device was disabled.
> 
> Note: the vlan already correctly inherits the operstate from real device; so
> if vlan is created and real device is marked down, the vlan is marked
> down.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Looks fine, added to net-next-2.6

We can revert if Patrick or someone else finds a potential problem
with allowing this.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Patrick McHardy - July 31, 2009, 12:16 p.m.
David Miller wrote:
> From: Stephen Hemminger <shemminger@vyatta.com>
> Date: Thu, 30 Jul 2009 11:23:21 -0700
> 
>> There is no reason for the arbitrary restriction that device must be
>> up to create a vlan. This patch was added to Vyatta kernel to resolve startup
>> ordering issues where vlan's are created but real device was disabled.
>>
>> Note: the vlan already correctly inherits the operstate from real device; so
>> if vlan is created and real device is marked down, the vlan is marked
>> down.
>>
>> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> 
> Looks fine, added to net-next-2.6
> 
> We can revert if Patrick or someone else finds a potential problem
> with allowing this.

It seems perfectly fine to me, we can get to the same state by
setting the lower device down after creating the VLAN device.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- a/net/8021q/vlan.c	2009-07-30 11:15:34.983190412 -0700
+++ b/net/8021q/vlan.c	2009-07-30 11:16:03.590055942 -0700
@@ -225,12 +225,6 @@  int vlan_check_real_dev(struct net_devic
 		return -EOPNOTSUPP;
 	}
 
-	/* The real device must be up and operating in order to
-	 * assosciate a VLAN device with it.
-	 */
-	if (!(real_dev->flags & IFF_UP))
-		return -ENETDOWN;
-
 	if (__find_vlan_dev(real_dev, vlan_id) != NULL)
 		return -EEXIST;