diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index c4209c8..acbf0ff 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -615,6 +615,11 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event, } break; +#if 0 + /* Don't propagate management state from base dev to VLANs. If you do this, + * then if you 'ifconfig eth0 down; ifconfig eth0 up', you also lose all the + * routes for eth0.* VLANs. --Ben + */ case NETDEV_DOWN: /* Put all VLANs for this dev in the down state too. */ for (i = 0; i < VLAN_GROUP_ARRAY_LEN; i++) { @@ -644,6 +649,7 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event, dev_change_flags(vlandev, flgs | IFF_UP); } break; +#endif case NETDEV_UNREGISTER: /* Delete all VLANs for this dev. */