Subject: Re: Opsdir last call review of draft-ietf-tcpm-dctcp-07

From: "Eggert, Lars" <[email-masked]>
Date: Wed, 12 Jul 2017 08:21:29 +0000

Hi,

I missed your comments when I posted -08 - sorry! Will post -09 with fixes shortly.

> You refer to DCTCP.Alpha before defining it.  While you refer to Section 3.3
> here, the impact of an incorrect Alpha value is not fully appreciated in this
> text.  Perhaps this could be changed to reflect the impact the incorrect Alpha
> value would have?

done

> My abbreviating DCTCP.CE as CE in your state machine diagram, it is a bit
> confusing as to the difference between CE and DCTCP.CE.  The description of the
> state machine above requires the CE codepoint to have a certain value in order
> for DCTCP.CE to change.  Perhaps you can use D.CE as an abbreviation to be a
> bit clearer here.

I used DCTCP.CE and did some reformatting

> It is not clear if 'g' can be inclusive of 0 and 1.

Nice catch. Clarified this in "Implementation Issues".

> You define DCTCP.WindowEnd as the threshold for beginning a new observation
> window, but maybe to complement the state variable name, you should define it
> as the following:
> 
> The TCP sequence number threshold when one observation window ends and other is
> to begin; initialized to SND.UNA.

Applied your suggestion.

> Section 3.3:
> 
> You state:
> 
> Thus, when no bytes sent experienced congestion, DCTCP.Alpha equals
> zero, and cwnd is left unchanged
> 
> But if I use a value of 1/16 for g, with DCTCP.Alpha initialized to 1 as you
> say, I get a value of DCTCP.Alpha == 15/16 when there is no congestion (i.e., M
> == 0).

Good catch. Checking with my co-authors what the thinking here was. There may be a condition missing. Praveen?

> You have an extra space here before the comma:

Already fixed in -08.

> You do not define ECT before using it.

> Can you provide a reference for NewReno?

Already fixed in -08.

> Can you reference or define AQM and RED?

Added refs to 2309 and 7567.

Thanks,
Lars

---

From: Joe Clarke <[email-masked]>
Date: Wed, 12 Jul 2017 04:29:52 -0400

> I missed your comments when I posted -08 - sorry! Will post -09

Thanks, Lars.  Looking forward to the new version.

Joe

> 
>> You refer to DCTCP.Alpha before defining it.  While you refer to
>> Section 3.3 here, the impact of an incorrect Alpha value is not
>> fully appreciated in this text.  Perhaps this could be changed to
>> reflect the impact the incorrect Alpha value would have?
> 
> done
> 
>> My abbreviating DCTCP.CE as CE in your state machine diagram, it
>> is a bit confusing as to the difference between CE and DCTCP.CE.
>> The description of the state machine above requires the CE
>> codepoint to have a certain value in order for DCTCP.CE to
>> change.  Perhaps you can use D.CE as an abbreviation to be a bit
>> clearer here.
> 
>> You define DCTCP.WindowEnd as the threshold for beginning a new
>> observation window, but maybe to complement the state variable
>> name, you should define it as the following:
>> 
>> The TCP sequence number threshold when one observation window
>> ends and other is to begin; initialized to SND.UNA.
> 
> Applied your suggestion.
> 
>> Section 3.3:
>> 
>> You state:
>> 
>> Thus, when no bytes sent experienced congestion, DCTCP.Alpha
>> equals zero, and cwnd is left unchanged
>> 
>> But if I use a value of 1/16 for g, with DCTCP.Alpha initialized
>> to 1 as you say, I get a value of DCTCP.Alpha == 15/16 when there
>> is no congestion (i.e., M == 0).
> 
> Good catch. Checking with my co-authors what the thinking here was.
> There may be a condition missing. Praveen?
> 
> Thanks, Lars