Patch "net: ipv6: Do not consider link state for nexthop validation" has been added to the 4.8-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
net: ipv6: Do not consider link state for nexthop validation
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-ipv6-do-not-consider-link-state-for-nexthop-validation.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Nov 10 16:43:03 CET 2016
From: David Ahern <[email protected]>
Date: Mon, 24 Oct 2016 12:27:23 -0700
Subject: net: ipv6: Do not consider link state for nexthop validation
From: David Ahern <[email protected]>
[ Upstream commit d5d32e4b76687f4df9ad3ba8d3702b7347f51fa6 ]
Similar to IPv4, do not consider link state when validating next hops.
Currently, if the link is down default routes can fail to insert:
$ ip -6 ro add vrf blue default via 2100:2::64 dev eth2 RTNETLINK answers: No route to host
With this patch the command succeeds.
--- include/net/ip6_route.h | 1 + net/ipv6/route.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-)
include/net/ip6_route.h +1 -0
@@ -32,6 +32,7 @@ struct route_info {#define RT6_LOOKUP_F_SRCPREF_TMP 0x00000008#define RT6_LOOKUP_F_SRCPREF_PUBLIC 0x00000010#define RT6_LOOKUP_F_SRCPREF_COA 0x00000020 +#define RT6_LOOKUP_F_IGNORE_LINKSTATE 0x00000040/* We do not (yet ?) support IPv6 jumbograms (RFC 2675) * Unlike IPv4, hdr->seg_len doesn't include the IPv6 header
net/ipv6/route.c +4 -2
@@ -656,7 +656,8 @@ static struct rt6_info *find_match(strucstruct net_device *dev = rt->dst.dev;if (dev && !netif_carrier_ok (dev) && - idev->cnf.ignore_routes_with_linkdown) + idev->cnf.ignore_routes_with_linkdown && + !(strict &RT6_LOOKUP_F_IGNORE_LINKSTATE )) goto out;if (rt6_check_expired (rt))
@@ -1050,6 +1051,7 @@ struct rt6_info *ip6_pol_route(struct neint strict =0 ; strict |= flags &RT6_LOOKUP_F_IFACE ; + strict |= flags &RT6_LOOKUP_F_IGNORE_LINKSTATE ;if (net->ipv6.devconf_all->forwarding ==0 ) strict |=RT6_LOOKUP_F_REACHABLE ;
@@ -1783,7 +1785,7 @@ static struct rt6_info *ip6_nh_lookup_ta };struct fib6_table *table;struct rt6_info *rt; -int flags =RT6_LOOKUP_F_IFACE ; +int flags =RT6_LOOKUP_F_IFACE |RT6_LOOKUP_F_IGNORE_LINKSTATE ; table =fib6_get_table (net, cfg->fc_table);if (!table)
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/net-ipv6-do-not-consider-link-state-for-nexthop-validation.patch queue-4.8/net-core-correctly-iterate-over-lower-adjacency-list.patch