Matteo Croce
35e015e1f5
ipv6: fix net.ipv6.conf.all interface DAD handlers
...
Currently, writing into
net.ipv6.conf.all.{accept_dad,use_optimistic,optimistic_dad} has no effect.
Fix handling of these flags by:
- using the maximum of global and per-interface values for the
accept_dad flag. That is, if at least one of the two values is
non-zero, enable DAD on the interface. If at least one value is
set to 2, enable DAD and disable IPv6 operation on the interface if
MAC-based link-local address was found
- using the logical OR of global and per-interface values for the
optimistic_dad flag. If at least one of them is set to one, optimistic
duplicate address detection (RFC 4429) is enabled on the interface
- using the logical OR of global and per-interface values for the
use_optimistic flag. If at least one of them is set to one,
optimistic addresses won't be marked as deprecated during source address
selection on the interface.
While at it, as we're modifying the prototype for ipv6_use_optimistic_addr(),
drop inline, and let the compiler decide.
Fixes: 7fd2561e4e ("net: ipv6: Add a sysctl to make optimistic addresses useful candidates")
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-19 16:44:02 -07:00
..
ila
netfilter: nf_hook_ops structs can be const
2017-07-31 19:10:44 +02:00
netfilter
netfilter: xtables: add scheduling opportunity in get_counters
2017-09-08 18:55:27 +02:00
addrconf.c
ipv6: fix net.ipv6.conf.all interface DAD handlers
2017-09-19 16:44:02 -07:00
addrconf_core.c
Ipvlan should return an error when an address is already in use.
2017-06-09 12:26:07 -04:00
addrlabel.c
addrlabel: add/delete/get can run without rtnl
2017-08-29 09:41:56 -07:00
af_inet6.c
ipv6: Add sysctl for per namespace flow label reflection
2017-08-24 18:05:43 -07:00
ah6.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
2017-06-23 14:17:31 -04:00
anycast.c
net, ipv6: convert ifacaddr6.aca_refcnt from atomic_t to refcount_t
2017-07-04 01:29:04 -07:00
calipso.c
net, calipso: convert calipso_doi.refcount from atomic_t to refcount_t
2017-07-04 22:35:16 +01:00
datagram.c
net: convert sock.sk_refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
esp6.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-09-01 17:42:05 -07:00
esp6_offload.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-09-01 17:42:05 -07:00
exthdrs.c
ipv6: sr: allow SRH insertion with arbitrary segments_left value
2017-08-07 14:16:21 -07:00
exthdrs_core.c
exthdrs_offload.c
fib6_notifier.c
net: Add module reference to FIB notifiers
2017-09-01 20:33:42 -07:00
fib6_rules.c
net: ipv6: avoid overhead when no custom FIB rules are installed
2017-08-08 21:40:08 -07:00
fou6.c
fou: make local function static
2017-05-21 13:42:36 -04:00
icmp.c
ipv6: Use rt6i_idev index for echo replies to a local address
2017-08-29 15:32:25 -07:00
inet6_connection_sock.c
inet6_hashtables.c
net: ipv6: add second dif to inet6 socket lookups
2017-08-07 11:39:22 -07:00
ip6_checksum.c
ip6_fib.c
ipv6: fix typo in fib6_net_exit()
2017-09-08 16:09:04 -07:00
ip6_flowlabel.c
ip6_gre.c
ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
2017-09-18 14:50:45 -07:00
ip6_icmp.c
ip6_input.c
ip6_offload.c
ipv6: Fix leak in ipv6_gso_segment().
2017-06-04 21:41:10 -04:00
ip6_offload.h
ip6_output.c
udp: consistently apply ufo or fragmentation
2017-08-10 09:52:12 -07:00
ip6_tunnel.c
ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline
2017-09-18 16:34:32 -07:00
ip6_udp_tunnel.c
ip6_vti.c
vti: revert flush x-netns xfrm cache when vti interface is removed
2017-07-18 11:13:41 -07:00
ip6mr.c
rtnetlink: make rtnl_register accept a flags parameter
2017-08-09 16:57:38 -07:00
ipcomp6.c
ipv6_sockglue.c
ipv6: do not set sk_destruct in IPV6_ADDRFORM sockopt
2017-08-29 10:54:40 -07:00
Kconfig
ipv6: sr: add helper functions for seg6local
2017-08-25 17:10:24 -07:00
Makefile
ipv6: sr: define core operations for seg6local lightweight tunnel
2017-08-07 14:16:22 -07:00
mcast.c
net, ipv6: convert ifmcaddr6.mca_refcnt from atomic_t to refcount_t
2017-07-04 01:29:04 -07:00
mcast_snoop.c
mip6.c
ndisc.c
neigh: increase queue_len_bytes to match wmem_default
2017-08-29 16:10:50 -07:00
netfilter.c
output_core.c
ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
2017-08-22 10:23:26 -07:00
ping.c
net: ping: do not abuse udp_poll()
2017-06-04 22:56:55 -04:00
proc.c
proc: snmp6: Use correct type in memset
2017-06-12 09:53:14 -04:00
protocol.c
raw.c
net: ipv6: add second dif to raw socket lookups
2017-08-07 11:39:22 -07:00
reassembly.c
Revert "net: fix percpu memory leaks"
2017-09-03 11:01:05 -07:00
route.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-09-01 17:42:05 -07:00
seg6.c
ipv6: sr: define core operations for seg6local lightweight tunnel
2017-08-07 14:16:22 -07:00
seg6_hmac.c
ipv6: sr: Use ARRAY_SIZE macro
2017-09-01 18:35:23 -07:00
seg6_iptunnel.c
ipv6: sr: add support for encapsulation of L2 frames
2017-08-25 17:10:23 -07:00
seg6_local.c
ipv6: sr: remove duplicate routing header type check
2017-09-11 14:34:10 -07:00
sit.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-06-30 12:43:08 -04:00
syncookies.c
ipv4: ipv6: initialize treq->txhash in cookie_v[46]_check()
2017-07-18 11:22:51 -07:00
sysctl_net_ipv6.c
ipv6: Add sysctl for per namespace flow label reflection
2017-08-24 18:05:43 -07:00
tcp_ipv6.c
tcp: fix a request socket leak
2017-09-08 16:07:17 -07:00
tcpv6_offload.c
tunnel6.c
udp.c
udpv6: Fix the checksum computation when HW checksum does not apply
2017-09-18 11:43:03 -07:00
udp_impl.h
udp: make *udp*_queue_rcv_skb() functions static
2017-05-18 10:23:33 -04:00
udp_offload.c
net: avoid skb_warn_bad_offload false positives on UFO
2017-08-08 21:39:01 -07:00
udplite.c
xfrm6_input.c
xfrm6: Fix CHECKSUM_COMPLETE after IPv6 header push
2017-08-02 11:00:15 +02:00
xfrm6_mode_beet.c
networking: make skb_pull & friends return void pointers
2017-06-16 11:48:39 -04:00
xfrm6_mode_ro.c
ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt()
2017-06-02 13:57:27 -04:00
xfrm6_mode_transport.c
ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt()
2017-06-02 13:57:27 -04:00
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c
net: xfrm: support setting an output mark.
2017-08-11 07:03:00 +02:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c
net, ipv6: convert xfrm6_tunnel_spi.refcnt from atomic_t to refcount_t
2017-07-04 01:29:04 -07:00