Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packet header fields cannot be omitted #3029

Closed
dtikhonov opened this issue Sep 13, 2019 · 5 comments · Fixed by #3040
Closed

Packet header fields cannot be omitted #3029

dtikhonov opened this issue Sep 13, 2019 · 5 comments · Fixed by #3040
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.

Comments

@dtikhonov
Copy link
Member

At the top of page 66 of the transport draft, we read:

   Every QUIC packet that is coalesced into a single UDP datagram is
   separate and complete.  Though the values of some fields in the
   packet header might be redundant, no fields are omitted.  The
   receiver of coalesced QUIC packets MUST individually process each
   QUIC packet and separately acknowledge them, as if they were received
   as the payload of different UDP datagrams.  For example, if
   decryption fails (because the keys are not available or any other
   reason), the receiver MAY either discard or buffer the packet for
   later processing and MUST attempt to process the remaining packets.

The second sentence seems to imply that a field could be omitted.

Does this sentence sound odd to anyone else?

@RyanTheOptimist
Copy link
Contributor

While it is perhaps technically redundant, I think it is actually quite helpful. The first sentence says, "complete" but that might be open to interpretation. The second sentence makes it clear what that means. I like it.

YMMV :)

@dtikhonov
Copy link
Member Author

My issue is not with the redundancy of the second senteance, but rather with its meaning. The specification that "no fields be omitted" implies that fields could be omitted -- but they can't be: There are no optional fields in packet headers.

@nibanks
Copy link
Member

nibanks commented Sep 13, 2019

Maybe change the second sentence to something like:

Though the values of some fields in the header might be redundant, it is
not possible to omit any fields.

@dtikhonov
Copy link
Member Author

@RyanatGoogle writes:

The first sentence says, "complete" but that might be open to interpretation. The second sentence makes it clear what that means. I like it.

The third sentence clarifies the first sentence well, too.

I would just drop the second sentence altogether.

@janaiyengar janaiyengar added the editorial An issue that does not affect the design of the protocol; does not require consensus. label Sep 16, 2019
@janaiyengar
Copy link
Contributor

I can't remember now, but we did have an intermediate design where redundant fields were absent. This sentence may have crept in around then. I agree with @dtikhonov : it does seem redundant now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants