Upgraded to 6.37 this morning and noticed that even with max-mtu=1500 on the pppoe-client interface that the MTU changes to 1480 after between 3-5 seconds (seen using monitor command on interface).
Thought it was a problem with 6.37 so downgraded back to 6.36.3 but that exhibited the same problem. This has worked in the past so I'm not sure what has changed to break it.
One thing I did notice is that if I set max-mtu to 1488 or lower it doesn't change MTU after 3-5 seconds, but if set to 1489 it changes.
A packet trace shows that if the max-mtu is set to > 1488 then a large LCP echo request is sent 3 times. The BRAS I'm connected to seems to return a malformed packet and I guess this is what caused the Mikrotik to fallback to a 1480 byte MTU. If max-mtu is set to 1488 bytes or less this large LCP echo request is not sent by the Mikrotik device.
I see on the forums that others have had problems in the past with 1488 byte MTUs but this seems to have been fixed in subsequent versions of ROS.
A Google search turns up instances where people say that the MTU should be setup to 1488 if you are doing PPPoE over DSL to fit completely within a round number of ATM cells. Not sure if this is why the Mikrotik PPPoE client does this or not.
Anyone have any other insight?