quicwg / multipath

In-progress version of draft-ietf-quic-multipath
Other
49 stars 18 forks source link

replace 0xbaba by random numbers. #254

Closed huitema closed 1 year ago

huitema commented 1 year ago

Close #202

For frame types, this PR replaces the human generated prefix 0xbaba by 0x15228c, which is the most significant 24 bits of the MD5 hash of the string "QUIC Multipath" (0x15228c615c39b7ecbe121d64958cd9ea). The resulting codes become:

Value Frame Name
TBD-00 - TBD-01 (experiments use 0x15228c00-0x15228c01) ACK_MP
TBD-02 (experiments use 0x15228c05) PATH_ABANDON
TBD-03 (experiments use 0x15228c06) PATH_STATUS

For the error code, this PR replaces the human generated code 0xba00 by 0x1001d76d3ded42f3, a 62 bit number that happens to match the first 64 bits of the MD5 hash of "QUIC MP_PROTOCOL_VIOLATION" (0x1001d76d3ded42f39ec8a11a3d4734d9).

Value Code Description
TBD (experiments use 0x1001d76d3ded42f3) MP_PROTOCOL_VIOLATION Multipath protocol violation

These new numbers conform with Section 22.1.2. of RFC 9000, Selecting Codepoints. The varint encoding of the frame types is 32 bit long, which is the same as the encoding of the previous values and thus will not affect performance. The varing encoding of the error code is 64 bit long, which is more that the 16 bits previously used, but the size of a fatal error code is unlikely to affect performance significantly.