Subject: MTU and TCP transmit offload.

From: Ben Greear <[email-masked]>
Date: Wed, 21 Sep 2011 14:06:54 -0700

We saw something interesting while doing some testing
on 3.0.4.

We configured 2 Ethernet NICs with standard 1500 MTU, and added
a mac-vlan on each, with MTU of 300.  The goal was to generate as
many ~300 byte TCP packets as possible, for load testing purposes.
We configured our tool to open sockets on the mac-vlans and send/receive
TCP (IPv4) traffic.

This actually seems to work quite nicely, allowing user-space to
do large writes (24k in our case), and it appears have lots of
small packets on the wire.  We still need to sniff with external
system to verify this..but packets-per-second counters look good.

Evidently this all works because macvlans know that the NIC
can do TSO, and the '300' MTU is passed in the big packet
given to the NIC.

This got me thinking...at least for my purposes, it would be
nice to have a per-socket 'MTU' setting.  The idea is that
you could ask the NIC to do the TSO at whatever 'mtu' you
wanted, without having to resort to mac-vlans with artificially
small MTU.

So, is there any interest in supporting such a socket option?

I can't think of any use besides TCP traffic load testing, but
perhaps someone else can think of one?  Or, is load-testing
enough?

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com