After my ISP (KPN Glasvezel) rolled out IPv6, internet connectivity via their provided modem works like a charm, but via my Mikrotik RB2011 performs like a dog or not at all. Certain sites, like this one for example, I can only access if I disable ipv6 dns use in my browser. test-ipv6.com sometimes (not always !) for the mikrotik shows mtu problems with the warning ipv6 site can not be accessed (can conform that) or is very slow (can confirm that too), for the ISP provided modem it is lightning fast and never gives the MTU problem alert.
No matter what I change on MTU settings I cant get it to work properly, ICMPv6 is NOT being blocked by the firewall, so you would expect it to work if being notified packet is too big.
Yes, since IPv6 is a layer 3 protocol, your first order of business would be to determine the layer 2 MTU. That will allow you to calculate the appropriate MTU. Furthermore, any MTU you select should be at least 1280 as specified in chapter 5 of RFC 2460. Start with that as your MTU and increase step-wise till you reach the max MTU set by your ISP. Remember to leave at least several minutes between each MTU change.
If you are able to provide more information, like the relevant portion from your config or information about the setup required to connect to your ISP (remember, not all of us live in the Netherlands, much less speak enough Dutch to decipher the help pages of your ISP), we would be able to give you more detailed assistance.
I found a solution for my problem (ie can now use ipv6 successfully via mikrotik), but am not altogether happy with it. I force MTU to 1440 when the interface comes up. No matter what I changed on the router, the MTU on the interface I connect to for example and adding a rule to the firewall to force tcp-mss to be 1440 or less (kludge for broken PMTU discovery) I kept having problems. I know that my connection to/fom my ISP (using PPOE) is heavily censored on their site and they are blocking some ICMPv6 traffic , which of course breaks PMTU discovery, hence my attempt on the tcp-mss rule, but this effort was in vain, or possibly incorrect implemented (I am after all a freshmen in networking).
Any suggestions on how I could get rid of my forced MTU, which I can implement on the Mikrotik are appreciated.
Found the answer to my problem. I noticed that ppp had added 2 rules in the ipv4 firewall changing mss to 1440. After setting this same rule in the ipv6 firewall (it wasnt there) and set it to 1420 (20 less for the extra overhead of ipv6) it worked.
I can’t imagine that an EU ISP would censor an internet connection and if they would, it would not matter whether whether they would use PPPoE or any other method to transport packets over the ATM part of the connection.
There is however a limit in the PPPoE standard that dictates the size of the packets. Due to the overhead of PPPoE, the size of a packet can’t be any larger then 1492 (1500 - 8 PPPoE overhead) unless the ISP supports the RFC 4638 extension on the server side.
As to your second post, the MMS clamping at 1440 is probably the result of a configuration error, PPPoE supports larger packets (1452 native, 1460 with RFC 4638.) You should check your PPPoE client interface, you’ve probably got an incorrect MTU value set (likely 1480). Try increasing your MTU.
Also note that MMS and MTU are two different values. MMS is relevant at Layer 4 (it happens to be TCP related) while MTU is a property of your Layer 2 protocol (PPPoE between your Mikrotik and your ISP and Ethernet on your local network.)