diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 73bb26813a..0f100a00ff 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -3447,8 +3447,10 @@ Packet Payload { {: #packet-frames title="QUIC Payload"} The payload of a packet that contains frames MUST contain at least one frame, -and MAY contain multiple frames and multiple frame types. Frames always fit -within a single QUIC packet and cannot span multiple packets. +and MAY contain multiple frames and multiple frame types. An endpoint MUST +treat receipt of a packet containing no frames as a connection error of type +PROTOCOL_VIOLATION. Frames always fit within a single QUIC packet and cannot +span multiple packets. Each frame begins with a Frame Type, indicating its type, followed by additional type-dependent fields: @@ -4667,7 +4669,7 @@ Initial Packet { Token (..), Length (i), Packet Number (8..32), - Packet Payload (..), + Packet Payload (8..), } ~~~ {: #initial-format title="Initial Packet"} @@ -4766,7 +4768,7 @@ limitations. Source Connection ID (0..160), Length (i), Packet Number (8..32), - Packet Payload (..), + Packet Payload (8..), } ~~~ {: #0rtt-format title="0-RTT Packet"} @@ -4816,7 +4818,7 @@ Handshake Packet { Source Connection ID (0..160), Length (i), Packet Number (8..32), - Packet Payload (..), + Packet Payload (8..), } ~~~ {: #handshake-format title="Handshake Protected Packet"} @@ -4976,7 +4978,7 @@ Short Header Packet { Packet Number Length (2), Destination Connection ID (0..160), Packet Number (8..32), - Packet Payload (..), + Packet Payload (8..), } ~~~~~ {: #fig-short-header title="Short Header Packet Format"}