linux/net/ipv4
Jay Vosburgh a816c7c712 bonding: Improve IGMP join processing
In active-backup mode, the current bonding code duplicates IGMP
traffic to all slaves, so that switches are up to date in case of a
failover from an active to a backup interface.  If bonding then fails
back to the original active interface, it is likely that the "active
slave" switch's IGMP forwarding for the port will be out of date until
some event occurs to refresh the switch (e.g., a membership query).

	This patch alters the behavior of bonding to no longer flood
IGMP to all ports, and to issue IGMP JOINs to the newly active port at
the time of a failover.  This insures that switches are kept up to date
for all cases.

	"GOELLESCH Niels" <niels.goellesch@eurocontrol.int> originally
reported this problem, and included a patch.  His original patch was
modified by Jay Vosburgh to additionally remove the existing IGMP flood
behavior, use RCU, streamline code paths, fix trailing white space, and
adjust for style.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-03-06 06:08:11 -05:00
..
ipvs [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
netfilter [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
af_inet.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ah4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
arp.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
cipso_ipv4.c [NetLabel]: Verify sensitivity level has a valid CIPSO mapping 2007-03-02 20:37:36 -08:00
datagram.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
devinet.c [IPV4] devinet: Register inetdev earlier. 2007-02-26 11:42:56 -08:00
esp4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
fib_frontend.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
fib_hash.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
fib_lookup.h [IPV4]: net/ipv4/fib annotations 2006-09-28 18:02:23 -07:00
fib_rules.c [NETLINK]: Do precise netlink message allocations where possible 2006-12-02 21:22:11 -08:00
fib_semantics.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
fib_trie.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
icmp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
igmp.c bonding: Improve IGMP join processing 2007-03-06 06:08:11 -05:00
inet_connection_sock.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_diag.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_hashtables.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_timewait_sock.c [NET]: change layout of ehash table 2007-02-08 14:16:46 -08:00
inetpeer.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip_forward.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip_fragment.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_gre.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip_input.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_options.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_output.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip_sockglue.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ipcomp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ipconfig.c [PATCH] mark struct file_operations const 7 2007-02-12 09:48:46 -08:00
ipip.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ipmr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
Kconfig [IPV4]: Correct links in net/ipv4/Kconfig 2007-02-26 11:42:51 -08:00
Makefile [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
multipath_drr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
multipath_random.c [IPV4]: Use random32() in net/ipv4/multipath 2007-02-26 11:43:00 -08:00
multipath_rr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
multipath_wrandom.c [IPV4]: Use random32() in net/ipv4/multipath 2007-02-26 11:43:00 -08:00
multipath.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netfilter.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
proc.c [PATCH] mark struct file_operations const 7 2007-02-12 09:48:46 -08:00
protocol.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
raw.c [PATCH] mark struct file_operations const 7 2007-02-12 09:48:46 -08:00
route.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
syncookies.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
sysctl_net_ipv4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_bic.c [TCP] tcp_bic: use BUILD_BUG_ON 2006-09-22 15:18:04 -07:00
tcp_cong.c Various typo fixes. 2007-02-17 19:07:33 +01:00
tcp_cubic.c [TCP]: Use read mostly for CUBIC parameters. 2007-02-12 13:15:20 -08:00
tcp_diag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tcp_highspeed.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_htcp.c [TCP]: cleanup of htcp (resend) 2007-02-12 13:34:03 -08:00
tcp_hybla.c [TCP] Congestion control (modulo lp, bic): use BUILD_BUG_ON 2006-09-22 15:18:13 -07:00
tcp_input.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_ipv4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_lp.c [TCP] tcp-lp: prevent chance for oops 2006-09-28 18:03:07 -07:00
tcp_minisocks.c [TCP]: Fix minisock tcp_create_openreq_child() typo. 2007-02-28 11:05:56 -08:00
tcp_output.c [TCP]: Prevent pseudo garbage in SYN's advertized window 2007-02-13 12:42:11 -08:00
tcp_probe.c [PATCH] mark struct file_operations const 7 2007-02-12 09:48:46 -08:00
tcp_scalable.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tcp_timer.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_vegas.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_veno.c [TCP] Congestion control (modulo lp, bic): use BUILD_BUG_ON 2006-09-22 15:18:13 -07:00
tcp_westwood.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp.c [TCP]: Fix MD5 signature pool locking. 2007-02-26 11:42:48 -08:00
tunnel4.c [IPSEC]: Changing API of xfrm4_tunnel_register. 2007-02-13 12:54:47 -08:00
udp_impl.h [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
udp.c [UDP]: UDP can use sk_hash to speedup lookups 2007-02-10 23:20:29 -08:00
udplite.c [NET]: Possible cleanups. 2006-12-02 21:31:51 -08:00
xfrm4_input.c [IPSEC]: Changing API of xfrm4_tunnel_register. 2007-02-13 12:54:47 -08:00
xfrm4_mode_beet.c [XFRM]: BEET mode 2006-10-04 00:31:09 -07:00
xfrm4_mode_transport.c [IPSEC]: output mode to take an xfrm state as input param 2006-09-22 15:18:48 -07:00
xfrm4_mode_tunnel.c [XFRM_TUNNEL]: Reload header pointer after pskb_may_pull/pskb_expand_head 2007-02-26 11:43:01 -08:00
xfrm4_output.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
xfrm4_policy.c [XFRM]: Fix oops in xfrm4_dst_destroy() 2007-02-26 12:10:32 -08:00
xfrm4_state.c [IPSEC]: exporting xfrm_state_afinfo 2007-02-08 12:39:00 -08:00
xfrm4_tunnel.c [IPSEC]: Changing API of xfrm4_tunnel_register. 2007-02-13 12:54:47 -08:00