too much call to SetLossDetectionTimer()?

newbie quic <quicnewbie@gmail.com> Thu, 10 September 2020 14:10 UTC

Return-Path: <quicnewbie@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 505173A0B07 for <quic@ietfa.amsl.com>; Thu, 10 Sep 2020 07:10:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.199
X-Spam-Level:
X-Spam-Status: No, score=-0.199 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 qHqBnIRPmzlg for <quic@ietfa.amsl.com>; Thu, 10 Sep 2020 07:10:01 -0700 (PDT)
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A0B23A0B02 for <quic@ietf.org>; Thu, 10 Sep 2020 07:10:01 -0700 (PDT)
Received: by mail-pg1-x530.google.com with SMTP id t14so4286236pgl.10 for <quic@ietf.org>; Thu, 10 Sep 2020 07:10:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=molVwKmEa3ruAZrA1HIsieG7AkqqL7zF0Qzlwh0e2+Q=; b=ivXlrOlPUdVk2PMTeZkOBOBWeIM+t6tBZVtD+AzXcRoi3yrlqaBObenR5PH8VpiZbI PsOccG4nNERK2RUkwoBJd8Z+ywfYlJaY+pa5tr1lcwMm8TlR3bm51Q5qYfohA/H9y1Ey EA1G85rlbgpXJya8W5aq0rVv7SfuKea2PkQkY1wZshQHdTN+H4SB3AnytQ2uY7gK5+L+ Qb7tu+sP/GCcxDiKJWcYsBJuLIlLz6i22ZT76OvRr14Ng9qkixGP2Jq6Ny3uSYOlsgKe BNqFzHwxcLug0jAEh3SOegxIuN/B9ip2yf/tTKEmYhL+l/mdXBFs0jR0idBBRj3p1nB/ eRhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=molVwKmEa3ruAZrA1HIsieG7AkqqL7zF0Qzlwh0e2+Q=; b=afguCiJIVYIRt5pMO7BwpqJs3cSZZWp2cFoPIUicp1t0j/RT0JMF0c7UwbN5glksV+ Sfgo0v5AcrmddgsWzp51ODTIJpJq0EXU0elr7c5BJnuN6Wre3HLowh50zxUxH24fXRn9 xh7UiF3QhxDcBKhuKq/xkvMzHQQCfnHiKnx4vVbqw0EIed+QQPX5XuR9DsIaTgK+HmeI amrndqmqguoZz93/470BWXq+98pw4apMglQGIK/5UAS0r+/PgmfJnGfy9Pld2o2JWLvV /0ziSEDRVVcoGCQHW6Fzesd6gY4PKBSdNFHit5xAjrwxBsBE939WgCYeSfAO1NUIZOdZ Yi2w==
X-Gm-Message-State: AOAM532Z6A+l7dsQ3VSdwNrOCXFSUwiHpve19KNODkcKqFj3SMV3ilQM sdNfzvBx+60O7F/Ta1FC4oNzKq06BghmpDqvd2Wzvmvh
X-Google-Smtp-Source: ABdhPJx4ZAhZOooizlRlWFC3H78U7NZg8ZEKEAxhGPkroaF9Bwek2Fgaod5ozlUtiuHNMuwd/a/0voeJGPD2haop5aY=
X-Received: by 2002:a63:b47:: with SMTP id a7mr469904pgl.57.1599747000408; Thu, 10 Sep 2020 07:10:00 -0700 (PDT)
MIME-Version: 1.0
From: newbie quic <quicnewbie@gmail.com>
Date: Thu, 10 Sep 2020 16:09:49 +0200
Message-ID: <CADf7dJgAi4dcRDUZgEm5S8tXHBJ-95LxZx-=wrUbrHP1VdhWbQ@mail.gmail.com>
Subject: too much call to SetLossDetectionTimer()?
To: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b09bd005aef61fa4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/5oL0wFiAaoBJpIRLwLE8Sa-zrcs>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Sep 2020 14:10:02 -0000

Hello,

I have a question about the pseudo-code found in
draft-ietf-quic-recovery-30.txt.

Especially the part where at least one ack-eliciting packet is sent from
OnLossDetectionTimeout(). In every cases, we finally set the loss
detection/PTO timer calling SetLossDetectionTimer():

     if (bytes_in_flight > 0):
         // PTO. Send new data if available, else retransmit old data.
         // If neither is available, send a single PING frame.
         _, pn_space = GetPtoTimeAndSpace()
        SendOneOrTwoAckElicitingPackets(pn_space)
     else:
         assert(!PeerCompletedAddressValidation())
         // Client sends an anti-deadlock packet: Initial is padded
         // to earn more anti-amplification credit,
         // a Handshake packet proves address ownership.
         if (has Handshake keys):
              SendOneAckElicitingHandshakePacket()
         else:
              SendOneAckElicitingPaddedInitialPacket()

     pto_count++
     SetLossDetectionTimer()

Then as a sent ack-eliciting packet must be considered as in flight,
OnSentPacket() will also make a call to SetLossDetectionTimer().


Regards.