Link to home
Start Free TrialLog in
Avatar of drezzzz
drezzzz

asked on

Manually setting MTU larger than 1500 failed

I am trying to set a larger MTU on my network card in Ubuntu and it always fail :
#> ifconfig eth0 mtu 9000
SIOCSIFMTU: Invalid argument

My network card is a VmWare (AMD 79c970).

It seems like a restriction somewhere ?
Avatar of omarfarid
omarfarid
Flag of United Arab Emirates image

For ethernet, the max MTU is 1500
Please see the following doc regarding jumbo frames:
http://blog.scottlowe.org/2008/04/22/esx-server-ip-storage-and-jumbo-frames/
Avatar of drezzzz
drezzzz

ASKER

For the record, I already set my feeding server mtu (e1000/inetl Pro 1000 PT on Ubuntu 8.1) to 9000 without problem. The testing client, the vmware one, still refuse to let me increase the MTU.

The MTU increase of the vSwitch was already done.

Is it possible that there was some kernel/module parameter that restrict it. The module used is PCnet32 LANCE.
Install VMware tools to it will use a proper networking driver.
The Spec says 1500 is the max MTU allowed. Just because the software on one side let you do it doesnt mean its allowable. The other end is actually catching this fact and giving you an error.

Media                             Max MTU
Ethernet (RFC 1191)       1500
What is the purpose of increasing MTU ?
Avatar of drezzzz

ASKER

First, I setup a SAN with ietd. All performance howto recommand to increase the MTU to help iscsi perform faster. Seems good to me !

Second, all this MTU things point me all the error I got in the vmware-tools install was very bad for performmance. Since I'm using a kernel 2.6.24, I encountered a bug with the vmware-tool. I am in the process of installing the open-tool following this howto http://diamondsw.dyndns.org/Home/Et_Cetera/Entries/2008/4/25_Linux_2.6.24_and_VMWare.html. I will be back with the result.
ASKER CERTIFIED SOLUTION
Avatar of ravenpl
ravenpl
Flag of Poland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of drezzzz

ASKER

I finnaly get it !
I needed to make vmware supplie my guest with a "vmxnet enhanced" device instead of the default "flexible" type. This is done in the .vmx file of the guest. Then make sure ubuntu detect the device and use the vmxnet driver. And then, just set the mtu with the standard command.

It seems that effectively, some device or driver just don't support a mtu higher than 1500.

Result :
I get from 62MB/s to 93MB/s ! exx-ellent Smithers !
You don't need to edit the .vmx file manually. If it needs to be changed, it's done automaticly when the VMware Tools are installed. When you install VMware Tools the vmxnet driver will be installed and you will get a paravirtualized nic in your guest providing better performance.

Lars
Avatar of drezzzz

ASKER

My experience wasn't that smooth. When I installed the vmware-tool, linux keep the PCnet32 driver. I got no possibility to change the "flexible" mode of the adapter. That's why I change it in the file. And manually activate the "jumbo frame" with ethernet[n].features = "15". It worked well.