On 6 May 2011, at 16:27, Eric Dumazet wrote:

> FYI
> 
> IPV6 ECN support is buggy on current linux kernels
> 
> Fix is on the way, problem spotted by Steinar H. Gunderson
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=34322
> 

FWIW, Mac OSX has similar behaviour and I filed the bug with Apple in July of 
last year.

Summary: When ECN is enabled (by setting net.inet.tcp.ecn_initiate_out =  1 and 
net.inet.tcp.ecn_negotiate_in = 1), the ECN capable-transport (ECT) bit is not 
set in the IPv6 Traffic Class field when communicating with ECN-enabled hosts.

Steps to Reproduce:

1. Set net.inet.tcp.ecn_initiate_out=1 and net.inet.tcp.ecn_negotiate_in = 1
2. Connect over IPv6 to another similarly ECN-enabled host and transfer some 
data over TCP (e.g. an HTTP transaction, or FTP transfer).
3. Monitor the connection with your favourite protocol analyser.
4. Observe that the ECN-Echo bits are correctly set in the initial TCP 
handshake.
5. Observe that the ECT bit is not being set in the IPv6 Traffic Class field in 
subsequent packets.

Expected Results:

RFC3168 defines ECN for IP. In IPv4 and IPv6, ECN codepoints are specified as 
bits 6 and 7 of the TOS Byte and Traffic Class Octet respectively. The ECN 
Capable Transport (ECT) bit should be set after TCP has successfully concluded 
ECN initialisation.

Actual Results:

ECT is set for IPv4 communications. ECT is not being set for IPv6 
communications.

Mat

_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to