diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/8021q/vlan.c | 11 |
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 | ||
504 | out: | 515 | out: |