|
@@ -499,6 +499,17 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
|
|
|
case NETDEV_PRE_TYPE_CHANGE:
|
|
|
/* Forbid underlaying device to change its type. */
|
|
|
return NOTIFY_BAD;
|
|
|
+
|
|
|
+ case NETDEV_NOTIFY_PEERS:
|
|
|
+ /* Propagate to vlan devices */
|
|
|
+ for (i = 0; i < VLAN_N_VID; i++) {
|
|
|
+ vlandev = vlan_group_get_device(grp, i);
|
|
|
+ if (!vlandev)
|
|
|
+ continue;
|
|
|
+
|
|
|
+ call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, vlandev);
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
out:
|