freebsd-dev/sys
Zhenlei Huang 62e1a437f3 routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549).
Implement kernel support for RFC 5549/8950.

* Relax control plane restrictions and allow specifying IPv6 gateways
 for IPv4 routes. This behavior is controlled by the
 net.route.rib_route_ipv6_nexthop sysctl (on by default).

* Always pass final destination in ro->ro_dst in ip_forward().

* Use ro->ro_dst to exract packet family inside if_output() routines.
 Consistently use RO_GET_FAMILY() macro to handle ro=NULL case.

* Pass extracted family to nd6_resolve() to get the LLE with proper encap.
 It leverages recent lltable changes committed in c541bd368f.

Presence of the functionality can be checked using ipv4_rfc5549_support feature(3).
Example usage:
  route add -net 192.0.0.0/24 -inet6 fe80::5054:ff:fe14:e319%vtnet0

Differential Revision: https://reviews.freebsd.org/D30398
MFC after:	2 weeks
2021-08-22 22:56:08 +00:00
..
amd64 vmm: Add credential to cdev object 2021-08-18 13:41:33 -04:00
arm arm: hide busdma statistics behind ifdef ARM_BUSDMA_MAPLOAD_STATS 2021-08-18 17:24:53 +02:00
arm64 Enable arm64 SError exceptions in the kernel 2021-08-12 08:53:06 +00:00
bsm Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
cam targ(4): Remove D_NEEDGIANT. 2021-08-21 11:20:54 -04:00
cddl sys/cddl: remove extraneous semicolons 2021-08-16 10:29:44 -04:00
compat linux(4): Improve comment. 2021-08-13 11:36:42 +03:00
conf Microsoft Azure Network Adapter(MANA) VF support 2021-08-20 10:44:57 +00:00
contrib routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
crypto Use arm64 sha256 intrinsics in libmd 2021-08-11 10:20:48 +00:00
ddb fix style nit: space after if 2021-05-05 15:26:09 -06:00
dev routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
dts Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
fs ext2fs(5): Correct a typo in an error message 2021-08-22 07:58:22 +02:00
gdb
geom geom_disk: Add KMSAN checks 2021-08-11 16:33:41 -04:00
gnu
i386 kvm_clock: KVM paravirtual clock support 2021-08-14 15:57:54 +03:00
isa newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf 2021-06-22 20:52:06 -06:00
kern vfs: fix cache-relatecd LOR introduced in the previous change 2021-08-22 16:20:07 +00:00
kgssapi
libkern arc4random: Avoid KMSAN false positives from pre-seeding results 2021-08-13 09:58:42 -04:00
mips Fix a common typo in source code comments 2021-08-14 14:08:46 +02:00
modules Microsoft Azure Network Adapter(MANA) VF support 2021-08-20 10:44:57 +00:00
net routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
net80211 Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
netgraph routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
netinet routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
netinet6 lltable: fix crash introduced in c541bd368f. 2021-08-22 08:49:18 +00:00
netipsec ipsec: fix race condition in key.c 2021-08-13 12:52:38 +02:00
netpfil ipfw: use unsigned int for dummynet bandwidth 2021-08-19 10:48:53 +02:00
netsmb netsmb: Avoid a read-after-free in smb_t2_request_int() 2021-05-26 10:45:40 -04:00
nfs
nfsclient
nfsserver
nlm
ofed routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
opencrypto Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
powerpc powerpc/pseries: Allow radix pmap in pseries for ISA 3.0 2021-08-11 19:07:04 -05:00
riscv riscv: Fix pmap_alloc_l2 when it should allocate a new L1 entry 2021-08-09 20:28:37 +01:00
rpc rpc: Make function tables const 2021-08-14 11:26:12 -04:00
security Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
sys lio_listio(2): Allow LIO_READV and LIO_WRITEV. 2021-08-22 23:00:42 +12:00
teken
tests routing: add IPv6 fib validation procedure. 2021-08-16 23:04:01 +00:00
tools Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
ufs ufs_dirhash: Correct a typo in a comment 2021-08-20 09:59:18 +02:00
vm vm: use __func__ for the correct function name 2021-08-22 17:43:12 +00:00
x86 pvclock: Add vDSO support 2021-08-14 15:57:54 +03:00
xdr
xen xen: introduce xen_pv_disks_disabled() 2021-07-28 17:27:04 +02:00
Makefile