Subject: [quicwg/base-drafts] Invariants: Unclarity in short headers (#2335)

From: Magnus Westerlund <[email-masked]>
Date: Tue, 15 Jan 2019 04:45:51 -0800

Section 4.2 of the Invariant Short header are not explicit that the Destionation CID follows the first byte: 

"A QUIC packet with a short header includes a Destination Connection ID. The short header does not include the Connection ID Lengths, Source Connection ID, or Version fields."

As see it just says that the destination CID is part of the short header, not where to find 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/2335

---

From: Magnus Westerlund <[email-masked]>
Date: Tue, 15 Jan 2019 04:51:50 -0800

Also the length of the DCID in the short header is unclear. With the long header's restriction on both source and destination CID I don't think the CID is of arbitrary length as stated in Section 4.3. I think it is 0 to 18 bytes long as set agreed by the connection. 

-- 
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/2335#issuecomment-454381750

---

From: Martin Thomson <[email-masked]>
Date: Tue, 15 Jan 2019 15:41:31 -0800

Yes, DCID follows the first octet, and we should say that.

As for the length, 0/4-18 is a restriction that we agreed applies only to long headers.  You can - if the QUIC version allows it - negotiate other lengths for connection IDs using other methods.

-- 
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/2335#issuecomment-454594416

---

From: Magnus Westerlund <[email-masked]>
Date: Thu, 17 Jan 2019 01:03:55 -0800

Ok, the spec is in some sense clear that this can be of arbitary length. However, that this is not required to be consistent with the long header is far from obvious and probably should be explicitly remarked. 

An realization I didn't have before over this design is that a given destination IP address and UDP port that deals with multiple QUIC connections will be foreced to use one commond DCID length across all QUIC connections using that port, otherwise it will have to use prefixes for DCIDs to be able to determine how long the actual DCID field are to enable decoding the header protection. It might have been a misstake to not include an DCID length field. 

-- 
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/2335#issuecomment-455094782

---

From: MikkelFJ <[email-masked]>
Date: Thu, 17 Jan 2019 16:15:03 +0000 (UTC)

The endpoint can decide on its own DCID length encoding, so that is fine.

-- 
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/2335#issuecomment-455231263