[Solved] MTU Calculation


I remember my ISP telling me few years ago that MTU should be 1420; the number sounded a bit less than expected, but I haven't questioned it until yesterday when I wanted check if it's correct.

My set-up is an OpenWrt router running 18.06 and connected via PPPoE WAN to ISP router that's set-up in bridge mode.

I set the WAN interface's MTU to 1500 and tried pinging form a PC connected via WiFi to OpenWrt. Maximum packet that worked without fragmentation was 1464. I expected 1472.

Invoking ifconfig command on OpenWrt gave the following

pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:xxx.xxx.xxx.xxx  P-t-P::xxx.xxx.xxx.xxx  Mask:

I tried decreasing MTU and that 8 byte difference remained there. I couldn't increase the MTU value to more than 1500 as it doesn't seem to accept it.

So what's that 8 byte difference?

Edit: I was pinging an address on the internet.


Your information is not as clear to me as I would wish, but if you ping from inside your network to a host in the internet, the ICMP packets will travel over a PPPoE-tunnel to your ISP, and that PPPoE-tunnel requires an in-MTU overhead of 8 bytes. Think of it that way, the MTU between your router and your ISP is likely 1500 Bytes, but since 8 of these always carry the PPPoE header that is terminated at your ISP, your actual ICMP packets (after removing the PPPoE overhead) are effectively carried in a link with apparent MTU 1500-8=1492.


Thanks. Yes, indeed, I was pinging a host on the internet.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.