Is enabling jumbo frames on RTL8111C possible?

Pyun YongHyeon pyunyh at gmail.com
Thu Jun 3 17:21:04 UTC 2010


On Thu, Jun 03, 2010 at 02:24:38PM +0200, Krzysztof Dajka wrote:
> Hi,
> 
> I'm trying to enable jumbo frames on my re0 NIC. I tried:
> # ifconfig re0 mtu 1600
> ifconfig: ioctl (set mtu): Invalid argument
> 
> I have found in /usr/src/sys/dev/re/if_re.c
>  /*
> * These controllers support jumbo frame but it seems
> * that enabling it requires touching additional magic
> * registers. Depending on MAC revisions some
> * controllers need to disable checksum offload. So
> * disable jumbo frame until I have better idea what
> * it really requires to make it support.
> * RTL8168C/CP : supports up to 6KB jumbo frame.
> * RTL8111C/CP : supports up to 9KB jumbo frame.
> */
> 
> pciconf -lv shows:
> re0 at pci0:2:0:0: class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x02
> hdr=0x00
> vendor = 'Realtek Semiconductor'
> device = 'Gigabit Ethernet NIC(NDIS 6.0) (RTL8168/8111/8111c)'
> class = network
> subclass = ethernet
> 
> Do I need to set some quirks in boot process to enable jumbo frames, or it
> cannot be done because it's not implemented in the driver.
> I tried setting larger mtu than 1500 on Debian Squeeze and it worked well,
> so definitely my chip supports jumbo frames

RealTek no longer releases datasheet so it's hard to know required
information to support jumbo frame. It seems driver released by
vendor has magic code which enables jumbo frame as well as DSP 
fixups. The magic code is very complex and hard to understand the
meaning. It seems Linux borrowed the magic code from vendor but I
guess they also don't know what the magic code does and why the
magic is needed.

Controllers targeted to servers show very good performance number
with jumbo frame(e.g. about 990Mbps for bulk TCP transfers) but I'm
not sure how well consumer controller works with jumbo frame.
Vendor driver disables checksum offloading when jumbo frame is
used. This indicates the controller has very small FIFO(less than 1
jumbo frame size) which in turn means it may show poor performance
under load.


More information about the freebsd-net mailing list