diff options
author | Patrick McHardy <kaber@trash.net> | 2007-11-10 21:51:40 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-11-10 21:51:40 -0800 |
commit | d932e04a5e7b146c5f9bf517714b986a432a7594 (patch) | |
tree | e58b68ba98068db9a8c60c096387d59657d85222 /net | |
parent | 358352b8b83c67ecf75f6d7bc3e2d64bf0cf506a (diff) | |
download | linux-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.c | 4 |
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; |