summaryrefslogtreecommitdiffstats
path: root/include/net/ip6_fib.h
diff options
context:
space:
mode:
authorDavid Ahern2019-06-08 23:53:34 +0200
committerDavid S. Miller2019-06-10 19:44:57 +0200
commit5b98324ebe29f4494b0fc45bde2d47ee716518fd (patch)
tree2e1bca429dcd237fbb858a42e5b5382eaf9f3bd3 /include/net/ip6_fib.h
parentipv4: Optimization for fib_info lookup with nexthops (diff)
downloadkernel-qcow2-linux-5b98324ebe29f4494b0fc45bde2d47ee716518fd.tar.gz
kernel-qcow2-linux-5b98324ebe29f4494b0fc45bde2d47ee716518fd.tar.xz
kernel-qcow2-linux-5b98324ebe29f4494b0fc45bde2d47ee716518fd.zip
ipv6: Allow routes to use nexthop objects
Add support for RTA_NH_ID attribute to allow a user to specify a nexthop id to use with a route. fc_nh_id is added to fib6_config to hold the value passed in the RTA_NH_ID attribute. If a nexthop id is given, the gateway, device, encap and multipath attributes can not be set. Update ip6_route_del to check metric and protocol before nexthop specs. If fc_nh_id is set, then it must match the id in the route entry. Since IPv6 allows delete of a cached entry (an exception), add ip6_del_cached_rt_nh to cycle through all of the fib6_nh in a fib entry if it is using a nexthop. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r--include/net/ip6_fib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index ac0427c096f3..1e92f1500b87 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -49,6 +49,7 @@ struct fib6_config {
u16 fc_delete_all_nh : 1,
fc_ignore_dev_down:1,
__unused : 14;
+ u32 fc_nh_id;
struct in6_addr fc_dst;
struct in6_addr fc_src;