Hannes Frederic Sowa
11ffff752c
ipv6: simplify detection of first operational link-local address on interface
...
In commit 1ec047eb47 ("ipv6: introduce per-interface counter for
dad-completed ipv6 addresses") I build the detection of the first
operational link-local address much to complex. Additionally this code
now has a race condition.
Replace it with a much simpler variant, which just scans the address
list when duplicate address detection completes, to check if this is
the first valid link local address and send RS and MLD reports then.
Fixes: 1ec047eb47 ("ipv6: introduce per-interface counter for dad-completed ipv6 addresses")
Reported-by: Jiri Pirko <jiri@resnulli.us>
Cc: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Acked-by: Flavio Leitner <fbl@redhat.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-01-17 18:10:01 -08:00
..
netfilter
netfilter: SYNPROXY target: restrict to INPUT/FORWARD
2013-12-11 11:30:25 +01:00
addrconf.c
ipv6: simplify detection of first operational link-local address on interface
2014-01-17 18:10:01 -08:00
addrconf_core.c
ipv6: move in6_dev_finish_destroy() into core kernel
2013-08-31 22:30:00 -04:00
addrlabel.c
ipv6: fix null pointer dereference in __ip6addrlbl_add
2013-09-04 14:14:53 -04:00
af_inet6.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-11-19 15:50:47 -08:00
ah6.c
ipsec: Don't update the pmtu on ICMPV6_DEST_UNREACH
2013-09-16 09:45:32 +02:00
anycast.c
datagram.c
ipv6: do not erase dst address with flow label destination
2013-12-10 22:51:00 -05:00
esp6.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
2013-11-02 02:13:48 -04:00
exthdrs.c
ipv6/exthdrs: accept tlv which includes only padding
2013-09-11 15:52:27 -04:00
exthdrs_core.c
ipv6: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
exthdrs_offload.c
fib6_rules.c
inet: fix NULL pointer Oops in fib(6)_rule_suppress
2013-12-10 17:54:23 -05:00
icmp.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-09-05 14:58:52 -04:00
inet6_connection_sock.c
inet: rename ir_loc_port to ir_num
2013-10-10 14:37:35 -04:00
inet6_hashtables.c
inet: convert inet_ehash_secret and ipv6_hash_secret to net_get_random_once
2013-10-19 19:45:35 -04:00
ip6_checksum.c
ip6_fib.c
ipv6: compare sernum when walking fib for /proc/net/ipv6_route as safety net
2013-09-27 17:32:17 -04:00
ip6_flowlabel.c
ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
2013-11-11 01:25:28 -05:00
ip6_gre.c
net: Explicitly initialize u64_stats_sync structures for lockdep
2013-11-06 12:40:25 +01:00
ip6_icmp.c
ip6_input.c
net: add SNMP counters tracking incoming ECN bits
2013-08-08 22:24:59 -07:00
ip6_offload.c
ipv6: sit: add GSO/TSO support
2013-10-21 18:49:39 -04:00
ip6_offload.h
ip6_output.c
ipv6: pmtudisc setting not respected with UFO/CORK
2013-12-18 17:52:15 -05:00
ip6_tunnel.c
ipv6: fix the use of pcpu_tstats in ip6_tunnel
2014-01-02 19:37:21 -05:00
ip6_vti.c
ipv6: pcpu_tstats.syncp should be initialised in ip6_vti.c
2014-01-07 14:12:46 -05:00
ip6mr.c
net: avoid reference counter overflows on fib_rules in multicast forwarding
2014-01-14 17:37:25 -08:00
ipcomp6.c
ipsec: Don't update the pmtu on ICMPV6_DEST_UNREACH
2013-09-16 09:45:32 +02:00
ipv6_sockglue.c
ipv6: enable IPV6_FLOWLABEL_MGR for getsockopt
2013-11-08 13:42:57 -05:00
Kconfig
ipv6: Remove privacy config option.
2013-10-28 20:07:50 -04:00
Makefile
ipv6: Add support for IPsec virtual tunnel interfaces
2013-10-10 12:00:01 +02:00
mcast.c
ipv6 mcast: use in6_dev_put in timer handlers instead of __in6_dev_put
2013-09-30 22:28:58 -07:00
mip6.c
ipv6: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
ndisc.c
ipv6: judge the accept_ra_defrtr before calling rt6_route_rcv
2013-12-02 16:00:38 -05:00
netfilter.c
output_core.c
ipv6: move ip6_local_out into core kernel
2013-08-31 22:30:00 -04:00
ping.c
inet: fix addr_len/msg->msg_namelen assignment in recv_error and rxpmtu functions
2013-11-23 14:46:23 -08:00
proc.c
net: add SNMP counters tracking incoming ECN bits
2013-08-08 22:24:59 -07:00
protocol.c
net: remove outdated comment for ipv4 and ipv6 protocol handler
2013-11-28 18:47:51 -05:00
raw.c
ipv6: do not erase dst address with flow label destination
2013-12-10 22:51:00 -05:00
reassembly.c
ipv6: split inet6_hash_frag for netfilter and initialize secrets with net_get_random_once
2013-10-23 17:01:40 -04:00
route.c
ipv6: always set the new created dst's from in ip6_rt_copy
2013-12-19 18:35:21 -05:00
sit.c
ipv6: fix the use of pcpu_tstats in sit
2014-01-01 22:48:59 -05:00
syncookies.c
inet: split syncookie keys for ipv4 and ipv6 and initialize with net_get_random_once
2013-10-19 19:45:35 -04:00
sysctl_net_ipv6.c
net: Convert uses of typedef ctl_table to struct ctl_table
2013-06-13 02:36:09 -07:00
tcp_ipv6.c
ipv6: do not erase dst address with flow label destination
2013-12-10 22:51:00 -05:00
tcpv6_offload.c
gro: Clean up tcpX_gro_receive checksum verification
2013-11-23 14:46:19 -08:00
tunnel6.c
udp.c
ipv6: do not erase dst address with flow label destination
2013-12-10 22:51:00 -05:00
udp_impl.h
net: ipv4/ipv6: Remove extern from function prototypes
2013-10-19 19:12:11 -04:00
udp_offload.c
ipv6: fix headroom calculation in udp6_ufo_fragment
2013-11-05 22:09:53 -05:00
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
ipv6: Add a receive path hook for vti6 in xfrm6_mode_tunnel.
2013-10-09 13:16:36 +02:00
xfrm6_output.c
xfrm: revert ipv4 mtu determination to dst_mtu
2013-08-26 12:40:53 +02:00
xfrm6_policy.c
xfrm: Fix null pointer dereference when decoding sessions
2013-11-01 07:08:46 +01:00
xfrm6_state.c
xfrm: make local error reporting more robust
2013-08-14 13:07:12 +02:00
xfrm6_tunnel.c