lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <48AEB204.9010805@SiriusIT.co.uk>
Date:	Fri, 22 Aug 2008 13:33:08 +0100
From:	Duncan Gibb <Duncan.Gibb@...iusIT.co.uk>
To:	netdev@...r.kernel.org
Subject: Realtek 8139 max MTU

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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ