Realtek 8139 max MTU
From: Duncan Gibb <hidden>
Date: 2008-08-22 13:00:57
Hello Question for someone who knows the 8139cp driver... Looking for a workaround for some other issues, I've felt the need to raise the MTU on some RealTek 8139C+ network cards above 1500 bytes. On a stock Debian 2.6.24-etchnhalf.1-686 kernel, however, MTUs higher than 1500 (or more reasonably below 68) give SIOCSIFMTU: Invalid argument. I can't use a different NIC because the chips are hardwired to the devices I want to talk to. The cards are http://www.traverse.com.au/productview.php?product_id=115 01:08.0 0200: 10ec:8139 (rev 20) Subsystem: 10ec:8139 Flags: bus master, medium devsel, latency 64, IRQ 31 I/O ports at 2000 [size=256] Memory at fe7f0000 (32-bit, non-prefetchable) [size=256] Capabilities: [50] Power Management version 2 I'm driving them with the 8139cp module. 8139too works as well (with the same limitations), but logs a recommendation to use 8139cp. I've read net/dev/core.c, drivers/net/8139too.c and drivers/net/8139cp.c but, not being a kernel hacker or a low-level network person, don't know where the 1500-byte limit is imposed. 8139cp defines CP_MAX_MTU as 4096, but the cp_change_mtu hook function in which that would be used is inside an "#ifdef BROKEN" (drivers/net/8139cp.c lines 1248 to 1281 and 1948). Can someone give me some pointers wrt what the hardware can really do and where in the drivers/tools I should look to make it happen? Better still, does anyone remember why the above code is in an "#ifdef BROKEN" and what needs to be fixed? Cheers Duncan -- Duncan Gibb, Technical Architect Sirius Corporation - The Open Source Experts http://www.siriusit.co.uk/ Tel: +44 870 608 0063 || +44 7977 441 515