# [Resolved] Faulty MTU with Intel e1000 card

## strc

Hi,

Recently, I had some network problems with an app (Second Life), and eventually determined that the issue was caused by a "bad" MTU on my Intel e1000 ethernet card.  The MTU was somehow set to 576; a simple 

```
ifconfig eth0 mtu 1500
```

 fixed the problem.

So I know how to fix the problem, but I want to understand: what would set the MTU to another value than 1500?  I haven't altered my kernel or modules since before the problem appeared, and I can't find anything in /etc/conf.d/net that would obviously change the MTU, so I'm curious what the source of the problem could be.  This network card is set to autodetect media, and it's currently plugged into a switch, running in 100mbit full duplex mode.  Thanks for your insight into this matter.  =)Last edited by strc on Thu Apr 19, 2007 2:03 am; edited 1 time in total

----------

## Keruskerfuerst

Usually the maximum setting of MTU is 1492 and not 1500.

I really don´t know any cause, why MTu is set to 576.

----------

## strc

Thanks for the info Keruskerfuerst.  Hopefully there's no real difference between 1492 and 1500. =)

I guess I should add that last night I set the MTU to 1500, but by this morning it was 576 again, even though I didn't reboot or restart any system processes.   :Rolling Eyes:     Maybe some crappy app is changing the MTU, but I'd imagine it would need root privileges...

----------

## think4urs11

 *Keruskerfuerst wrote:*   

> Usually the maximum setting of MTU is 1492 and not 1500.

 

Plain wrong as long as we talk about a 'default' Ethernet-LAN.

For sake of completeness max. IP MTU is:

16 MBit/s Token Ring --- 17914

4 MBit/s Token Ring --- 4464

FDDI --- 4352

Ethernet --- 1500

IEEE 802.3/802.2 --- 1492

PPPoE --- 1492

X.25 --- 576

SLIP/PPP (low delay) --- 296

----------

## strc

As an update, my ethernet card has had its MTU reset to 576 twice in the past 12 hours or so.  In the meantime, I haven't rebooted or restarted any network apps run by root.  To fix the problem, I've been manually setting the MTU back to 1500 using ifconfig.  Any insights into my MTU setting's bad behavior are greatly appreciated, for example if a certain application would mistake my ethernet card for an X.25 device.

----------

## UberLord

It's an issue with dhcpcd-3.0.16 with some routers.

Upgrading to dhcpcd-3.0.17 masks the issue with the router.

----------

## strc

Oh wow, I guess that's the answer, uberlord.  The timestamp on my dhcpcd-3.0.16 binary coincides with the time I started to have these issues.  I updated to 3.0.17 and will consider the issue resolved unless the MTU returns to 576. Thanks for your help.

----------

## UberLord

Still, I would bitch to the people that made the router as it's informing the NIC that its MTU should be 64, which is lower than the bare minimum 68 for ethernet and 576 for dhcp. dhcpcd-3.0.16 set the mtu to 576 if lower than 576, 3.0.17 now ignores MTU values lower than 576.

You could argue that either implementation is correct.

You cannot argue that the router is correct as a whireshark trace will prove me right  :Razz: 

----------

## strc

Well, 576 was too low for some of my apps.  I tried 3.0.17 as you recommended, but it also sets the MTU to 576.  Reverting to 2.0.5-r1 keeps the MTU at 1500.  I'm not sure if that's broken behavior (maybe the DHCP server is giving an MTU of 576 and 2.0.5 ignores it?), but the end result is more useful to me.

By the way, my ISP's router seems to be a Cisco, from the MAC prefix (00:05:74).  I'm not sure if that indicates more bugs or fewer bugs than your average router.  :Wink: 

----------

## UberLord

Heh - some ISP's set the MTU to 576 regardless. There's also the -M option in 3.0.17 which means totally ignore the MTU ....

----------

## Stever

Thanks for the tip on the -M option - wireshark confirms that my Cable ISP also seems to be setting MTU to 576.

Now could there be any good reason for this?  MTU of 1500 has been working fine for years, and as far as I can tell with wireshark nobody else is even requesting the MTU in their DHCP requests.

P.S. Compiling wireshark on 64MB RAM is a pretty good way to see if your router still works under heavy swapping  :Smile: 

----------

## UberLord

Well, we had a request that dhcpcd obey the MTU of DHCP servers. Which is a valid request. See this thread for a valid example of this. https://forums.gentoo.org/viewtopic-t-557082.html

As to why some cable companies set 576 ... well, maybe they think a really low MTU results in more reliable data flow even if it affects overall throughput. I would bitch to your ISP personally. They must have some explanation, no matter how silly  :Smile: 

----------

## Cyker

Either that or they're using the same DHCP servers to serve broadband and their modem racks - Modem/PPP connections typically use the 576 value for MTU.

----------

## Stever

Setting the MTU based on the DHCP server provided value definitely seems like the right behavior, I'm just glad you provided a way to override it.  Just because I plug an ethernet cord into a modem doesn't mean I trust the people at the other end to configure my hardware.  All I need from them is an IP address and a default route - the rest I can handle myself  :Smile: 

 *UberLord wrote:*   

> I would bitch to your ISP personally. They must have some explanation, no matter how silly 

 

From my experience, I'd have to get through two layers of "customer service" before I could talk to anyone who knew what a MTU was  :Wink:  .  From a little googling, it looks like 576 is a default in some router setups, so I think the most likely explanation is that nobody at the ISP touches the default config.  They must all be too busy setting their DNS servers to redirect invalid domain names to their search page.  :Rolling Eyes: 

----------

