* [PATCH net-next v1] ip6: fix PMTU discovery when using /127 subnets
@ 2017-07-15 17:40 Vincent Bernat
2017-07-16 23:37 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Vincent Bernat @ 2017-07-15 17:40 UTC (permalink / raw)
To: Martin KaFai Lau, David S. Miller, Alexey Kuznetsov,
Hideaki YOSHIFUJI, netdev
Cc: Vincent Bernat
The definition of an "anycast destination address" has been tweaked as a
side-effect of commit 2647a9b07032 ("ipv6: Remove external dependency on
rt6i_gateway and RTF_ANYCAST"). The first address of a point-to-point
/127 subnet is now considered as an anycast address. This prevents
ICMPv6 errors to be returned to a sender of such a subnet and breaks
PMTU discovery.
This can be reproduced with:
ip link add name out6 type veth peer name in6
ip link add name out7 type veth peer name in7
ip link set mtu 1400 dev out7
ip link set mtu 1400 dev in7
ip netns add next-hop
ip netns add next-next-hop
ip link set netns next-hop dev in6
ip link set netns next-hop dev out7
ip link set netns next-next-hop dev in7
ip link set up dev out6
ip addr add 2001:db8:1::12/127 dev out6
ip netns exec next-hop ip link set up dev in6
ip netns exec next-hop ip link set up dev out7
ip netns exec next-hop ip addr add 2001:db8:1::13/127 dev in6
ip netns exec next-hop ip addr add 2001:db8:1::14/127 dev out7
ip netns exec next-hop ip route add default via 2001:db8:1::15
ip netns exec next-hop sysctl -qw net.ipv6.conf.all.forwarding=1
ip netns exec next-next-hop ip link set up dev in7
ip netns exec next-next-hop ip addr add 2001:db8:1::15/127 dev in7
ip netns exec next-next-hop ip addr add 2001:db8:1::50/128 dev in7
ip netns exec next-next-hop ip route add default via 2001:db8:1::14
ip netns exec next-next-hop sysctl -qw net.ipv6.conf.all.forwarding=1
ip route add 2001:db8:1::48/123 via 2001:db8:1::13
sleep 4
ping -M do -s 1452 -c 3 2001:db8:1::50 || true
ip route get 2001:db8:1::50
Before the patch, we get:
2001:db8:1::50 from :: via 2001:db8:1::13 dev out6 src 2001:db8:1::12 metric 1024 pref medium
After the patch, we get:
2001:db8:1::50 via 2001:db8:1::13 dev out6 src 2001:db8:1::12 metric 0
cache expires 578sec mtu 1400 pref medium
Fixes: 2647a9b07032 ("ipv6: Remove external dependency on rt6i_gateway and RTF_ANYCAST")
Signed-off-by: Vincent Bernat <vincent@bernat.im>
---
include/net/ip6_route.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
index 199056933dcb..907d39a42f6b 100644
--- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h
@@ -194,7 +194,7 @@ static inline bool ipv6_anycast_destination(const struct dst_entry *dst,
struct rt6_info *rt = (struct rt6_info *)dst;
return rt->rt6i_flags & RTF_ANYCAST ||
- (rt->rt6i_dst.plen != 128 &&
+ (rt->rt6i_dst.plen < 127 &&
ipv6_addr_equal(&rt->rt6i_dst.addr, daddr));
}
--
2.13.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net-next v1] ip6: fix PMTU discovery when using /127 subnets
2017-07-15 17:40 [PATCH net-next v1] ip6: fix PMTU discovery when using /127 subnets Vincent Bernat
@ 2017-07-16 23:37 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2017-07-16 23:37 UTC (permalink / raw)
To: vincent; +Cc: kafai, kuznet, yoshfuji, netdev
From: Vincent Bernat <vincent@bernat.im>
Date: Sat, 15 Jul 2017 19:40:20 +0200
> The definition of an "anycast destination address" has been tweaked as a
> side-effect of commit 2647a9b07032 ("ipv6: Remove external dependency on
> rt6i_gateway and RTF_ANYCAST"). The first address of a point-to-point
> /127 subnet is now considered as an anycast address. This prevents
> ICMPv6 errors to be returned to a sender of such a subnet and breaks
> PMTU discovery.
...
> Fixes: 2647a9b07032 ("ipv6: Remove external dependency on rt6i_gateway and RTF_ANYCAST")
> Signed-off-by: Vincent Bernat <vincent@bernat.im>
Applied.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-07-16 23:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-15 17:40 [PATCH net-next v1] ip6: fix PMTU discovery when using /127 subnets Vincent Bernat
2017-07-16 23:37 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).