aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2011-04-15 09:46:49 -0400
committerDavid S. Miller <davem@davemloft.net>2011-04-18 02:35:16 -0400
commit99606477a5888b0ead0284fecb13417b1da8e3af (patch)
tree7d5084ad6849034fd7676032d2f6868c7a6b48d1 /net/8021q
parentf47b94646f30529624c82ab0f9cd5bd3f25ef9d2 (diff)
vlan: Propagate NETDEV_NOTIFY_PEERS notifier
The NETDEV_NOTIFY_PEERS notifier indicates that a device moved to a different physical link; this also applies to any VLAN devices on top of it. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q')
-rw-r--r--net/8021q/vlan.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 14ef5efbc653..b2ff70fcf8ea 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -499,6 +499,17 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
499 case NETDEV_PRE_TYPE_CHANGE: 499 case NETDEV_PRE_TYPE_CHANGE:
500 /* Forbid underlaying device to change its type. */ 500 /* Forbid underlaying device to change its type. */
501 return NOTIFY_BAD; 501 return NOTIFY_BAD;
502
503 case NETDEV_NOTIFY_PEERS:
504 /* Propagate to vlan devices */
505 for (i = 0; i < VLAN_N_VID; i++) {
506 vlandev = vlan_group_get_device(grp, i);
507 if (!vlandev)
508 continue;
509
510 call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, vlandev);
511 }
512 break;
502 } 513 }
503 514
504out: 515out: