linux/net/ipv6
Jay Vosburgh c2edacf80e bonding / ipv6: no addrconf for slaves separately from master
At present, when a device is enslaved to bonding, if ipv6 is
active then addrconf will be initated on the slave (because it is closed
then opened during the enslavement processing).  This causes DAD and RS
packets to be sent from the slave.  These packets in turn can confuse
switches that perform ipv6 snooping, causing them to incorrectly update
their forwarding tables (if, e.g., the slave being added is an inactve
backup that won't be used right away) and direct traffic away from the
active slave to a backup slave (where the incoming packets will be
dropped).

	This patch alters the behavior so that addrconf will only run on
the master device itself.  I believe this is logically correct, as it
prevents slaves from having an IPv6 identity independent from the
master.  This is consistent with the IPv4 behavior for bonding.

	This is accomplished by (a) having bonding set IFF_SLAVE sooner
in the enslavement processing than currently occurs (before open, not
after), and (b) having ipv6 addrconf ignore UP and CHANGE events on
slave devices.

	The eql driver also uses the IFF_SLAVE flag.  I inspected eql,
and I believe this change is reasonable for its usage of IFF_SLAVE, but
I did not test it.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-10 12:41:19 -04:00
..
netfilter [NETFILTER]: nf_conntrack: fix helper module unload races 2007-06-07 13:40:26 -07:00
addrconf_core.c
addrconf.c bonding / ipv6: no addrconf for slaves separately from master 2007-07-10 12:41:19 -04:00
af_inet6.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ah6.c [IPSEC]: Fix IPv6 AH calculation in outbound 2007-05-31 01:23:25 -07:00
anycast.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
datagram.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
esp6.c [XFRM]: Optimize MTU calculation 2007-04-25 22:28:38 -07:00
exthdrs_core.c
exthdrs.c [IPV6]: Do no rely on skb->dst before it is assigned. 2007-05-10 23:45:58 -07:00
fib6_rules.c [NETLINK]: Mark netlink policies const 2007-06-07 13:40:10 -07:00
icmp.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
inet6_connection_sock.c
inet6_hashtables.c
ip6_fib.c [IPV6]: Fix build warning. 2007-05-31 01:23:31 -07:00
ip6_flowlabel.c
ip6_input.c [IPV6]: Reverse sense of promisc tests in ip6_mc_input 2007-05-14 03:00:27 -07:00
ip6_output.c [IPV6]: Send ICMPv6 error on scope violations. 2007-05-10 23:45:32 -07:00
ip6_tunnel.c
ipcomp6.c [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
ipv6_sockglue.c [INET]: Add IP(V6)_PMTUDISC_RPOBE 2007-04-25 22:29:10 -07:00
Kconfig
Makefile [IPV6]: Fix Makefile thinko. 2007-04-25 22:29:53 -07:00
mcast.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
mip6.c [NET]: SPIN_LOCK_UNLOCKED cleanup in drivers/atm, net 2007-04-26 01:37:44 -07:00
ndisc.c [IPV6] NDISC: Fix thinko to control Router Preference support. 2007-06-22 16:07:04 -07:00
netfilter.c
proc.c [IPV6]: Track device renames in snmp6. 2007-04-28 21:16:39 -07:00
protocol.c
raw.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
reassembly.c
route.c [NETLINK]: Mark netlink policies const 2007-06-07 13:40:10 -07:00
sit.c [IPV6] SIT: Unify code path to get hash array index. 2007-04-25 22:29:54 -07:00
sysctl_net_ipv6.c
tcp_ipv6.c [TCP]: Disable TSO if MD5SIG is enabled. 2007-06-12 14:36:42 -07:00
tunnel6.c
udp_impl.h [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
udp.c [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
udplite.c [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
xfrm6_input.c [IPSEC]: Fix panic when using inter address familiy IPsec on loopback. 2007-05-31 01:23:28 -07:00
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c [IPSEC]: Fix panic when using inter address familiy IPsec on loopback. 2007-05-31 01:23:28 -07:00
xfrm6_output.c
xfrm6_policy.c [NET]: cleanup extra semicolons 2007-04-25 22:29:24 -07:00
xfrm6_state.c
xfrm6_tunnel.c [IPV6]: Fix slab corruption running ip6sic 2007-04-28 21:26:23 -07:00