Jumbo Packet fail.

Zaphod Beeblebrox zbeeble at gmail.com
Sat Nov 17 22:32:49 UTC 2012

I recently started using an iSCSI disk on my ZFS array seriously from
a windows 7 host on the network.  The performance is acceptable, but I
was led to believe that using Jumbo packets is a win here.  My win7
motherboard adapter did not support jumbo frames, so I got one that
did... configured it, etc.  Just in case anyone cares, the motherboard
had an 82567V-2 (does not support jumbo frames) and I added in an
intel 82574L based card.

Similarly, I configured em0 on my FreeBSD host to have an MTU of 9014
bytes (I also tried 9000).  The hardware on the FreeBSD 9.1RC2 side

em0: <Intel(R) PRO/1000 Network Connection 7.3.2> port 0xdc00-0xdc1f
mem 0xfcfe0000-0xfcffffff,0xfcfc0000-0xfcfdffff irq 16 at device 0.0
on pci3

pciconf -lv identifies the chipset as 82572EI

Now... my problem is that the windows machine correctly advertises an
MSS of 8960 bytes in it's SYN packet while FreeBSD advertises 1460 in
the syn-ack.

[1:42:342]root at vr:/usr/local/etc/istgt> ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9014
        ether 00:15:17:0d:04:a8
        inet netmask 0xffffffe0 broadcast
        inet6 fe80::215:17ff:fe0d:4a8%em0 prefixlen 64 scopeid 0x5
        inet6 2001:1928:1::52 prefixlen 64
        inet netmask 0xffffff00 broadcast
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active

I have tested this with both ipv4 and ipv6 connections between the
win7 host and the FreeBSD server.  win7 always requests the larger
mss, and FreeBSD the smaller.

More information about the freebsd-performance mailing list