From a0d2b341a6fbbb7aafa30476b5c3ec7568b80985 Mon Sep 17 00:00:00 2001 From: Martin Duke Date: Wed, 16 Oct 2019 15:09:33 -0700 Subject: [PATCH] Prohibit PADDING in response to ACK --- draft-ietf-quic-transport.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index e97fa28fe8..871c91211b 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -2880,7 +2880,7 @@ packet. expectations about what implementations do with packets that have errors after valid frames? --> -### Sending ACK Frames +### Sending ACK Frames {#sending-ack-frames} An endpoint sends ACK frames to acknowledge packets it has received and processed. @@ -2889,12 +2889,13 @@ Packets containing only ACK frames are not congestion controlled, so there are limits on how frequently they can be sent. An endpoint MUST NOT send more than one ACK-frame-only packet in response to receiving an ACK-eliciting packet (one containing frames other than ACK and/or PADDING). An endpoint MUST NOT -send a packet containing only an ACK frame in response to a non-ACK-eliciting -packet (one containing only ACK and/or PADDING frames), even if there are -packet gaps which precede the received packet. Limiting ACK frames avoids an -infinite feedback loop of acknowledgements, which could prevent the connection -from ever becoming idle. However, the endpoint acknowledges non-ACK-eliciting -packets when it sends an ACK frame. +send a packet containing only an ACK frame, or only an ACK and PADDING frame, +in response to a non-ACK-eliciting packet (one containing only ACK and/or +PADDING frames), even if there are packet gaps which precede the received +packet. Limiting ACK frames avoids an infinite feedback loop of +acknowledgements, which could prevent the connection from ever becoming idle. +However, the endpoint acknowledges non-ACK-eliciting packets when it sends an +ACK frame. Packets containing PADDING frames are considered to be in flight for congestion control purposes {{QUIC-RECOVERY}}. Sending only PADDING frames might cause the