diff options
author | Jiri Pirko <jiri@resnulli.us> | 2013-07-20 12:13:53 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-24 01:52:47 +0200 |
commit | 4aa5dee4d9997879adff858514844efab5a15a01 (patch) | |
tree | f3f3bf83f34dd832c8e163095c03e6aff29f20df /net/bridge/br_notify.c | |
parent | team: add peer notification (diff) | |
download | linux-4aa5dee4d9997879adff858514844efab5a15a01.tar.xz linux-4aa5dee4d9997879adff858514844efab5a15a01.zip |
net: convert resend IGMP to notifier event
Until now, bond_resend_igmp_join_requests() looks for vlans attached to
bonding device, bridge where bonding act as port manually. It does not
care of other scenarios, like stacked bonds or team device above. Make
this more generic and use netdev notifier to propagate the event to
upper devices and to actually call ip_mc_rejoin_groups().
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_notify.c')
-rw-r--r-- | net/bridge/br_notify.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c index 3a3f371b2841..2998dd1769a0 100644 --- a/net/bridge/br_notify.c +++ b/net/bridge/br_notify.c @@ -102,6 +102,11 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v case NETDEV_PRE_TYPE_CHANGE: /* Forbid underlaying device to change its type. */ return NOTIFY_BAD; + + case NETDEV_RESEND_IGMP: + /* Propagate to master device */ + call_netdevice_notifiers(event, br->dev); + break; } /* Events that may cause spanning tree to refresh */ |