Subject: [quicwg/base-drafts] Try to make ECN validation more robust (#3779)

From: Martin Thomson <[email-masked]>
Date: Thu, 18 Jun 2020 00:01:33 -0700

I think that this is correct.

It&#39;s a little overwrought though, so I&#39;m OK if we go with something less than this.  The new check number 3 could be removed if we were comfortable with the simplified check number 2 and the addition of the check for unused markings.

As it is so convoluted, I am looking to iterate on this.  It seems like pseudocode might be in order.

Closes #3778.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3779

-- Commit Summary --

  * Make language in ECN validation clearer
  * Remove normative change
  * Don&#39;t use MUST for ECN validation
  * Rework ECN validation rules

-- File Changes --

    M draft-ietf-quic-transport.md (49)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3779.patch
https://github.com/quicwg/base-drafts/pull/3779.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 18 Jun 2020 14:29:30 -0700

I understand that this is trying to be more correct, but I'm not convinced that it's necessary - in text or in implementation - to be even more careful to weed out super rare cases.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779#issuecomment-646315345

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 18 Jun 2020 14:30:36 -0700

@janaiyengar commented on this pull request.

The clarification in #3777 is adequate, IMO.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779#pullrequestreview-433661351

---

From: Martin Thomson <[email-masked]>
Date: Thu, 18 Jun 2020 21:52:30 -0700

Yeah, this is too much.  But more work is needed for #3777.  Moving the effort over there.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779#issuecomment-646433254

---

From: Martin Thomson <[email-masked]>
Date: Thu, 18 Jun 2020 21:52:32 -0700

Closed #3779.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779#event-3460937566

---

From: mirjak <[email-masked]>
Date: Fri, 19 Jun 2020 10:42:17 -0700

@mirjak commented on this pull request.

> +  plus any increase in the ECN-CE count is less than the number of packets sent
+  with the corresponding ECT codepoint. This check can detect removal of ECN
+  markings.
+
+* ECN validation fails if any unaccounted for increase in the sum of ECT(0) and
+  ECN-CE counts, plus any unaccounted for increase in the sum of ECT(1) and
+  ECN-CE counts, less any unaccounted for increase in the sum of the ECT(0),
+  ECT(1), and ECN-CE counts is not between zero and the overall increase to the
+  ECN-CE count from this ACK frame.  An unaccounted for increase is determined
+  by subtracting the number of newly acknowledged packets that were originally
+  sent with the corresponding mark from the increase in counts reported in the
+  ACK frame.  This check can detect erroneous changes between ECT(0) and
+  ECT(1) markings in the network.
+
+An endpoint MAY also validate total counts based on the total number of packets
+that it sent with with a given marking.  In that case, ECN validation can also

```suggestion
that it sent with a given marking.  In that case, ECN validation can also
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779#pullrequestreview-434245951

---

From: mirjak <[email-masked]>
Date: Fri, 19 Jun 2020 10:44:06 -0700

+
+be performed based on total counts rather than increases.  As a special case,
+an endpoint that never applies a particular marking can fail validation when a

```suggestion
an endpoint that never applies a particular ECT codepoint can fail validation when a
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3779#pullrequestreview-434246962