linux-stable-rt/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
Kconfig
Makefile
addrconf.c bonding / ipv6: no addrconf for slaves separately from master 2007-07-10 12:41:19 -04:00
addrconf_core.c
af_inet6.c
ah6.c [IPSEC]: Fix IPv6 AH calculation in outbound 2007-05-31 01:23:25 -07:00
anycast.c
datagram.c [XFRM]: Allow packet drops during larval state resolution. 2007-05-24 18:17:54 -07:00
esp6.c
exthdrs.c [IPV6]: Do no rely on skb->dst before it is assigned. 2007-05-10 23:45:58 -07:00
exthdrs_core.c
fib6_rules.c [NETLINK]: Mark netlink policies const 2007-06-07 13:40:10 -07:00
icmp.c
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
ipv6_sockglue.c
mcast.c
mip6.c
ndisc.c [IPV6] NDISC: Fix thinko to control Router Preference support. 2007-06-22 16:07:04 -07:00
netfilter.c
proc.c
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
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.c [UDP]: Revert 2-pass hashing changes. 2007-06-07 13:40:50 -07:00
udp_impl.h [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
xfrm6_state.c
xfrm6_tunnel.c