[Codel] [PATCH 1/2] codel: Controlled Delay AQM

Jim Gettys gettysjim at gmail.com
Tue May 8 00:14:14 EDT 2012





On May 7, 2012, at 11:32 PM, Rick Jones <rick.jones2 at hp.com> wrote:

> On 05/07/2012 08:14 PM, Jim Gettys wrote:
>> There are three cases here:
>> 
>>  1.   you initiate a TCP session;
>>  2.   you receive a TCP session;
>>  3.   you mark a packet in transit through a system (you are routing).
>> 
>> Case 2 is known safe, and is deploying rapidly in the Internet.  Linux
>> defaults to 2): if you talk to it asking for ECN, it responds.
>> 
>> The problem is that some networks screw up the ecn bits.  And worse yet,
>> there at least used to be some hardware out in the great internet that
>> would go belly up if it saw marked packets.
>> 
>> So it's 1 and 3 that we might get in trouble about.  There is some way
>> to turn on 1( in Linux already; using ECN is negotiated as part of the open.
>> 
>> But we better not do 3) (mark for ECN rather than drop) without knowing
>> if it "safe" to do so.  Steve Bauer and his collaborators have more
>> understanding than anyone yet on this list.
> 
> Then get the folks at queue.acm.org on the ball and get the paper published already :) :) :)
> 
> But I'm still confused.  If Case 2 is "safe" is it safe only because no-one initiates ECN making Case 2 a noop?  IE, it is not known to be safe to set tcp_ecn=1?  That being the case, I'd still think that codel going "if I see ECT and would drop, I'll mark" is OK because it will only see ECT if the client set tcp_ecn=1, and presumably then, the owner of the client will not have set tcp_ecn=1 unless they know it is "safe" to do so.  Particularly with Eric's recent patch to upstream to only accept an ECN request in a SYN if the ECN bits in the IP header are clear.

Too late tonight to try to resurrect what I remember from Steve.  Barring unforeseen events, he should be able to join the list then and better coming from him anyway.

Jim




More information about the Codel mailing list