Subject: [quicwg/base-drafts] Datagram size, not packet size (#4214)

From: Jana Iyengar <[email-masked]>
Date: Wed, 14 Oct 2020 16:40:40 -0700

Addresses #4196.

This is an entirely editorial PR, despite the fact that it looks a bit big. Sorry about that.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Datagram size, not packet size

-- File Changes --

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

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/4214.patch
https://github.com/quicwg/base-drafts/pull/4214.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/4214

---

From: Martin Thomson <[email-masked]>
Date: Wed, 14 Oct 2020 17:06:17 -0700

@martinthomson approved this pull request.

Thanks for doing this.  This is fixing something that we really should have done ages ago.

> +the total UDP payload size of a single UDP datagram carrying QUIC packets. That
+is, the datagram size includes includes the QUIC headers and protected payload,
+but not the UDP or IP headers.

```suggestion
the total UDP payload size of a single UDP datagram carrying QUIC packets. The
datagram size includes includes the QUIC headers and protected payload, but not
the UDP or IP headers.
```

-The QUIC packet size includes the QUIC header and protected payload, but not the
-UDP or IP headers.
+A UDP datagram can include one or more QUIC packets. The datagram size refers to
+the total UDP payload size of a single UDP datagram carrying QUIC packets. That
+is, the datagram size includes includes the QUIC headers and protected payload,
+but not the UDP or IP headers.
+
+The maximum datagram size is defined as the largest size of UDP payload that can
+be sent across a network path using a single UDP datagram.

```suggestion
be sent across a network path using a single UDP datagram.  The maximum datagram
size MUST be at least 1200 bytes.
```

-QUIC endpoints implementing DPLPMTUD maintain a maximum packet size (DPLPMTUD
-MPS) for each combination of local and remote IP addresses.
+QUIC endpoints implementing DPLPMTUD maintain a DPLPMTUD Maximum Packet Size
+(MPS, Section 4.4 of {{!DPLPMTUD}}) for each combination of local and remote IP
+addresses.

```suggestion
addresses.  This corresponds to the maximum datagram size.
```

-- 
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/4214#pullrequestreview-508849194

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 14 Oct 2020 17:16:05 -0700

@LPardue commented on this pull request.

-QUIC provides an acknowledged PL, therefore a sender does not implement the
+QUIC provides an acknowledged PL, therefore a sender does not implement a

consistency: above you say "QUIC is an acknowledged PL"

-- 
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/4214#pullrequestreview-508854960

---

From: ianswett <[email-masked]>
Date: Wed, 14 Oct 2020 17:56:27 -0700

@ianswett commented on this pull request.

Some suggestions, but I'm not finding anything incorrect.

Now that the name has changed, I don't think the extra explanation is necessary.

```suggestion
A UDP datagram can include one or more QUIC packets. The datagram size refers to
the total UDP payload size of a UDP datagram carrying one or more QUIC packets.
```

> @@ -4107,47 +4111,48 @@ address of the client; see {{address-validation}}.
 
 The Path Maximum Transmission Unit (PMTU) is the maximum size of the entire IP
 packet including the IP header, UDP header, and UDP payload.  The UDP payload
-includes the QUIC packet header, protected payload, and any authentication
-fields.  The PMTU can depend on path characteristics, and can therefore change
-over time.  The largest UDP payload an endpoint sends at any given time is
-referred to as the endpoint's maximum packet size.
+includes QUIC packet headers, protected payload, and any authentication fields.

I'm unclear if this is written with a single QUIC packet in mind or multiple.  Suggestion follows.

```suggestion
includes one or more QUIC packets.
```

-- 
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/4214#pullrequestreview-508865193

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 14 Oct 2020 18:01:08 -0700

@janaiyengar commented on this pull request.

I prefer the extra detail here, it's worth spelling it out precisely since we use the concept a fair bit below.  I'll take the "one or more QUIC packets" though.

-- 
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/4214#discussion_r505104293

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 14 Oct 2020 18:06:24 -0700

I changed "header" to "headers" to reflect that, but I can change it to "one or more QUIC packet headers, ...". I think it's worth spelling out the fields though.

-- 
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/4214#discussion_r505105663

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 14 Oct 2020 18:06:51 -0700

@janaiyengar pushed 1 commit.

d8816f9542ebe30fabf46bb573240f03f01adbe7  Apply suggestions from code review

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4214/files/d42f4554a11a485f1dbba6cfed3ee95f084c0e06..d8816f9542ebe30fabf46bb573240f03f01adbe7

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 14 Oct 2020 18:09:45 -0700

ad6d533a9d9dca978882ca54fcf7d25707a86067  review comments

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4214/files/d8816f9542ebe30fabf46bb573240f03f01adbe7..ad6d533a9d9dca978882ca54fcf7d25707a86067

---

From: Martin Thomson <[email-masked]>
Date: Wed, 14 Oct 2020 18:50:39 -0700

> @@ -4055,12 +4055,13 @@ MUST disable ECN if validation later fails.
 # Datagram Size {#datagram-size}
 
 A UDP datagram can include one or more QUIC packets. The datagram size refers to
-the total UDP payload size of a single UDP datagram carrying QUIC packets. That
-is, the datagram size includes includes the QUIC headers and protected payload,
-but not the UDP or IP headers.
+the total UDP payload size of a single UDP datagram carrying QUIC packets. The
+datagram size includes includes one or more QUIC packet headers and the

```suggestion
datagram size includes includes one or more QUIC packet headers and
```

> +includes one or more QUIC packet headers, the protected payloads, and any
+authentication fields.  The PMTU can depend on path characteristics, and can

I think that we can drop "authentication fields" as that is just part of "protected payload".

-- 
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/4214#pullrequestreview-508882347

---

From: Magnus Westerlund <[email-masked]>
Date: Thu, 15 Oct 2020 05:28:59 -0700

@gloinul commented on this pull request.

Except for the one erronous exchange of packet this looks good. 

 QUIC depends upon a minimum IP packet size of at least 1280 bytes.  This is the
 IPv6 minimum size ({{?IPv6=RFC8200}}) and is also supported by most modern IPv4
-networks.  Assuming the minimum IP header size, this results in a QUIC maximum
-packet size of 1232 bytes for IPv6 and 1252 bytes for IPv4.
+networks.  Assuming the minimum IP header size, this results in a maximum
+datagram size of 1232 bytes for IPv6 and 1252 bytes for IPv4.

Here it should say "IP packet" instead of datagram as it is the IP packet sizes for IPv4 and IPv6 that are given. 

-- 
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/4214#pullrequestreview-509319516

---

From: ianswett <[email-masked]>
Date: Thu, 15 Oct 2020 07:26:50 -0700

@ianswett approved this pull request.

Re-reading, I think this might have been better as QUIC maximum packet size, since that is accurate.

-- 
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/4214#pullrequestreview-508871615

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 15 Oct 2020 12:51:09 -0700

It isn't the IP packet size or the QUIC packet size -- this really is about the UDP payload size (1280 - 20/40 - 8 = 1252/1232). I'm leaving this as is.

-- 
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/4214#discussion_r505799769

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 15 Oct 2020 12:53:23 -0700

I'm now spelling this out a bit more, so the computation is crystal clear.

-- 
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/4214#discussion_r505800933

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 15 Oct 2020 12:56:13 -0700

02eb08c96ea363e898f3cbefc3b857fe84ce6598  review

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4214/files/ad6d533a9d9dca978882ca54fcf7d25707a86067..02eb08c96ea363e898f3cbefc3b857fe84ce6598

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 15 Oct 2020 13:04:26 -0700

5216eb1620ec15418ed333cbd856ef5afa1635c1  slight moving of text

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4214/files/02eb08c96ea363e898f3cbefc3b857fe84ce6598..5216eb1620ec15418ed333cbd856ef5afa1635c1

---

From: ianswett <[email-masked]>
Date: Thu, 15 Oct 2020 13:09:46 -0700

-- 
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/4214#pullrequestreview-509752980

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 15 Oct 2020 20:20:24 +0000 (UTC)

Merged #4214 into master.

-- 
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/4214#event-3883414496