diff options
author | Jiri Pirko <jiri@resnulli.us> | 2013-07-20 14:13:53 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-24 03:52:47 +0400 |
commit | 4aa5dee4d9997879adff858514844efab5a15a01 (patch) | |
tree | f3f3bf83f34dd832c8e163095c03e6aff29f20df /drivers/net/team | |
parent | fc423ff00df3a19554414eed80aef9de9b50313e (diff) | |
download | linux-4aa5dee4d9997879adff858514844efab5a15a01.tar.xz |
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 'drivers/net/team')
-rw-r--r-- | drivers/net/team/team.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index 0433ee994f8c..2587dc86d533 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -2785,6 +2785,10 @@ static int team_device_event(struct notifier_block *unused, case NETDEV_PRE_TYPE_CHANGE: /* Forbid to change type of underlaying device */ return NOTIFY_BAD; + case NETDEV_RESEND_IGMP: + /* Propagate to master device */ + call_netdevice_notifiers(event, port->team->dev); + break; } return NOTIFY_DONE; } |