Re: IPv6 path MTU discovery not working (large number of retransmited TCP data packets)
Greg Troxel <[email protected]> Mon, 26 May 2025 19:26:17 -0400
| Newsgroups | gmane.os.netbsd.devel.network |
|---|---|
| Message-ID | <[email protected]> |
Christof Meerwald <[email protected]> writes: > Ok, did some debugging... Great! > It seems to fail to allocate a new route in icmp6_mtudisc_clone: > > error = rtrequest(RTM_ADD, dst, rt->rt_gateway, NULL, > RTF_GATEWAY | RTF_HOST | RTF_DYNAMIC, &nrt); > > where it returns error 51 (ENETUNREACH). I am pretty sure that this is about adding a host route with the mtu set so that outgoing packets hit that. The idea is that it should go to the same place that the packet goes to via the regular routing lookup. > Now I could imagine that the way the default route is set up might > have something to do with it, i.e. I am following what was discussed > here: > > https://mail-index.netbsd.org/tech-net/2025/01/19/msg008956.html > > so I have > > 2a03:d9c2:100::1 -connected -ifp vioif0 > > in /etc/mygate6 That's asking for trouble even if you can make it work :-) > And that indeed seems to be causing the issue here. If I change the > network configuration to use a /48 and just put "2a03:d9c2:100::1" > into /etc/mygate6, then it works as expected. Generally, links are /64, and you'd have a default gateway that is on the same /64 as you, or use the link local address via route6d or something like that. I have a bunch of UGHD routes with mtu 1280 in my main machine's routing table right now. I guess the question then is how to deal with an odd situation in the best way.