Subject: [quicwg/base-drafts] The first Initial needs to fit into a single IP packet (#2183)

From: Martin Thomson <[email-masked]>
Date: Thu, 13 Dec 2018 18:20:40 -0800

Not sure if this needs to address IP fragmentation.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * The first Initial needs to fit into a single IP packet

-- File Changes --

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

-- Patch Links --

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

---

From: Marten Seemann <[email-masked]>
Date: Thu, 13 Dec 2018 18:26:10 -0800

marten-seemann commented on this pull request.

> @@ -3081,14 +3081,14 @@ corrupt ECN codepoints in the IP header.
 The QUIC packet size includes the QUIC header and protected payload, but not the
 UDP or IP header.
 
-Clients MUST ensure they send the first Initial packet in a UDP datagram that is
-at least 1200 bytes.  The payload of a UDP datagram carrying the Initial packet
-MUST be expanded to at least 1200 bytes, by adding PADDING frames to the Initial
-packet and/or by combining the Initial packet with a 0-RTT packet (see
-{{packet-coalesce}}).  Sending a UDP datagram of this size ensures that the
-network path supports a reasonable Maximum Transmission Unit (MTU), and helps
-reduce the amplitude of amplification attacks caused by server responses toward
-an unverified client address, see {{address-validation}}.
+Clients MUST ensure they send the first Initial packet in single IP packet.  The
+payload of a UDP datagram carrying the first Initial packet MUST be expanded to
+at least 1200 bytes, by adding PADDING frames to the Initial packet and/or by
+combining the Initial packet with a 0-RTT packet (see {{packet-coalesce}}).
+Sending a UDP datagram of this size ensures that the network path supports a

We require networks to support 1280 bytes in order to be used with QUIC, so testing for 1200 bytes seems weird.
Why are we not padding to 1280 anyway?

-- 
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/2183#pullrequestreview-184949059

---

From: Martin Thomson <[email-masked]>
Date: Thu, 13 Dec 2018 18:27:20 -0800

martinthomson commented on this pull request.

Because we don't know how much overhead there 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/2183#discussion_r241627847

---

From: janaiyengar <[email-masked]>
Date: Fri, 14 Dec 2018 17:31:55 -0800

janaiyengar commented on this pull request.

Should this say something about the first Initial packet (and the first Initial packet after a Retry)?

-- 
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/2183#pullrequestreview-185335823

---

From: janaiyengar <[email-masked]>
Date: Fri, 14 Dec 2018 17:32:54 -0800

```suggestion
Clients MUST ensure they send the first Initial packet in single IP datagram.  The
```

-- 
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/2183#pullrequestreview-185335884

---

From: janaiyengar <[email-masked]>
Date: Fri, 14 Dec 2018 17:33:58 -0800

I'm fine with this. I don't think it's worth getting into a discussion about IP fragmentation 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/2183#issuecomment-447525595

---

From: janaiyengar <[email-masked]>
Date: Fri, 14 Dec 2018 17:34:07 -0800

janaiyengar approved this pull request.

-- 
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/2183#pullrequestreview-185335963

---

From: MikkelFJ <[email-masked]>
Date: Sat, 15 Dec 2018 02:55:07 -0800

mikkelfj commented on this pull request.

Isn't there a broader requirement to never fragment IP packets/datagrams when doing 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/2183#discussion_r241945895

---

From: Martin Thomson <[email-masked]>
Date: Sun, 16 Dec 2018 18:58:25 -0800

We've been using IP packet, UDP datagram, and QUIC packet.  Not great, but the IP RFCs use 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/2183#discussion_r242014902

---

From: Martin Thomson <[email-masked]>
Date: Sun, 16 Dec 2018 19:02:34 -0800

@martinthomson pushed 1 commit.

a326fecbd2945809f20848dc0901ab55eef409f7  Also applies after Retry

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2183/files/8d344bd9b1e0b8fb390c7c606d0fb0f8d1b7747b..a326fecbd2945809f20848dc0901ab55eef409f7

---

From: Martin Thomson <[email-masked]>
Date: Sun, 16 Dec 2018 19:03:07 -0800

Yes, this also applies after Retry, and this is the best place to add that text.  There's a space now if we wanted to say "don't use IP fragmentation", but I'm happy with this.

-- 
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/2183#issuecomment-447708579

---

From: janaiyengar <[email-masked]>
Date: Tue, 18 Dec 2018 22:33:27 +0000 (UTC)

Merged #2183 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/2183#event-2034282564