Draft: draft-ietf-quic-transport

Commentary: Qualifies a MUST with an ' otherwise ' , since otherwise it would appear to directly contradict previous normative text .
Paragraph (version A):
If a server receives a packet that has an unsupported version, but
the packet is sufficiently large to initiate a new connection for any
version supported by the server, it SHOULD send a Version Negotiation
packet as described in send-vn.  Servers MAY rate control these
packets to avoid storms of Version Negotiation packets.
Paragraph (version B):
If a server receives a packet that has an unsupported version, but
the packet is sufficiently large to initiate a new connection for any
version supported by the server, it SHOULD send a Version Negotiation
packet as described in send-vn.  Servers MAY rate control these
packets to avoid storms of Version Negotiation packets.  Otherwise,
servers MUST drop packets that specify unsupported versions.
Paragraph (version A):
Servers MUST drop other packets that contain unsupported versions.
Paragraph (version A):
When an Initial packet is sent by a client which has not previously
received a Retry packet from the server, it populates the Destination
Connection ID field with an unpredictable value.  This MUST be at
least 8 bytes in length.  Until a packet is received from the server,
the client MUST use the same value unless it abandons the connection
attempt and starts a new one.  The initial Destination Connection ID
is used to determine packet protection keys for Initial packets.
Paragraph (version A):
The client populates the Source Connection ID field with a value of
its choosing and sets the SCIL field to indicate the length.
Paragraph (version A):
The first flight of 0-RTT packets use the same Destination and Source
Connection ID values as the client's first Initial.
Paragraph (version A):
The Destination Connection ID field in the server's Initial packet
contains a connection ID that is chosen by the recipient of the
packet (i.e., the client); the Source Connection ID includes the
connection ID that the sender of the packet wishes to use (see
connection-id).  The server MUST use consistent Source Connection IDs
during the handshake.
Paragraph (version A):
On first receiving an Initial or Retry packet from the server, the
client uses the Source Connection ID supplied by the server as the
Destination Connection ID for subsequent packets, including any
subsequent 0-RTT packets.  That means that a client might change the
Destination Connection ID twice during connection establishment, once
in response to a Retry and once in response to the first Initial
packet from the server.  Once a client has received an Initial packet
from the server, it MUST discard any packet it receives with a
different Source Connection ID.
Paragraph (version B):
When an Initial packet is sent by a client that has not previously
received an Initial or Retry packet from the server, it populates the
Destination Connection ID field with an unpredictable value.  This
MUST be at least 8 bytes in length.  Until a packet is received from
the server, the client MUST use the same value unless it abandons the
connection attempt and starts a new one.  The initial Destination
Connection ID is used to determine packet protection keys for Initial
packets.
Paragraph (version B):
The client populates the Source Connection ID field with a value of
its choosing and sets the SCIL field to indicate the length.  The
first flight of 0-RTT packets use the same Destination and Source
Connection ID values as the client's first Initial.
Paragraph (version B):
Upon first receiving an Initial or Retry packet from the server, the
client uses the Source Connection ID supplied by the server as the
Destination Connection ID for subsequent packets, including any
subsequent 0-RTT packets.  That means that a client might change the
Destination Connection ID twice during connection establishment, once
in response to a Retry and once in response to the first Initial
packet from the server.  Once a client has received an Initial packet
from the server, it MUST discard any packet it receives with a
different Source Connection ID.