From: David Ahern <dsah...@gmail.com> Second set of three with the end goal of enabling IPv6 gateways with IPv4 routes.
This set moves: - the ipv4 tracepoint to take a fib_nh_common and updates it to handle a v6 gateway. - consolidates route notifications to use the same fill functions for both ipv4 and ipv6 v3 - comments from Martin: + renamed FIB_RES_NH to FIB_RES_NHC + removed family check from fib_result_prefsrc + in fib_nexthop_info, renamed nexthop arg to nhc and dropped for_ipv4 arg v2 - dropped patches moving cached routes and exception buckets to fib_nh_common. The goal is allowing a fib6_nh to be used with an IPv4 route. The hold up is the need for separate exception buckets - one for v6 routes and one for v4 routes. When all of the nexthop patches are in, adding a secondi exception bucket pushes IPv6 fib6_info allocations over 256 which means fib6_info allocations roll up to 512. Hence, deferring the patches until some data mining can be done to keep the allocations at 256. David Ahern (5): ipv4: Update fib_table_lookup tracepoint to take common nexthop ipv4: Add fib_nh_common to fib_result ipv4: Refactor nexthop attributes in fib_dump_info ipv4: Change fib_nexthop_info and fib_add_nexthop to take fib_nh_common ipv6: Flip to fib_nexthop_info include/net/ip_fib.h | 52 +++++------ include/trace/events/fib.h | 45 ++++++---- net/core/filter.c | 12 +-- net/ipv4/fib_frontend.c | 6 +- net/ipv4/fib_lookup.h | 1 + net/ipv4/fib_semantics.c | 215 ++++++++++++++++++++++++++++++++------------- net/ipv4/fib_trie.c | 13 +-- net/ipv4/route.c | 60 ++++++++----- net/ipv6/route.c | 77 ++-------------- 9 files changed, 267 insertions(+), 214 deletions(-) -- 2.11.0