Page 1 of 1

MTU configuration for jumbo frames

Posted: Sun Aug 11, 2019 5:28 pm
by antispam

I want to configure my RouterOS for jumbro frames (MTU size 9000).
What I did so far was adjusting the L2MTU and the MTU size to the maximum the device supports (9204) for all interfaces and for my bridge.
My problem: I don't get the difference between L2MTU, Actual MTU and MTU.

My interface and bridge configuration (First interface goes to my router, which only supports MTU of 1500):

Please tell me if this configuration is ok. Maybe adjusting the size to all interfaces / the whole bridge could lead to problems.
Most of my traffic is still based on a default MTU size of 1500. MTU of 9000 is only happening inside my LAN, between a few selected devices.

My goal is to use the jumbo frame MTU only when two supported devices communicate via jumbo frames (Windows network setting set to jumbro frames).
What happens with normal frames that use a MTU of 1500? Will they be forwarded without being adjusted by the switch?

Would be nice to get some answers.
Best regards and thanks

Re: MTU configuration for jumbo frames

Posted: Sun Aug 11, 2019 11:28 pm
by antispam
After running above setup for a while, I noticed that accessing the internet is really slow.
My transfer rate was capped to around 10Mpbs, everything else was slow when I reached this transfer rate.
After setting all MTU parameters from 9204 to 1500, the problem was fixed.

Something seems wrong in this case with my jumbo frame MTU configuration.
RouterOS seems to encapsulate 1500 frames to 9000 frames, which probably needs processing power.

Could someone tell me the best way to setup MTU only for my LAN and supporting clients, without capping my bandwidth?
Best regards

Re: MTU configuration for jumbo frames

Posted: Sun Aug 11, 2019 11:55 pm
by pe1chl
You are currently in the phase of experiencing why using jumbo frames on a somewhat larger network (i.e. not a SAN or similar) is full of issues.
It is not what RouterOS is doing wrong, it is just that this is not as straightforward as you might have thought.

You will need to make sure that your system(s) only use MTU 9000 when talking to systems on the LAN, and use MTU 1500 when talking to the internet.
You should be able to fix that inside your system by setting an MTU on the default route.

Of course you could do TCP MSS clamping in the router, but that is really only a partial solution.

Re: MTU configuration for jumbo frames

Posted: Mon Aug 12, 2019 12:03 am
by antispam
Thanks for the reply, I get the issue.

My Gateway on the first interface is an OpenWRT router, which only allows an MTU of 1500. I can't adjust it there.
That's why I wanted to enable jumbo frames only for my LAN.

Should I only adjust L2 MTU and not the normal MTU / Actual MTU settings? Would this help?
Or is a different bridge needed for the interface connected to my OpenWRT router?

Thanks so far!

Edit: After resetting my Mikrotik switch with RouterOS, L2MTU is 1500 and MTU 1588 per default (Bridge and Interfaces).
Isn't 1588 also a bad value, when the attached router only understands 1500?

Re: MTU configuration for jumbo frames

Posted: Mon Aug 12, 2019 12:49 am
by dizzle
Maximum MTU and L2MTU are different on each Mikrotik model. What device are you using?
Jumbo frames will only work if the device on the remote end support Jumbo frame and jumbo frames are enabled.

The default on the ports are 'actual-mtu=1500 l2mtu=1598'

Re: MTU configuration for jumbo frames

Posted: Mon Aug 12, 2019 10:39 am
by pe1chl
The problem is not with the MTU of the switch. You can set it to 9000 when you like.
The problem is with setting the MTU of your computer to 9000 and then using it both for the LAN and to connect to internet.

You will make outgoing traffic with MTU 9000, the next hop cannot handle this and it will have to fragment the packets.
Also, computers usually send the packets with the "dont't fragment" bit set, and that makes it fail completely. The router is
supposed to send back an ICMP packets but these are often blocked by admins who do not understand what ICMP is for.
All together this makes the system fail badly.

In a good OS you can set the MTU separately per route. So you can tell it that the local interface has MTU 9000 but the default
route has MTU 1500 and so the computer knows that it needs to use MTU 1500 when it goes outside. But not all operating
systems are good... so this may not be possible.
It is not sufficient to set a lower MTU further down as the problem already has occurred.

I think when facing this problem I would make a separate network or VLAN for the communication with the NAS and set its
MTU to 9000 and another one for communication to outside and use the standard MTU on that.