ipv6: Stop /128 route from disappearing after pmtu update
authorMartin KaFai Lau <kafai@fb.com>
Tue, 28 Apr 2015 20:03:05 +0000 (13:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 May 2015 00:57:06 +0000 (20:57 -0400)
commit653437d02f1f12d528c290e64f6dc54be1224db2
treea6d964f38eaeeb0933f5019ac3be45b546b96163
parent9fbdcfaf97bf4b7d4fbd5b6a61f72167c73f37d9
ipv6: Stop /128 route from disappearing after pmtu update

This patch is mostly from Steffen Klassert <steffen.klassert@secunet.com>.
I only removed the (rt6->rt6i_dst.plen == 128) check from
ip6_rt_update_pmtu() because the (rt6->rt6i_flags & RTF_CACHE) test
has already implied it.

This patch:
1. Create RTF_CACHE route for /128 non local route
2. After (1), all routes that allow pmtu update should have a RTF_CACHE
   clone.  Hence, stop updating MTU for any non RTF_CACHE route.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Reviewed-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c