Subject: [PATCH v2 net-next 0/7] ipv4 ipv6: Move location of pcpu route cache and exceptions

From: David Ahern <[email-masked]>
Date: Sat, 27 Apr 2019 19:27:27 -0700

From: David Ahern <[email-masked]>

This series moves IPv4 pcpu cached routes from fib_nh to fib_nh_common
to make the caches avaialable for IPv6 nexthops (fib6_nh) with IPv4
routes. This allows a fib6_nh struct to be used with both IPv4 and
and IPv6 routes.

In addition pcpu caches and exception entries for IPv6 routes are
moved from fib6_info to fib6_nh since they are really a function of
the device and gateway. During the move of each, functions are
refactored such that the core logic is in new helpers that take
a fib6_nh versus a fib6_info.

v2
- reverted patch 2 to use ifdef CONFIG_IP_ROUTE_CLASSID instead
  of IS_ENABLED(CONFIG_IP_ROUTE_CLASSID) to fix compile issues
  reported by kbuild test robot

David Ahern (7):
  ipv4: Move cached routes to fib_nh_common
  ipv4: Pass fib_nh_common to rt_cache_route
  ipv4: Move exception bucket to nh_common
  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

 include/net/ip6_fib.h    |  11 +-
 include/net/ip_fib.h     |   8 +-
 net/ipv4/fib_semantics.c |  45 +++----
 net/ipv4/route.c         |  75 ++++++------
 net/ipv6/addrconf.c      |   6 +-
 net/ipv6/ip6_fib.c       |  62 ++++------
 net/ipv6/route.c         | 302 +++++++++++++++++++++++++++++++++--------------
 7 files changed, 305 insertions(+), 204 deletions(-)

-- 
2.11.0