Score:1

Unable to ping device with MTU 9000 (jumbo frame), but default ping error message shows up

ec flag

I need to set a local connection with Jumbo Frames enabled.

I set up my network adapter to have a MTU of 9000.

~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::215:5dff:fe8a:1792  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:8a:17:92  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5  bytes 398 (398.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

I checked my network adapter settings, everything is okay. I am using WSL2 and the MTU size is 9000 in Ubuntu and on my network adapter settings (using netsh and Get-NetAdapterAdvancedProperty from Powershell).

However, when I ping my reomte device (IP 10.0.0.10) by specifying the packet size, I get a fail. The strange thing is that it is not the "large packet" error message that displays, but simply the "ping failed". To compare, let me show you the result of a normal ping (#1), a ping with a packet too large (#2), and a ping with a packet that should be handled by the jumbo frame (#3).

# 1.
~$ ping 10.0.0.10
PING 10.0.0.10 (10.0.0.10) 56(84) bytes of data.
64 bytes from 10.0.0.10: icmp_seq=2 ttl=64 time=1.49 ms

# 2.
~$ ping 10.0.0.10 -c 10 -M do -s 10000
PING 10.0.0.10 (10.0.0.10) 10000(10028) bytes of data.
ping: local error: message too long, mtu=9000

# 3. 
~$ ping 10.0.0.10 -c 10 -M do -s 8900
PING 10.0.0.10 (10.0.0.10) 8900(8928) bytes of data.
--- 10.0.0.10 ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9368ms

As you see, behavior #1 and #2 are normal, but not #3. The packet size is not too big to be handled by MTU (or else, I would have had the same error as #2).

I looked this problem up online and the answer I found was: my PC is configured correctly, but the receiving device does NOT have a MTU big enough. However, this device is specifically made to handle these large packets, I contacted the device's maker and they told me that it natively handles jumbo frames.

The problem seems to be on my connection, but I can't find anything.

24601 avatar
in flag
how does this relate to ask ubuntu?
C. Crt avatar
ec flag
I thought it was suited for AskUbuntu because of the `windows-susbsystem-for-linux`; `networking` and `ethernet` tags. As a matter of fact, AskUbuntu has been very helpful to me in the past regarding WSL2 and networking questiosn. Please excuse me if this is not suited for this forum.
Doug Smythies avatar
gn flag
From what you have provided, it look as though ping is working fine and it is 10.0.0.10 that is not responding. Suggest you run tcpdump (or wireshark, if you prefer) to see if the packets actually go out and there is no response. I do not know if tcpump works on WSL2. Is there a size that does work? Like 5000?
C. Crt avatar
ec flag
@DougSmythies Thanks for the answer! Tcpdump should work on WSL2 but I had Wireshark installed so I went with it. Here is an album of a few screenshots: https://imgur.com/a/fyD2gIX Turns out the ping is sent but gets no reply. I tried packet sizes default, 1000, 4000 and 8972 and the latter 2 get no reply.
NotTheDr01ds avatar
vn flag
@C.Crt You mention that the Windows NIC is showing 9000 for the MTU with `Get-NetAdapterAdvancedProperty`, but is it also showing `Jumbo Frame` enabled? Just asking because you mention the MTU explicitly but not the Jumbo Frame option. Also, can you `ping -f -l 9000 10.0.0.10` from PowerShell successfully?
C. Crt avatar
ec flag
@NotTheDr01ds Very good point thanks, but it's not that. `Jumbo Frame` is set to `enabled` for all networks. I can't ping either from PowerShell. I tried different package sizes and it seems like 972 is the maximum size I can ping.
NotTheDr01ds avatar
vn flag
@C.Crt Hmm. So if you can't ping from PowerShell, we know it's something outside of Ubuntu and WSL, at least, right? It's seems that it's going to be a something at the Windows layer, the switch, or the end device. My guess at this point (based on your Windows configuration being correct but posh still not working) would be a switch? In any case, it seems that you'd get better subject matter expertise over at [Super User](https://superuser.com) if you'd like to delete here and repost there (with the additional details we've learned in the comments, of course).
C. Crt avatar
ec flag
@NotTheDr01ds Good point. I made a ["sister post" at SuperUser](https://superuser.com/questions/1774753/unable-to-ping-device-with-jumbo-packets-mtu-9000-default-ping-error-message?noredirect=1#comment2767438_1774753) but it was removed. In the meantime, you're right. I also tried with and without a switch and the result is the same. I will try to reinstall the firmware on the external device. Just something that puzzles me: a few days ago, everything worked great, and I didn't even turn off my PC since...
C. Crt avatar
ec flag
Also @NotTheDr01ds I recognize your username from a previous post where you helped me. Thanks for what you do!
NotTheDr01ds avatar
vn flag
@C.Crt You're welcome - And voted to reopen the Super User question.
Doug Smythies avatar
gn flag
I agree with Spiff over on that thread. It seems to me that your issue is at the 10.0.0.10 end.
C. Crt avatar
ec flag
So, turns out that the device is not made to handle jumbo packets from ICMP, but using a custom protocol on portt 6006. So it's actually not supposed to accept pings with an MTU of 9000. I think we can close the question, thanks a lot all for your input.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.