Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Jumbo Frames [SOLVED]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Fri Nov 24, 2006 8:23 pm    Post subject: Jumbo Frames [SOLVED] Reply with quote

I have 2 linux machines
the first has a nforce 4 chipset with a gigabyte nic identified as
Code:
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)


ifconfig lists
Code:
eth0      Link encap:Ethernet  HWaddr 00:15:58:11:09:A9 
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4092 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2516 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:483502 (472.1 Kb)  TX bytes:351905 (343.6 Kb)
          Interrupt:10

ethtool lists

Code:
Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

This is using the forced eth driver in the kernel
Code:
Linux mythtv 2.6.18-ck1-r2 #2 SMP Sun Nov 19 12:43:53 GMT 2006 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4800+ AuthenticAMD GNU/Linux

I want to set jumbo frames so i execute
Code:
ifconfig eth0 mtu 9000


however the result is
Code:
SIOCSIFMTU: Invalid argument


The same is true for the other machine which has deets as follows
Code:
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)


Code:
eth0      Link encap:Ethernet  HWaddr 00:14:6C:33:63:B5 
          inet addr:192.168.1.77  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19207579 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12375561 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4130092277 (3938.7 Mb)  TX bytes:1644050617 (1567.8 Mb)
          Interrupt:16 Base address:0x4400

Code:
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes


Is there some hidden kernel option I am missing here? as i do not seem to able to enable jumbo frames on either nic?

Thanks

Tim


Last edited by plink212 on Sun Jan 21, 2007 2:44 pm; edited 1 time in total
Back to top
View user's profile Send private message
anthrax
Tux's lil' helper
Tux's lil' helper


Joined: 17 Apr 2005
Posts: 105

PostPosted: Sat Nov 25, 2006 7:52 am    Post subject: Reply with quote

Since my network is not gigabit enabled, so I shall do the best I can. I may be the case that Jumbo Frames are not possible yet with the driver. However reading the gentoo-wiki page on it the guy mentioned that his Gigabit Interface could only bring its MTU up to 7200 so maybe yours is not capable of the full 9000 either. So may be google around for the max MTU of your chip/driver or use ethtool (I really dont know what one you can do this with in just guessing). One other thing you could try is bringing down your interface and then trying to apply the new MTU.

Good Luck :)
_________________
Trust is a weakness
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Sat Nov 25, 2006 10:02 am    Post subject: Reply with quote

looking in the forcedeth.c the maximum mtu is defined as 9200, so at least for the nvidia I do not think that is the case.
I have tried applying the mtu with the interface up and down but it gives the same result.
I cannot seem to set a mtu of greater than 1500 on either adapter.
Back to top
View user's profile Send private message
plink212
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 90

PostPosted: Sat Nov 25, 2006 1:39 pm    Post subject: Reply with quote

bump
Back to top
View user's profile Send private message
anthrax
Tux's lil' helper
Tux's lil' helper


Joined: 17 Apr 2005
Posts: 105

PostPosted: Tue Nov 28, 2006 6:29 pm    Post subject: Reply with quote

Then I guess I regret to say that either the nforce ethernet does support jumbo frames (not all gigabit chips do) or the forcedeth driver doesnt support it. It may be worth trying the proprietary ones from Nvidia maybe
_________________
Trust is a weakness
Back to top
View user's profile Send private message
anybody
n00b
n00b


Joined: 14 Sep 2003
Posts: 32

PostPosted: Sun Jan 21, 2007 1:15 am    Post subject: Reply with quote

This is very strange. According to nVidia Specs the nForce Gigabit adapters DO support Jumbo frames, and according to the driver it does too.

Why doesn't it work ?!? Has somebody solved this problem yet ?

I'm using an Asus A8N-VM CSM with GeForce 6150/MCP430 Chipset and a "nVidia Corporation MCP51 Ethernet Controller (rev a1)" network controller according to lspci.

I am using the very latest Kernel (2.6.20-rc5) and tried it with both "Use Rx and Tx Polling (NAPI) (EXPERIMENTAL)" On and Off.
Back to top
View user's profile Send private message
anybody
n00b
n00b


Joined: 14 Sep 2003
Posts: 32

PostPosted: Sun Jan 21, 2007 1:45 am    Post subject: Reply with quote

Even tough i have absolutely no clue about C, i just had a look at the forcedeth.c driver, trying to find out more about this problem. And i actually found the reason !!!

Let's have a look at some code snippets:

Code:
#define DEV_HAS_LARGEDESC       0x0004  /* device supports jumbo frames and needs packet format 2 */


Code:

        np->pkt_limit = NV_PKTLIMIT_1;
        if (id->driver_data & DEV_HAS_LARGEDESC)
                np->pkt_limit = NV_PKTLIMIT_2;


We can see that the higher value of 9100 (stored in NV_PKTLIMIT_2) is only enabled when DEV_HAS_LARGEDESC is present.



Now if we compare for example the hardware profiles in the driver of the old nForce 3 with the much newer MCP51, we see:

Code:

        {       /* nForce3 Ethernet Controller */
                PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_7),
                .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_LARGEDESC|DEV_HAS_CHECKSUM,


vs.

Code:

        {       /* MCP51 Ethernet Controller */
                PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_13),
                .driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_HIGH_DMA|DEV_HAS_POWER_CNTRL,



The question that remains now is: Does this hardware REALLY not support jumbo frames (which i doubt), or is it just a forcedeth bug, that nobody except us has noticed so far?

Could someone please test whether it is possible to use jumbo frames on this hardware in windows ?
Back to top
View user's profile Send private message
anybody
n00b
n00b


Joined: 14 Sep 2003
Posts: 32

PostPosted: Sun Jan 21, 2007 2:14 am    Post subject: Reply with quote

I changed the both MCP51 feature bits in the forcedeth.c code and recompiled the kernel:

Code:

tux ~ # ifconfig eth0 mtu 9100
tux ~ # ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:F2:52:D7:6A
          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:9100  Metric:1
          RX packets:461 errors:0 dropped:0 overruns:0 frame:0
          TX packets:353 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:79498 (77.6 Kb)  TX bytes:32904 (32.1 Kb)
          Interrupt:23 Base address:0x4000


However now, once i enable larger MTU sizes (i tried, 9100, 9000 and 2000), the server quickly looses the whole network connection or starts dropping SSH connections where there is more traffic than a few bytes / sec.
(For example: When starting IPTRAF, i only see the first few parts of the background and then the connection is dead before the menu shows up)

I'm starting to get the impression that this network card might actually NOT support Jumbo Frames. I found an indication that this might be true here:
http://archives.neohapsis.com/archives/openbsd/cvs/2006-02/0288.html

However, i guess for the ultimate proof, having a look in the windows device manager of such a board is needed. If that should be indeed the case, having a gigabit network card without jumbo frames is indeed a very sad thing :-(

[EDIT]
I now had someone have a look in the windows settings driver settings, in both Vista (Microsoft Driver) and Windows XP (nVidia Driver).
Both did not have Settings related to Frame Size / Jumbo Frames in the Device Manager. So i suppose this chipset really doesn't support it. I ordered an Intel PRO/1000 PT Desktop Adapter PCIe x1 Network Card therefor and will do some speed comparisons once it arrives.
[/EDIT]
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum