vlan: allow creating vlan when real device is not up

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>
This commit is contained in:
Stephen Hemminger 2009-07-30 13:16:45 -07:00 committed by David S. Miller
parent 573dd788cc
commit b4076d1715

View File

@ -225,12 +225,6 @@ int vlan_check_real_dev(struct net_device *real_dev, u16 vlan_id)
return -EOPNOTSUPP; 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) if (__find_vlan_dev(real_dev, vlan_id) != NULL)
return -EEXIST; return -EEXIST;