Subject: Re: IPv6 problem, UltraSparc-specific?
To: None <port-sparc64@netbsd.org>
From: Andreas Mueller <mailinglists@andreas-mueller.com>
List: port-sparc64
Date: 06/26/2007 23:44:28
You wrote:
> On Tue, Jun 26, 2007 at 01:46:03PM +0200,
>  Stephane Bortzmeyer <stephane@sources.org> wrote
>
>  a message of 76 lines which said:
> > 13:33:43.088932 2001:7a8:7509:0:a00:20ff:fe99:faf4.65527 >
> >   2001:660:3003:2::4:20.80: S 1901257151:1901257151(0) win 32768
> > <mss 33076,nop,wscale 0,sackOK,nop,nop,nop,nop,timestamp 0[|tcp]>
> > [flowlabel 0x6a261]
>
> Pascal Hambourg (thanks to him) spotted the problem here. The client
> machine, the UltraSparc NetBSD, announces a MSS of 33076 bytes, which
> has little chance of success.
>
> Why 33076? I do not know, but it triggers the sending of big packets
> by the server, packets which are too big and, apparently, the ICMP
> "Packet too big" message got lost.
>
> Setting net.inet6.tcp6.mss_ifmtu=1 with sysctl, the problem
> disappeared.

I fired up my Ultra1 (which has NetBSD 4.0_BETA2 on it), I used the same 
command as you and it doesn't show this problem. The radvd on my Linux 
router advertises
   AdvLinkMTU 1472;
and tcpdump shows that the mss used is 1440:

23:29:59.411433 IP6 2001:a60:f014:2:a00:20ff:fe86:3ff5.65533 > 
2001:660:3003:2::4:20.http: S 128054035:128054035(0) win 32768 <mss 
1440,nop,wscale 0,sackOK,nop,nop,nop,nop,timestamp 0[|tcp]>

net.inet6.tcp6.mss_ifmtu is set to 0 here.

So this seems to be a problem which is fixed in 4.0, whether this was 
done intentionally or not I don't know. However, I can try to reproduce 
this on other systems running various versions of NetBSD (sparc, alpha, 
prep, ibmnws).