freebsd-skq/sys
Bjoern A. Zeeb 201100c58b Initial implementation of draft-ietf-6man-ipv6only-flag.
This change defines the RA "6" (IPv6-Only) flag which routers
may advertise, kernel logic to check if all routers on a link
have the flag set and accordingly update a per-interface flag.

If all routers agree that it is an IPv6-only link, ether_output_frame(),
based on the interface flag, will filter out all ETHERTYPE_IP/ARP
frames, drop them, and return EAFNOSUPPORT to upper layers.

The change also updates ndp to show the "6" flag, ifconfig to
display the IPV6_ONLY nd6 flag if set, and rtadvd to allow
announcing the flag.

Further changes to tcpdump (contrib code) are availble and will
be upstreamed.

Tested the code (slightly earlier version) with 2 FreeBSD
IPv6 routers, a FreeBSD laptop on ethernet as well as wifi,
and with Win10 and OSX clients (which did not fall over with
the "6" flag set but not understood).

We may also want to (a) implement and RX filter, and (b) over
time enahnce user space to, say, stop dhclient from running
when the interface flag is set.  Also we might want to start
IPv6 before IPv4 in the future.

All the code is hidden under the EXPERIMENTAL option and not
compiled by default as the draft is a work-in-progress and
we cannot rely on the fact that IANA will assign the bits
as requested by the draft and hence they may change.

Dear 6man, you have running code.

Discussed with:	Bob Hinden, Brian E Carpenter
2018-10-30 20:08:48 +00:00
..
amd64 Emulate machine check related MSR_EXTFEATURES to allow guest OSes to 2018-10-30 10:02:23 +00:00
arm Consolidate identical ELF auxargs type defintions. 2018-10-22 22:24:32 +00:00
arm64 Consolidate identical ELF auxargs type defintions. 2018-10-22 22:24:32 +00:00
bsm
cam Add statistics for TRIM comands 2018-10-26 16:23:51 +00:00
cddl Implement O_BENEATH and AT_BENEATH. 2018-10-25 22:16:34 +00:00
compat Implement the dump_stack() function in the LinuxKPI. 2018-10-30 16:42:56 +00:00
conf Only invoke 'ls' if the local modules directory exists. 2018-10-30 18:20:34 +00:00
contrib Update to Zstandard 1.3.7 2018-10-22 18:29:12 +00:00
crypto rijndael (AES): Avoid leaking sensitive data on kernel stack 2018-10-26 20:53:01 +00:00
ddb ddb: Enable 'thread <address>' 2018-10-20 20:45:49 +00:00
dev Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
dts Revert r339421 due to unintended files included to commit. 2018-10-18 15:17:58 +00:00
fs Move 32-bit compat support for FIODGNAME to the right place. 2018-10-26 17:59:25 +00:00
gdb
geom Have gconcat advertise delete support if one of its disks does. 2018-10-30 00:22:14 +00:00
gnu dts: Import DTS for arm64 2018-08-23 13:21:01 +00:00
i386 Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
mips Consolidate identical ELF auxargs type defintions. 2018-10-22 22:24:32 +00:00
modules Implement the dump_stack() function in the LinuxKPI. 2018-10-30 16:42:56 +00:00
net Initial implementation of draft-ietf-6man-ipv6only-flag. 2018-10-30 20:08:48 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
netinet Initial implementation of draft-ietf-6man-ipv6only-flag. 2018-10-30 20:08:48 +00:00
netinet6 Initial implementation of draft-ietf-6man-ipv6only-flag. 2018-10-30 20:08:48 +00:00
netipsec Add sadb_x_sa2 extension to SADB_ACQUIRE requests. 2018-10-21 14:19:16 +00:00
netpfil pf: Make ':0' ignore link-local v6 addresses too 2018-10-28 05:32:50 +00:00
netsmb Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
nfs Switch RIB and RADIX_NODE_HEAD lock from rwlock(9) to rmlock(9). 2018-06-16 08:26:23 +00:00
nfsclient
nfsserver
nlm
ofed Introduce and use sgid_index in CM requests in ibcore. 2018-09-09 07:20:15 +00:00
opencrypto Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
powerpc Bump the number of fans supported from 8 to 12. 2018-10-30 11:51:09 +00:00
riscv o Add pmap lock around pmap_fault_fixup() to ensure other thread will not 2018-10-26 12:27:07 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security Rework the logic around quick checks for auditing that take place at 2018-10-02 15:58:17 +00:00
sparc64 Consolidate identical ELF auxargs type defintions. 2018-10-22 22:24:32 +00:00
sys Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools Only call sigdeferstop() for NFS. 2018-10-23 21:43:41 +00:00
ufs Implement O_BENEATH and AT_BENEATH. 2018-10-25 22:16:34 +00:00
vm Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
x86 Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile