Draft: draft-ietf-quic-recovery

Commentary: Includes some changes suggested in ( see below ) ISSUE : /When a loss or ECN - CE marking is detected , NewReno halves the congestion window , sets the slow start threshold to the new congestion window , and then enters the recovery period./ The requirement is that TCP needs to reduce after CE , The RFC series does not now say it needs to halve , it could for example follow the reduction method specified in  . e.g. /When a loss or ECN - CE marking is detected , the sender must reduce the cwnd . NewReno halves the congestion window , sets the slow start threshold to the new congestion window , and then enters the recovery period . [  ] specifies an alternate cwnd reduction./ ISSUE : Similar comment in 8.3 : /Though congestion controllers generally treat reports of ECN - CE markings as equivalent to loss [ RFC8311 ] , the exact response for each controller could be different . / This does not seem correct . Could I suggest : /Congestion controllers respond to reports of ECN - CE by reducing their rate . Markings can be treated as equivalent to loss [ RFC3168 ] , but other responses can be specified ( e.g. [  ] ) [ RFC8311 ] . / 
 This was filed a while ago ( before WGLC ended ) , did n't want to drop it . 
 Editorial , design ? 
 There is a design issue here regarding the initial congestion window that I would like to see split out into a new issue ( which can be marked design ) . The rest appear to be things we can address with editorial changes . 
 I moved the IW text into , though I 'm not sure I think it 's worth revisiting . 
 Thanks :) I agree that it is n't worth re - opening , but we did sign on to at least discuss whether it is worth discussing . 
 Do we have a plan for this one ? 
 So , is there a plan ? ( Is there even anything left to do ? ) 
 Some of these are addressed already , others are in an accidental commit ( ) , and for some there 's no need to address them in the text . The rest are in 
 As it stands , the recovery draft does not require the congestion window to be reduced on loss . The only part that talks about this is in Section 7.4 , which says : We need to require this reduction for the controller to be a NewReno controller . 
 To clarify , this is n't a change in what we 're describing , you just want to add normative language ?
Paragraph (version B):
While in slow start, a NewReno sender increases the congestion window
by the number of bytes acknowledged when each acknowledgment is
processed, resulting in exponential growth of the congestion window.
Paragraph (version B):
A sender MUST exit slow start and enter recovery when a loss is
detected or when the ECN-CE counter reported by the peer increases.
Paragraph (version B):
A NewReno sender in congestion avoidance uses an Additive Increase
Multiplicative Decrease (AIMD) approach that MUST increase the
congestion window by no more than one maximum datagram size per
congestion window acknowledged.
Paragraph (version B):
A sender MUST exit congestion avoidance and enter recovery when a
loss is detected or when the ECN-CE counter reported by the peer
increases.
Paragraph (version B):
A NewReno sender enters the recovery period when it detects loss or
an ECN-CE mark is received.  A recovery period ends when a packet
sent during the recovery period is acknowledged.
Paragraph (version B):
On entering a recovery period, a sender MUST set the slow start
threshold to half the value of the congestion window at the moment
that loss is detected.  The congestion window MUST be set to the
reduced value of the slow start threshold before exiting the recovery
period.
Paragraph (version B):
Implementations MAY set the congestion window immediately on entering
a recovery period or use other mechanisms, such as Proportional Rate
Reduction (PRR), to reduce it more gradually.  If the congestion
window is reduced immediately, a single packet can be sent prior to
reduction.  This speeds up loss recovery if the data in the lost
packet is retransmitted and is similar to TCP as described in
Section 5 of RFC6675.