Offline, I was pointed to a verified errata
https://www.rfc-editor.org/errata/eid6811 which answers my question and
clarifies the expectations.
-Jaikiran
On 27/03/23 6:48 pm, Jaikiran Pai wrote:
Hello everyone,
I am looking for some inputs on the sequence number value that gets
sent in a NEW_CONNECTION_ID frame. Specifically, section 5.1.1 of
RFC-9000 https://www.rfc-editor.org/rfc/rfc9000#issue-cid states:
Each connection ID has an associated sequence number to assist in
detecting when NEW_CONNECTION_ID or RETIRE_CONNECTION_ID frames refer
to the same value.
...
The sequence number of the initial connection ID is 0. If the
preferred_address transport parameter is sent, the sequence number of
the supplied connection ID is 1.
...
Additional connection IDs are communicated to the peer using
NEW_CONNECTION_ID frames ... The sequence number on each newly issued
connection ID MUST increase by 1.
So, sequence numbers 0 and 1 are reserved for initial connection id
and preferred_address connection id. However, the preferred_address
transport parameter is optional. Consider the case where the endpoint
doesn't send the preferred_address transport parameter. Does it mean
that it is then allowed to use a sequence number of 1 in the
NEW_CONNECTION_ID frame that it might send subsequently? Or, is that
sequence number only meant to be used for preferred_address parameter
and the endpoint must start with 2 as the sequence number for any
NEW_CONNECTION_ID frame it sends?
-Jaikiran