vlan: allow creating vlan when real device is not up
authorStephen Hemminger <shemminger@vyatta.com>
Thu, 30 Jul 2009 20:16:45 +0000 (13:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Jul 2009 20:16:45 +0000 (13:16 -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>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/8021q/vlan.c

index 6d37b7e..a1f1630 100644 (file)
@@ -225,12 +225,6 @@ int vlan_check_real_dev(struct net_device *real_dev, u16 vlan_id)
                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;