summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2007-11-10 21:51:40 -0800
committerDavid S. Miller <davem@davemloft.net>2007-11-10 21:51:40 -0800
commitd932e04a5e7b146c5f9bf517714b986a432a7594 (patch)
treee58b68ba98068db9a8c60c096387d59657d85222 /net
parent358352b8b83c67ecf75f6d7bc3e2d64bf0cf506a (diff)
downloadlinux-d932e04a5e7b146c5f9bf517714b986a432a7594.tar.gz
linux-d932e04a5e7b146c5f9bf517714b986a432a7594.tar.bz2
linux-d932e04a5e7b146c5f9bf517714b986a432a7594.zip
[VLAN]: Don't synchronize addresses while the vlan device is down
While the VLAN device is down, the unicast addresses are not configured on the underlying device, so we shouldn't attempt to sync them. Noticed by Dmitry Butskoy <buc@odusz.so-cdu.ru> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/8021q/vlan.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 1037748c14db..0fadbc6fbc3f 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -636,6 +636,10 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
if (!vlandev)
continue;
+ flgs = vlandev->flags;
+ if (!(flgs & IFF_UP))
+ continue;
+
vlan_sync_address(dev, vlandev);
}
break;