MTU settings for PPPoE

Hey there,

I'm in Canada (GTA) and my ISP, Virgin Mobile, provides a fiber connection that I plug into a TP-Link SFP to RJ45 media converter (MC220L), I then connect the ethernet from the converter to the WAN port of a IQrouter V3. After specifying VLAN 35 for PPPoE (required for my ISP) I have been successfully connected to the internet for the past few weeks.

I was just wondering, for my setup, what to set MTU to for WAN (pppoe-wan) and LAN (br-lan) interfaces. For both interfaces I currently have MTU set to 1500 and the MTU test on letmecheck.it says my maximum MTU size is 1492. I've tried increasing MTU for both WAN and LAN to 1508 but the test still says max MTU size is 1492.

Based on this what should I be setting MTU to for both WAN and LAN?

As far as I'm aware, a lot openwrt routers do not support jumbo packets, therefore values of MTU setting above 1500 do not work. For PPPoE protocol, use 1492.

5 Likes

Unless your ISP explicitly accepts jumbo packets (and most don't), the MTU for the PPPoE will be 1492.

You can leave LAN at 1500, but I would enable MSS clamping to avoid issues.

6 Likes

In my case VLAN tagging should also be factored into the value I set for MTU is that correct? So instead of 1492 what should I set MTU at for WAN and LAN? If I set WAN to 1492 instead of 1500, then letmecheck.it now says the max MTU size is down to 1484.

Yes, that is as it has to be. The point is, your ISP enforces the use of a PPPoE tunnel between your home and its infrastructure servers (BRAS or BNG or similar alphabet soup); that PPPoE encapsuation adds 8 bytes to all packets inside the ethernet payload, so with an etnernt payload of default 1500B the PPPoE payload is going to be 1500-8 = 1492B. Now if you force the ethernet MTU to 1492, the PPPoE payload also reduced by 8 byte to 1484B as you observed. So I would recommend to leave your MTU set to 1500, OpenWrt will by default use MSS clamping, so that TCP connections will never try to exceed the 1492 internet-payload size, which solves most of the issues from an end-users perspective (only this does not work for ICMP and UDP, but that is rarely an issue, with PPPoE being wide spread enough that content providers know about this issue)

So, why is the reported MTU into the ethernet now 1492 instead of the 1500 configured on your ethernet port? The answer is that your ISP strips away the PPPoE header and so the largest payload you can sent/receive (1500B) now looks like 1492B from the vantage point of an internet server, since the PPPoE overhead is invisible to those servers.
In theory (and for some ISPs in practice) you could set the MTU for the router <-> ISP link to 1508, so that after PPPoE decapsulation at the ISP the internet still sees a 1500 payload, but that requires active cooperation between your router and your ISP and both sides need to support that option, as @bill888 and @eduperez observed, that support is not wide-spread...

3 Likes

Thanks for the detailed response! I think I understand better now and I've set my WAN MTU to 1500 again. As for MTU for LAN, should that also be at 1500?

Also as @moeller0 you've said for the WAN Firewall zone it is by default using MSS clamping.

However for the LAN firewall zone by default MSS clamping is disabled, should I enable it here?

Why not? In the LAN you could think about Jumbo frames, but honestly, I wouldn't bother to change the LAN MTU unless there was good justification (so if you have issues internally, by all means modify the MTU).

I assume that for incoming traffic, your ISP will do the clamping for you... so typically as far as I understand the OpenWrt defaults are quite sane, so unless you encounter issues, why touch this?

2 Likes

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