ipv6 addrconf: Implemented enhanced DAD (RFC7527)
authorErik Nordmark <nordmark@arista.com>
Fri, 2 Dec 2016 22:00:08 +0000 (14:00 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Dec 2016 04:21:37 +0000 (23:21 -0500)
commitadc176c5472214971d77c1a61c83db9b01e9cdc7
tree3eec6bc43480aac7ef49ac829c8da68028eebcdb
parentce84c7c6637af66d6e6e11a54b2367fc8f1d7074
ipv6 addrconf: Implemented enhanced DAD (RFC7527)

Implemented RFC7527 Enhanced DAD.
IPv6 duplicate address detection can fail if there is some temporary
loopback of Ethernet frames. RFC7527 solves this by including a random
nonce in the NS messages used for DAD, and if an NS is received with the
same nonce it is assumed to be a looped back DAD probe and is ignored.
RFC7527 is enabled by default. Can be disabled by setting both of
conf/{all,interface}/enhanced_dad to zero.

Signed-off-by: Erik Nordmark <nordmark@arista.com>
Signed-off-by: Bob Gilligan <gilligan@arista.com>
Reviewed-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.txt
include/linux/ipv6.h
include/net/if_inet6.h
include/net/ndisc.h
include/uapi/linux/ipv6.h
net/ipv6/addrconf.c
net/ipv6/ndisc.c
net/ipv6/route.c