Before I’ve upgraded my Mikrotik to the newest version for L2TP MTU of 1462 I had 1422 MSS (40 bytes less) in Firewall Mange and it was fine. After upgrade, I have 1416 MSS (captured with Wireshark because there is no more Mangle rules for MSS).
Could you please explain why is MMS different now?
Alright, I labbed this up and the default in the latest RC is 1450 for MTU / MRU and I’m seeing a MSS of 1404. This is like yours, 6 bytes lower than I’d expect to see. We may want to move this to the RC thread to get a more accurate explanation. I’m not seeing anything that stands out as to why.
Also, in previous release (before internal algorithm for MSS presented) 6.38.5, I had different values for MSS in-interface and for MSS out-interface but both MTU and MRU had equal values of 1462.
First case:
MTU/MRU: 1450 → > MSS-out 1452> , MSS-in 1410
Second case:
MTU/MRU 1462 → > MSS-out 1452> , MSS-in 1422
As you can see MSS for in-interface is OK.
MSS-out values are equal in both cases for different MTU/MRU values and it’s wrong (I had problem with upload data to remote servers). It should be MRU - 40B if I’m not wrong.
Solution is to disable Change TCP MSS value and manually add these two rules in Mangle: