CHR MPLS on esxi

Cant get it running with MPLS MTU 1526

The l2mtu of the interface shows “0” changing l2mtu does nothing.
I can change MTU to 1600. As soon as I do this I get OSPF errors:
route,ospf,info Discarding Database Description packet on ether1 (x.x.x.x): different MTU

So I would need to change all Routers MTU on the same segment to MTU=1600.

Which hypervisor?

I’m not sure if it’s been fixed, but MPLS was broken on ESXi and Proxmox and only worked on Hyper-V. I did a presentation on it back in 2019.

https://mum.mikrotik.com/presentations/EU19/presentation_6291_1554448059.pdf

ESXI 6.5. vSwitch allows to set higher MTU. But it looks like l2mtu is not detected by CHR (shows “0”). mtu is settable. But then the (senseless?) OSPF MTU check jumps in and hinders building neighborship. And it looks like only one OSPF neighbor with different MTU cause problems.

Setting l2mtu should work according to https://wiki.mikrotik.com/wiki/Manual:CHR#Changing_MTU

Need a quiet moment to do further tests without killing part of the network.

I see the 0 as well, both in ESXi and HyperV. I just tried configuring MPLS in our CHR in ESXi, leaving the defaults and setting our MPLS MTU to 1550 like normal. The VPLS tunnel to a physical outside router comes up, but I cannot pass packets larger than size 1490 over it. I had increased the vswitch MTU a long time ago - I tried increasing the vmkernel MTU but it did not help.

Update: I just increased my IP MTU to 1550 on the VLAN going to the CHR and now VPLS is passing 1500 byte packets without issue.

I just got it activated with a trial and did a bandwidth test. Resulting speeds are just fine - I think they fixed the issue with ESXi performance.

Do you use OSPF on this interface?

Yes, OSPFv2 and OSPFv3. Obviously I had to change the IP MTU on the far side too. In my case it is a /30 so there was only one other device to change the MTU on to get this working.