Andrew Gallatin wrote:
> 
> For the case where the mtu is larger than MCLBYTES (2048), FreeBSD's
> TCP implementation restricts the mss to a multiple of MCLBYTES.  This
> appears to have been inherited from 4.4BSD-lite.
> 
> On adapters with 9000 byte jumbo frames, this limits the mss to 8192
> bytes, and wastes nearly 1KB out of each frame.  This is especially
> annoying because many drivers for adapters which support 9000 byte mtus
> allocate their own 9000 byte receive buffers and don't even use mbufs
> which are MCLBYTES in length.  In this case, the mss restriction guarantees
> a nearly 1000 byte wastage per frame.

When I was implementing the tcp_hostcache I reorganized/redid the
tcp_mss() function and wondered about that too.  I don't know if
this rounding to MCLBYTES is still the right thing to do.

> Would it be OK if I made this code optional via a sysctl?

Could you run some bechmarks with the current MCLBYTES rounding
and without it on 100Mbit 1.5kMTU and GigE with 9k MTU?

-- 
Andre
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to