Skip to content

Commit

Permalink
Applying Martin Thomson's suggested fixes for restructuring.
Browse files Browse the repository at this point in the history
  • Loading branch information
gloinul committed Dec 13, 2018
1 parent 43b6f67 commit 566f72e
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -3013,9 +3013,9 @@ an ACK frame without ECN feedback, the endpoint stops setting ECT codepoints in
subsequent IP packets, with the expectation that either the network path or the
peer no longer supports ECN.

To protect the connection from arbitrary corruption of ECN codepoints by
elements on the network path, an endpoint verifies the following when an ACK
frame is received:
To reduce the risk of non-standard compliant ECN markings affecting the
operation of an endpoint, an endpoint verifies the counts it receives when it
receives new acknowledgements:

* The increase in ECT(0) and ECT(1) counters MUST be at least the number of QUIC
packets newly acknowledged that were sent with the corresponding codepoint
Expand All @@ -3027,14 +3027,13 @@ frame is received:
this ACK frame. This detects if the network changes ECT(0), ECT(1) or CE to
Not-ECT.

If the sender does not have state to determine if a particular packet number is
newly acknowledged or not, then the verifications using this acknowledgement
cannot be performed. If an acknowledgement arrive with a packet number that
isn't the highest to arrived so far, i.e. some reordering has occured, then the
verification may fail erronously. To prevent this the sender MUST NOT perform
ECN verification using older acknwoeldgements. By the end of the verification
process the local reference counter must have be updated to include the newly
acknowledged packets.
This validation is only performed if the ACK frame increases the largest
received packet number. Reordered acknowledgments could have lower counter
values and might not be successfully validated as a result.

These counts might be inflated if acknowledgments are never received for packets
that were successfully delivered. If validation succeeds, an endpoint MUST
increase its expected counter values to those it receives.

An endpoint could miss acknowledgements for a packet when ACK frames are lost.
It is therefore possible for the total increase in ECT(0), ECT(1), and CE
Expand Down

0 comments on commit 566f72e

Please sign in to comment.