Unable to set socket size > 16MB
Max Laier
max at love2party.net
Tue Aug 21 02:14:25 PDT 2007
On Monday 20 August 2007, Kevin Oberman wrote:
> I am trying to tune a FreeBSD system for ~100 ms. RTT at 10 Gbps. (I
> posted another message about this back on 8/17). I am running current
> of late July 31.
>
> I am using iperf and I have confirmed (with gdb) that it is passing
> setsockopt a size of 67108864 and setsockopt is returning 0. When I
> capture the SYN packets, I am seeing a window of 64K and a scale
> factor of 8. For 64 MB, the scale factor should be 10.
>
> Is there some hidden limitation that would restrict this or is there a
> bug involved? I have set net.inet.tcp.(send|recv)space to
> 64m. kern.ipc.maxsockbuf=134217728.
>
> Here is the 3-way handshake:
> 13:57:45.571614 IP lbl.52460 > perf-bnl.commplex-link: S
> 4070670678:4070670678(0) win 65535 <mss 8960,nop,wscale
> 8,sackOK,timestamp 345761341 0> 13:57:45.665645 IP
> perf-bnl.commplex-link > lbl.52460: S 3909263475:3909263475(0) ack
> 4070670679 win 65535 <mss 8960,nop,wscale 8,nop,nop,timestamp
> 3623078172 345761341> 13:57:45.665683 IP lbl.52460 >
> perf-bnl.commplex-link: . ack 1 win 65535 <nop,nop,timestamp 345761435
> 3623078172>
>
> Any reason for this? Any workaround or fix? Or am I missing something?
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_syncache.c#rev1.104
seems to be the culprit:
while (wscale < TCP_MAX_WINSHIFT &&
(0x1 << wscale) < tcp_minmss)
/* 216 */
wscale++;
It's obvious that the above will bound wscale to 8 with the default of 216
for minmss. You should be able to set a higher minmss for a temporary
work around, but this calculation really seems wrong to me. Esp. given
the following comment for tcp_minmss:
...
* with packet generation and sending. Set to zero to disable MINMSS
* checking. This setting prevents us from sending too small packets.
*/
--
/"\ Best regards, | mlaier at freebsd.org
\ / Max Laier | ICQ #67774661
X http://pf4freebsd.love2party.net/ | mlaier at EFnet
/ \ ASCII Ribbon Campaign | Against HTML Mail and News
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20070821/50ada985/attachment.pgp
More information about the freebsd-net
mailing list