[PATCH v2 net-next 00/13] net: Move fib_nh and fib6_nh to a common struct

David Ahern
2019-03-27T18:23:32Z

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.

v2
- addressed Ido's comments: cleanup on failure path in nh_init helpers,
ordering in fib6_nh_release, and removal of RTF_GATEWAY from fib6_info
uses in mlxsw

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 | 60 +--
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 | 473 +++++++++++----------
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 | 444 +++++++++----------
19 files changed, 663 insertions(+), 570 deletions(-)

--
2.11.0