Just a quick note to remind folks who upgrade to FTTC Broadband that using an MTU of 1500 bytes (Ethernet standard size) is possible if your PPPoE router supports RFC4638 and supports “baby jumbo frames”.
In short – PPPoE needs 8 bytes of each Ethernet frame resulting in an effective MTU of 1492 for the IP layer between your modem/router and the DSL endpoint at your provider. These 8 bytes can be “reclaimed” if your router has the ability to transmit baby jumbo frames up to 1508 bytes excluding Ethernet headers. Andrews and Arnold has a good write up available describing this in further detail along with a specific PPPoE/FTTC page.
If you are using a Cisco router with appropriate hardware you can add something like the following to a working FTTC/PPPoE configuration.
conf t bba-group pppoe global tag ppp-max-payload minimum 1492 maximum 1500 int fa 0 mtu 1508 int dialer 0 mtu 1508
The ppp-max-payload min and max defaults are 1492 and 1500 respectively, so all you actually need to do is configure the MTU to 1508 on the FastEthernet 0 (assuming this is your PPPoE interface) and dialer 0 interfaces.
Note that even though the Fa0 interface is used to connect to the FTTC modem, you do not appear to need to change its configured MTU size. You can check that it can support frames larger than 1500 by checking the maximum using “mtu ?” in the config mode.
Once these changes are made, you can do “debug ppp negotiation” to track the negotiated options, including the negotiation of a MRU of 1500 bytes. Once this is working correctly you will not need to do any fiddling to get pMTUd working or messing with client MTUs to avoid the inevitable odd browser hangs.
UPDATE: Just an FYI, you can check which BT cabinet serves your telephone/postcode along with expected FTTC speed uplift at http://fttc-check.alc.im/ or at http://www.dslchecker.bt.com/
UPDATE2: You do in fact need to set the Fa0 (or what ever your PPPoE interface is) MTU to 1508!
As of IOS Version 15.3(2)T on an 887VA-W I’ve found that I no longer need to specify the MTU and ppp-max-payload to get a 1500 byte MTU – It just works.
In that IOS version it looks like ppp-max-payload has been removed. Something is hinted at in the release notes, but it doesn’t go into much detail – http://www.cisco.com/en/US/docs/ios/15_3m_and_t/release/notes/153-1TCAVS.html
I have an 887VA-W running an older IOS (12?), which (as far as I could see at the time) refused to accept any MTU greater than 1500. For the time being I’ve just mothballed it while I keep an eye out for a way to get it an update. (I had bought it thinking my packet loss on an 80/20 BT line might be an overloaded router … it turned out to be a faulty BT 10G backbone linecard, so once that was fixed I went back to software PPPoE.)