Subject: Re: [quicwg/base-drafts] RTT Measurement for HelloRetryRequest (#879)

From: Marten Seemann <[email-masked]>
Date: Tue, 06 Feb 2018 12:45:10 +0000 (UTC)

I'd like to add some implementation experience to this issue, and make the case for not only allowing an ACK in the Retry packet, but for requiring it.

If you're using the same retransmission logic for the Initial packet as for all other packets (which is what the loss recovery draft implies we should do) you'll have to build a special case just to acknowledge the Initial packet. It's even more confusing, since the Initial packet that the server accepts will get ACKed, it's only the only triggering the Retry that needs special treatment.
If you forget that special case, the client will retransmit this packet indefinitely (since it's never acknowledged), and constantly interpret this as a loss signal.

-- 
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/879#issuecomment-363411234

---

From: Nick Banks <[email-masked]>
Date: Wed, 28 Feb 2018 15:30:29 +0000 (UTC)

Personally, I like having the ACK in the retry packet and think we should allow it, though, not necessarily require it. But at the very least, the spec currently has conflicting info in the retry section [(5.4.2).](https://quicwg.github.io/base-drafts/draft-ietf-quic-transport.html#rfc.section.5.4.2) At the very beginning it states:

> A Retry packet uses long headers with a type value of 0x7E. It carries cryptographic handshake messages **and acknowledgments**.

Then at the end it states:

> The payload of the Retry packet contains a single STREAM frame on stream 0 with offset 0 containing the server’s cryptographic stateless retry material. **It MUST NOT contain any other frames.**

I just encountered an interop issue because I only read the top and included an ACK frame in my Retry and found that ngtcp2 client didn't like 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/issues/879#issuecomment-369274440