Subject: [quicwg/base-drafts] Coalescing Packet including Initial Packet would be over the MTU (#1546)

From: Daiki AMINAKA <[email-masked]>
Date: Tue, 10 Jul 2018 20:41:17 -0700

UDP datagram would be over the MTU(1252 bytes for IPv4) when coalescing packet with Initial Packet and some other packets during Handshake, because Initial Packet have to have at least 1200 bytes.

When to coalesce packets with Initial packet, should we consider the 1200 bytes limitation as whole coalescing packet UDP datagram?
Or should we send Initial Packet as it 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/issues/1546

---

From: Martin Thomson <[email-masked]>
Date: Tue, 10 Jul 2018 21:57:02 -0700

We agreed that this would be datagram, but the fix was implemented inconsistently.

-- 
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/issues/1546#issuecomment-404045080

---

From: Christian Huitema <[email-masked]>
Date: Thu, 12 Jul 2018 17:05:45 -0700

It is way simpler to send the client initial as is, and the 0-RTT data in a follow-up packet. If the implementation can predict that a 0-RTT will follow, it can refrain from padding the Initial packet, and make sure that the coalesced 0-RTT packet extends to the specified limit. Doable, even if not entirely natural.

-- 
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/issues/1546#issuecomment-404686930

---

From: Kazuho Oku <[email-masked]>
Date: Thu, 12 Jul 2018 17:21:02 -0700

> It is way simpler to send the client initial as is, and the 0-RTT data in a follow-up packet. If the implementation can predict that a 0-RTT will follow, it can refrain from padding the Initial pac…

FWIW, you have the freedom to pad the 0-RTT packet of a coalesced datagram instead. IMO that is the natural way to combine Initial and 0-RTT into a single datagram.

What picotls does when both 0-RTT key is available is:
* construct Initial packet without padding
* construct 0-RTT packet coalesced to the Initial
* pad the 0-RTT packet if the datagram is going to be to small

-- 
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/issues/1546#issuecomment-404689214

---

From: Christian Huitema <[email-masked]>
Date: Thu, 12 Jul 2018 17:37:50 -0700

Yes, the issue is that it not just the 0-RTT key -- it also depends on having 0-RTT data available. But I guess that if there are no 0-RTT data available, on can just send a 0-RTT packet full of pads...

-- 
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/issues/1546#issuecomment-404691356

---

From: Martin Thomson <[email-masked]>
Date: Sun, 29 Jul 2018 21:18:31 -0700

Closed #1546 via #1548.

-- 
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/issues/1546#event-1759259965