]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Update for IETF draft-ietf-6man-ipv6only-flag.
authorbz <bz@FreeBSD.org>
Wed, 6 Mar 2019 23:31:42 +0000 (23:31 +0000)
committerbz <bz@FreeBSD.org>
Wed, 6 Mar 2019 23:31:42 +0000 (23:31 +0000)
commitd6a3300a0b7b104b91abbc64e479fc736491c810
tree538aa5f6839ad72df044a7edb8971de91aa49661
parent7baf6b27c483d41579fc454b21bf5595f1cb502f
Update for IETF draft-ietf-6man-ipv6only-flag.

All changes are hidden behind the EXPERIMENTAL option and are not compiled
in by default.

Add ND6_IFF_IPV6_ONLY_MANUAL to be able to set the interface into no-IPv4-mode
manually without router advertisement options.  This will allow developers to
test software for the appropriate behaviour even on dual-stack networks or
IPv6-Only networks without the option being set in RA messages.
Update ifconfig to allow setting and displaying the flag.

Update the checks for the filters to check for either the automatic or the manual
flag to be set.  Add REVARP to the list of filtered IPv4-related protocols and add
an input filter similar to the output filter.

Add a check, when receiving the IPv6-Only RA flag to see if the receiving
interface has any IPv4 configured.  If it does, ignore the IPv6-Only flag.

Add a per-VNET global sysctl, which is on by default, to not process the automatic
RA IPv6-Only flag.  This way an administrator (if this is compiled in) has control
over the behaviour in case the node still relies on IPv4.
sbin/ifconfig/Makefile
sbin/ifconfig/af_inet6.c
sbin/ifconfig/af_nd6.c
sys/net/if_ethersubr.c
sys/netinet6/in6_proto.c
sys/netinet6/ip6_var.h
sys/netinet6/nd6.h
sys/netinet6/nd6_rtr.c