From: David Ahern <dsah...@gmail.com> First set of three with the end goal of enabling IPv6 gateways with IPv4 routes.
This set refactors ipv4 and ipv6 code to create init and release helpers for each protocol and moving common elements to a fib_nh_common struct. David Ahern (13): ipv4: Define fib_get_nhs when CONFIG_IP_ROUTE_MULTIPATH is disabled ipv4: Move IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN to helper ipv4: Create init helper for fib_nh ipv4: Create cleanup helper for fib_nh ipv6: Create init helper for fib6_nh ipv6: Create cleanup helper for fib6_nh ipv6: Move gateway checks to a fib6_nh setting ipv6: Refactor fib6_ignore_linkdown ipv6: Change rt6_add_nexthop and rt6_nexthop_info to take fib6_nh ipv4: Rename fib_nh entries ipv6: Rename fib6_nh entries net: Add fib_nh_common and update fib_nh and fib6_nh net: Use common nexthop init and release helpers drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c | 12 +- .../net/ethernet/mellanox/mlxsw/spectrum_router.c | 56 +-- drivers/net/ethernet/rocker/rocker_ofdpa.c | 10 +- include/linux/inetdevice.h | 14 + include/net/addrconf.h | 8 + include/net/ip6_fib.h | 18 +- include/net/ip6_route.h | 12 +- include/net/ip_fib.h | 58 ++- include/trace/events/fib.h | 7 +- include/trace/events/fib6.h | 6 +- net/core/filter.c | 16 +- net/ipv4/fib_frontend.c | 10 +- net/ipv4/fib_semantics.c | 470 +++++++++++---------- net/ipv4/fib_trie.c | 14 +- net/ipv4/route.c | 18 +- net/ipv6/addrconf.c | 27 +- net/ipv6/ip6_fib.c | 18 +- net/ipv6/ndisc.c | 8 +- net/ipv6/route.c | 440 +++++++++---------- 19 files changed, 654 insertions(+), 568 deletions(-) -- 2.11.0