Subject: [tcpm] Response to WGLC comments on draft-ietf-tcpm-newcwv-09

From: [email-masked]
Date: Mon, 13 Apr 2015 11:21:45 +0100

The authors received some comments on rev -09 during WGLC, and propose
uploading a new rev to address these issues. Copies of the proposed
changes are listed in the email below.

Best wishes,

Gorry, Raffaello and Arjuna.

----

Section 1.1 Implementation of new CWV
* A new section was added to introduce the places where there are
implementation flexibility:

The method specified in this document is a sender-side only change to the
the TCP congestion control behaviour of TCP.

The method creates a new protocol state, and requires a sender to
determine when the cwnd is validated or non-validated to control the entry
and exit from this state XREF=state-rule. It defines how a TCP sender
manages the growth of the cwnd using the set of rules defined in
XREF=new-cwv-section.

Implementation of this specification requires an implementor to define a
method to provide a measure for the volume of recently acknowledged data
(pipeACK). The details of this measurement are implementation-specific. An
example is provided in XREF=examples-pipeACK, but other methods are
permitted. A sender also needs to provide a method to determine when it
becomes cwnd-limited. Implementation of this may require consideration of
other TCP methods (see  XREF=examples-cwnd-limited).

A sender is also recommended to provide a method that controls the maximum
burst size XREF=pacing. However, implementors are allowed flexibility in
how this method is implemented and the choice of an appropriate method is
expected to depend on the way in which the sender stack implements other
TCP methods (such as TCP Segment Offload, TSO).

----

Section 4.4
* Clarified that the MUST is to satisfy the goal to avoid a TCP sender
growing a large "non-validated" cwnd, when it has not recently sent using
the current size of cwnd: “The sender is REQUIRED to detect the
cwnd-limited condition using a method that conforms to the
rules in this section. Example solutions can be found in Section 4.5.
* Fixed format of bullet 2 in 4.4.

Section 4.5.2:
* Replacement text (improved wording):
A sender needs to implement a method that detects the cwnd-limited
condition (see <xref>). This detects a condition where a sender in the
non-validated phase receives an ACK, but the size of cwnd prevents sending
more new data.

In simple terms, this condition is true only when the FlightSize of a TCP
sender is equal to or larger than the current cwnd. However, an
implementation also needs to consider constraints on the way in which the
cwnd variable can be used, for instance implementations need to support
other TCP methods such as the Nagle Algorithm and TCP Segment Offload
(TSO) that also use cwnd to control transmission. These other methods can
result in a sender becoming cwnd-limited when the cwnd is nearly, rather
than completely, equal to the FlightSize.