Subject: Re: IPv6 PMTUD broken
To: None <tech-net@NetBSD.org>
From: Ronald van der Pol <Ronald.vanderPol@rvdp.org>
List: tech-net
Date: 06/17/2004 13:41:39
On Wed, Jun 09, 2004 at 22:14:48 +0200, Ronald van der Pol wrote:

> On Fri, Jun 04, 2004 at 20:15:51 +0900, Jun-ichiro itojun Hagino wrote:
> 
> > > Anything else I could try to pinpoint this?
> > 
> > 	try monitoring how it works with netstat -rn, netstat -sn and tcpdump,
> > 	and compare them... (yes, it's painful i guess)
> 
> The problem only seems to happen with sendto().

I had some private discussions with Itojun and this issue is solved now.

It turned out I only had an issue when using an unconnected UDP socket.
Such sockets are not notified of MTU changes. This is the behaviour
of the 4.4BSD IPv4 code and it was copied to the KAME IPv6 code.

OpenBSD behaves like NetBSD, FreeBSD (and MacOSX) unconnected UDP sockets
do get notified of MTU changes.

Applications can set the IPV6_USE_MIN_MTU sockoption (see RFC3542). However,
this was not implemented on NetBSD yet. Itojun has implemented it on
-current now.

Maybe we should discuss the pros and cons of notifying unconnected UDP
sockets of MTU changes?

	rvdp