[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190523032801.11122-1-dsahern@kernel.org>
Date: Wed, 22 May 2019 20:27:54 -0700
From: David Ahern <dsahern@...nel.org>
To: davem@...emloft.net, netdev@...r.kernel.org
Cc: eric.dumazet@...il.com, idosch@...lanox.com,
David Ahern <dsahern@...il.com>
Subject: [PATCH net-next 0/7] ipv6: Move exceptions to fib6_nh and make it optional in a fib6_info
From: David Ahern <dsahern@...il.com>
Patches 1 and 4 move pcpu and exception caches from fib6_info to fib6_nh.
With respect to the current FIB entries this is only a movement from one
struct to another contained within the first.
Patch 2 refactors the core logic of fib6_drop_pcpu_from into a helper
that is invoked per fib6_nh.
Patch 3 refactors exception handling in a similar way - creating a bunch
of helpers that can be invoked per fib6_nh with the goal of making patch
4 easier to review as well as creating the code needed for nexthop
objects.
Patch 5 makes a fib6_nh at the end of a fib6_info an array similar to
IPv4 and its fib_info. For the current fib entry model, all fib6_info
will have a fib6_nh allocated for it.
Patch 6 refactors ip6_route_del moving the code for deleting an
exception entry into a new function.
Patch 7 adds tests for redirect route exceptions. The new test was
written against 5.1 (before any of the nexthop refactoring). It and the
pmtu.sh selftest exercise the exception code paths - from creating
exceptions to cleaning them up on device delete. All tests pass without
any rcu locking or memleak warnings.
David Ahern (7):
ipv6: Move pcpu cached routes to fib6_nh
ipv6: Refactor fib6_drop_pcpu_from
ipv6: Refactor exception functions
ipv6: Move exception bucket to fib6_nh
ipv6: Make fib6_nh optional at the end of fib6_info
ipv6: Refactor ip6_route_del for cached routes
selftests: Add redirect tests
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 31 +-
include/net/ip6_fib.h | 17 +-
include/net/ip6_route.h | 4 +-
net/ipv6/addrconf.c | 10 +-
net/ipv6/ip6_fib.c | 87 ++--
net/ipv6/ndisc.c | 8 +-
net/ipv6/route.c | 452 ++++++++++++--------
tools/testing/selftests/net/icmp_redirect.sh | 455 +++++++++++++++++++++
8 files changed, 820 insertions(+), 244 deletions(-)
create mode 100755 tools/testing/selftests/net/icmp_redirect.sh
--
2.11.0
Powered by blists - more mailing lists