Re: [quicwg/base-drafts] Restrict ACK-clocking to ACK-only frames. (#1231)

Martin Thomson <notifications@github.com> Mon, 19 March 2018 11:49 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C7B381275F4 for <quic-issues@ietfa.amsl.com>; Mon, 19 Mar 2018 04:49:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.009
X-Spam-Level:
X-Spam-Status: No, score=-7.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eQj5wU1U979G for <quic-issues@ietfa.amsl.com>; Mon, 19 Mar 2018 04:49:33 -0700 (PDT)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6216C12741D for <quic-issues@ietf.org>; Mon, 19 Mar 2018 04:49:33 -0700 (PDT)
Date: Mon, 19 Mar 2018 04:49:32 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1521460172; bh=y+hrC7EQow/5w72iq5ElFp8CCVR46oEFi+UYlr95LsE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=KaJcNNdj1OkyxCYOF5TskuoyjjNRW419RJJAyfjCC/0Chun8RbTB3cMBAHJQvqCtd jdLPMo3E+XWgjQCV35GrwGvy2x4zlFe0aKcLMGINhmG/F3D+q3CobqeAN3Kd8wLqAo 7xCRXaKDVmtuUlDpfBcXzWmFesV7urRCqjRFar+E=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abc637ea1a477557e7b6f2718091fa20f3406d128092cf0000000116c765cc92a169ce12418d6a@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1231/review/104909628@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1231@github.com>
References: <quicwg/base-drafts/pull/1231@github.com>
Subject: Re: [quicwg/base-drafts] Restrict ACK-clocking to ACK-only frames. (#1231)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5aafa3cc8ccf2_1cf373f981d762f38126861"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/rra761GVEDseGgsaxajNp6jSwRo>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Mar 2018 11:49:36 -0000

martinthomson commented on this pull request.

GitHub ate my homework, but let me take another look...

>  
 To limit ACK blocks to those that have not yet been received by the sender, the
 receiver SHOULD track which ACK frames have been acknowledged by its peer.  Once
 an ACK frame has been acknowledged, the packets it acknowledges SHOULD NOT be
 acknowledged again.
 
-A receiver that is only sending ACK frames will not receive acknowledgments for
-its packets.  Sending an occasional MAX_DATA or MAX_STREAM_DATA frame as data is
-received will ensure that acknowledgements are generated by a peer.  Otherwise,
-an endpoint MAY send a PING frame once per RTT to solicit an acknowledgment.
+Because ACK-only packets are not acknowledged, a receiver that is only
+sending ACK frames will only receive acknowledgements for its packets
+if the sender piggybacks them on other packets. In order to enable
+this, senders SHOULD prioritize sending ACKs along with their data.

I agree with this.  The point of changing this text is to make it clear what the consequences of particular design choices are.  I would remove this sentence (starting with "In order to enable").

>  
 To limit ACK blocks to those that have not yet been received by the sender, the
 receiver SHOULD track which ACK frames have been acknowledged by its peer.  Once
 an ACK frame has been acknowledged, the packets it acknowledges SHOULD NOT be
 acknowledged again.
 
-A receiver that is only sending ACK frames will not receive acknowledgments for
-its packets.  Sending an occasional MAX_DATA or MAX_STREAM_DATA frame as data is
-received will ensure that acknowledgements are generated by a peer.  Otherwise,
-an endpoint MAY send a PING frame once per RTT to solicit an acknowledgment.
+Because ACK-only packets are not acknowledged, a receiver that is only
+sending ACK frames will only receive acknowledgements for its packets
+if the sender piggybacks them on other packets. In order to enable
+this, senders SHOULD prioritize sending ACKs along with their data.
+In addition, if a receiver regularly issues additional flow control
+credit rather than just issuing infinite flow control credit at the

Again, I would remove "rather than just issuing infinite flow control credit at the beginning".  The point remains good though, so I'd keep the rest.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/1231#pullrequestreview-104909628