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>
This commit is contained in:
Ben Hutchings 2011-04-15 13:46:49 +00:00 committed by David S. Miller
parent f47b94646f
commit 99606477a5
1 changed files with 11 additions and 0 deletions

View File

@ -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: