opnsense-src/sys/net/route
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
..
fib_algo.c Fix typo in rib_unsibscribe<_locked>(). 2021-08-01 13:29:52 +00:00
fib_algo.h Fib algo: extend KPI by allowing algo to set datapath pointers. 2021-04-18 16:12:12 +01:00
mpath_ctl.c Fix panic when trying to delete non-existent gateway in multipath route. 2021-05-07 20:41:31 +00:00
nhgrp.c [multipath][nhops] Fix random crashes with high route churn rate. 2021-08-01 10:07:37 +00:00
nhgrp_ctl.c Fix panic when trying to delete non-existent gateway in multipath route. 2021-05-07 20:41:31 +00:00
nhgrp_var.h Introduce scalable route multipath. 2020-10-03 10:47:17 +00:00
nhop.c [multipath][nhops] Fix random crashes with high route churn rate. 2021-08-01 10:07:37 +00:00
nhop.h Remove now-unused RT_GATEWAY* definitions. 2021-01-04 21:45:46 +00:00
nhop_ctl.c Simplify ifa/ifp refcounting in the routing stack. 2021-02-22 23:37:59 +00:00
nhop_utils.c Remove unused nhop_ref_any() function. 2020-09-20 21:32:52 +00:00
nhop_utils.h [multipath][nhops] Fix random crashes with high route churn rate. 2021-08-01 10:07:37 +00:00
nhop_var.h Fix route flags update during RTM_CHANGE. 2020-10-04 13:24:58 +00:00
route_ctl.c routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
route_ctl.h routing: Fix crashes with dpdk_lpm[46] algo. 2021-08-17 20:46:22 +00:00
route_ddb.c Rename rt_flags to rte_flags && reduce number of rt_nhop accesses. 2020-08-22 19:30:56 +00:00
route_helpers.c routing: Fix crashes with dpdk_lpm[46] algo. 2021-08-17 20:46:22 +00:00
route_ifaddrs.c Make gcc happy by initializing error in rib_handle_ifaddr_info(). 2021-04-25 08:44:59 +00:00
route_tables.c [fib algo] Delay algo init at fib growth to to allow to reliably use rib KPI. 2021-04-27 22:10:08 +00:00
route_temporal.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
route_var.h [fib algo] Delay algo init at fib growth to to allow to reliably use rib KPI. 2021-04-27 22:10:08 +00:00