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

Jim Gettys jg at freedesktop.org
Mon May 7 23:14:49 EDT 2012


On 05/07/2012 10:16 PM, Rick Jones wrote:
> On 05/07/2012 06:45 PM, Jim Gettys wrote:
>> On 05/07/2012 09:20 PM, Andrew McGregor wrote:
>>> Sure... but making the Linux codel ECN capable, and even on by
>>> default with no configuration, will have no effect if the clients
>>> don't use ECN.  So there's no need to even make it optional, let
>>> alone default to off.
>>>
>>>
>> The problem is that the client may be managing it's outbound queue with
>> codel.  So you have to negotiate ECN and if you start marking, you may
>> run into trouble.
>
> Are the odds really all that high that when the admin of the client
> set tcp_ecn = 1 (or its non-Linux equivalent) that codel running on
> his system would be the only thing actually marking and so "the"
> reason for trouble?  I'm inclined to agree with Andrew.  If the client
> is going to have trouble with ECN, it will have it once it sets
> tcp_ecn = 1, codel being there or not.

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.
                - Jim





More information about the Codel mailing list