For consideration, this patch seems to work for me. I'm not sure
why we ever listed to these events. I've only tested on a NIC that
doesn't support hw-accel at the moment..will test with e1000 later.
Thanks,
Ben
--
Ben Greear <[EMAIL PROTECTED]>
Candela Technologies Inc http://www.candelatech.com
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. */