Subject: [quicwg/base-drafts] Add a definition for "frame" (#4313)

From: Martin Thomson <[email-masked]>
Date: Wed, 28 Oct 2020 23:43:02 -0700

I struggled with this a little.  Happy to take suggestions.

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

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

-- Commit Summary --

  * Add a definition for &quot;frame&quot;

-- File Changes --

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

-- Patch Links --

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

---

From: Mike Bishop <[email-masked]>
Date: Thu, 29 Oct 2020 07:18:14 -0700

@MikeBishop commented on this pull request.

Being nitpicky, but...  Not all QUIC packets contain frames.  All frames are carried by packets, so let's define the relationship in that direction.

Also, I wonder if we should attempt to disambiguate QUIC packet versus IP packet; something like:

> Protocol elements called "packets" also exist in IP. Where IP packets are referenced, the protocol name will be stated explicitly, e.g. "IP packets."  References without a preface refer to QUIC packets as defined in this document.

...either in the definition or following the list.  WDYT?

> +QUIC packet:
+
+: A complete processable unit of QUIC that can be encapsulated in a UDP
+  datagram.  QUIC packets carry one or more frames.  Multiple QUIC packets can
+  be encapsulated in a single UDP datagram.

```suggestion
QUIC packet:

: A complete processable unit of QUIC that can be encapsulated in a UDP
  datagram.  One or more QUIC packets can be encapsulated in a single UDP
  datagram.
```

> +QUIC packet:
+
+: A complete processable unit of QUIC that can be encapsulated in a UDP
+  datagram.  QUIC packets carry one or more frames.  Multiple QUIC packets can
+  be encapsulated in a single UDP datagram.
+
+Ack-eliciting Packet:
+
+: A QUIC packet that contains frames other than ACK, PADDING, and
+  CONNECTION_CLOSE. These cause a recipient to send an acknowledgment; see
+  {{sending-acknowledgements}}.
+
+Frame:
+
+: A unit of structured protocol information.  There are multiple frame types,
+  each of which carries different information.

```suggestion
  each of which carries different information.  Collections of frames are
  transported by 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/4313#pullrequestreview-519707188

---

From: Martin Thomson <[email-masked]>
Date: Thu, 29 Oct 2020 16:48:05 -0700

@martinthomson pushed 1 commit.

7b7523e05c9f9ddd71e23465d260b78b112973f5  Mike's suggestions, tweaked

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4313/files/a2928dffe80a4c6d20e4c43e1e8ee34f8802870a..7b7523e05c9f9ddd71e23465d260b78b112973f5

---

From: Martin Thomson <[email-masked]>
Date: Thu, 29 Oct 2020 16:48:41 -0700

I'm going to say that the IP Packet vs. QUIC Packet text is not necessary.  We carefully qualify where there is any potential for confusion.

-- 
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/4313#issuecomment-719087152

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 29 Oct 2020 16:54:04 -0700

@janaiyengar approved this pull request.

I like this definition. I'm happy with it.

-- 
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/4313#pullrequestreview-520166208

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 29 Oct 2020 16:57:59 -0700

On the other issue, it might be worth simply stating the terminology upfront. Something like
```
We use the terms "QUIC packets", "UDP datagrams", and "IP packets" to refer to the
units of each protocol. That is, one or more QUIC packets can be encapsulated in a UDP
datagram, which in turn is encapsulated in an IP packet.
```

-- 
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/4313#issuecomment-719089740

---

From: ianswett <[email-masked]>
Date: Sat, 31 Oct 2020 11:29:24 -0700

@ianswett approved this pull request.

One small suggestion, which you can ignore if you don't like it.

> +: A unit of structured protocol information.  There are multiple frame types,
+  each of which carries different information.  Frames are conveyed in QUIC

```suggestion
: A unit of structured protocol information.  A frame begins with a frame type,
  which indicates what information is contained in the frame. Frames are conveyed in QUIC
```

-- 
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/4313#pullrequestreview-521159630

---

From: Martin Thomson <[email-masked]>
Date: Sat, 31 Oct 2020 18:20:46 -0700

@martinthomson commented on this pull request.

I think we can skip that.  It's correct, but I don't think we need it here.

-- 
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/4313#discussion_r515561410