News BT & IPv6
October 2008 British Telecom have announced that they do not support IPv6.
"Thank you for your enquiry concerning IPv6. I can confirm that BT currently supports IPv4 on it's [sic] Broadband products and does not support IPv6. If you believe this will be a requirement for you going forward I would ask you to submit a formal Statement of Requirements, to enable BT to formally evaluate the same. We will of course offer you any support you need in submitting an SoR."
This was widely reported including slashdot, the register, and even the guardian letters page.
The technical problem
The specific technical problem was found by one of our customers. It is specific to CISCO ESR routers that are part of BT's existing 20th Century network for providing broadband services which we as an ISP use. It only affects around half of the lines. In practice it only affects people using IPv6. Even then it only affects people using native IPv6 rather than tunnelled IPv6 which is currently more common. A small number of affected customers confirmed they had the problem and helped diagnose it. It is worth noting that other ISP's customers have noticed this too and got nowhere.
We spent some time trying to get BT to resolve a simple technical issue. We knew it would not be an instant fix. But BT dragged on and on, and kept hitting we don't support IPv6. Eventually after months of chasing we got the above statement.
When BT refused to fix the bug we engineered a work around for customers (padding packets to 75 bytes) and also contrived IPv4 packets that failed so as to pursue the fault with BT further. BT are now working with CISCO to resolve the matter.
The commercial problem
The technical problem is solvable. The commercial issue from BT's statement is far bigger. It seems BT think that they can refuse to fix a technical problem if it affects only one specific higher level protocol (e.g. IPv6) which they have not said they support. It is worth noting that BT do not (as far as we know) claim to support email; web; MSN; irc; VoIP; or indeed pretty much any of the millions of higher level protocols.
Simple explanation please
OK, imagine you have a phone service from BT. Now imagine there is technical problem which means a specific sequence of sounds hangs up the call. This makes the service unusable if you happen to make these sounds. However, the sequence is so specific that the problem only happens if you speak Welsh - so almost never happens. Even Welsh people that are speaking English don't have the issue. Now you report it to BT and they say "Our voice service does not support Welsh". Well no, BT never said it does, or indeed any other language, but you expect what you bought to convey sound, speech, not a specific set of languages. So even though it happens to work now with Russian, and Finnish and even French, you cannot be sure it always will or that BT will fix it if it does not. That is exactly what is happening here - we buy PPP (a low level protocol) and BT say they don't support IPv6 (a higher level language). In effect we have had to find an obscure English word that breaks it so as to get BT to fix the problem. We may not be able to do that next time something breaks and BT weasel out of fixing it.
So, do we want BT to support IPv6
Simple answer is NO! We want BT to support what we buy from BT which is PPP over L2TP. We want BT to pass all PPP packets up to 1500 byte payload to the other end of the line. Simple as that. If those packets happen to be IPv4, IPv6, IPX, or even Welsh, they should arrive intact. The current specification of the 21st Century Network service is clear that this is what we buy and does not have any restrictions on use of IPv4 only, yet BT have effectively contradicted that specification by their statements.
What now?
We want a clear statement from BT that on 20th and 21st Century broadband networks they support PPP over L2TP with up to 1500 byte payload, regardless of the byte pattern being conveyed. If they are not prepared to make that statement we require a clear list of every single one of the many million higher level protocols that BT officially support.
Update, March 2009
BT have said that they are working towards proper IPv6 support, and are working with us to test IPv6 operation on 21CN broadband services.
Technical details: The bug is such that packets from us to our end user, using 2 byte PPP protocol identifiers and totalling less than 75 bytes are truncated such that the PPP payload is the length indicated in the 3rd and 4th bytes of that payload. For IPv4 and most PPP protocols this is where there happens to be a length field and so there is no effect. For IPv6 this is the flow label which is usually 0000, and so the payload is truncated to zero bytes and arrives as just the protocol tag 0057. The problem can be made to happen for IPv4 using compound-frames with two IPv4 packets back to back totally under 75 bytes being truncated to just have the first packet. This affects CISCO ESR RASes on BTs IPStream service only. It does not affect 21st Century WBC services, but if it it ever did BT would presumably not fix it.