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

grease transport parameters #2873

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion draft-ietf-quic-recovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ populating the Ack Delay field in an ACK frame.

An endpoint MUST NOT excessively delay acknowledgements of ack-eliciting
packets. The maximum ack delay is communicated in the max_ack_delay transport
parameter; see Section 18.1 of {{QUIC-TRANSPORT}}. max_ack_delay implies an
parameter; see Section 18.2 of {{QUIC-TRANSPORT}}. max_ack_delay implies an
explicit contract: an endpoint promises to never delay acknowledgments of an
ack-eliciting packet by more than the indicated value. If it does, any excess
accrues to the RTT estimate and could result in spurious retransmissions from
Expand Down
14 changes: 13 additions & 1 deletion draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -1529,7 +1529,8 @@ transport parameters in 0-RTT as a connection error of type PROTOCOL_VIOLATION.
New transport parameters can be used to negotiate new protocol behavior. An
endpoint MUST ignore transport parameters that it does not support. Absence of
a transport parameter therefore disables any optional protocol feature that is
negotiated using the parameter.
negotiated using the parameter. As described in {{transport-parameter-grease}},
some identifiers are reserved in order to exercise this requirement.

New transport parameters can be registered according to the rules in
{{iana-transport-parameters}}.
Expand Down Expand Up @@ -4263,6 +4264,14 @@ QUIC encodes transport parameters into a sequence of bytes, which are then
included in the cryptographic handshake.


## Reserved Transport Parameters {#transport-parameter-grease}

Transport parameters with an identifier of the form `31 * N + 27` for integer
values of N are reserved to exercise the requirement that unknown transport
parameters be ignored. These transport parameters have no semantics, and may
carry arbitrary values.


## Transport Parameter Definitions {#transport-parameter-definitions}

This section details the transport parameters defined in this document.
Expand Down Expand Up @@ -5725,6 +5734,9 @@ The initial contents of this registry are shown in {{iana-tp-table}}.
| 0x000e | active_connection_id_limit | {{transport-parameter-definitions}} |
{: #iana-tp-table title="Initial QUIC Transport Parameters Entries"}

Additionally, each value of the format `31 * N + 27` for integer values of N
(that is, `27`, `58`, `89`, ...) MUST NOT be assigned by IANA.


## QUIC Frame Type Registry {#iana-frames}

Expand Down