Re: too much call to SetLossDetectionTimer()?

Jana Iyengar <jri.ietf@gmail.com> Fri, 11 September 2020 03:28 UTC

Return-Path: <jri.ietf@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 D6D1B3A1376 for <quic@ietfa.amsl.com>; Thu, 10 Sep 2020 20:28:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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, URIBL_BLOCKED=0.001] autolearn=unavailable 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 GZrfY7K1SMOB for <quic@ietfa.amsl.com>; Thu, 10 Sep 2020 20:28:52 -0700 (PDT)
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) (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 2BDB93A1375 for <quic@ietf.org>; Thu, 10 Sep 2020 20:28:52 -0700 (PDT)
Received: by mail-lf1-x131.google.com with SMTP id w11so4741582lfn.2 for <quic@ietf.org>; Thu, 10 Sep 2020 20:28:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BXvx/RT74mWyijXrp9csAzRlDXOaqGd5DOxMO8ewPkw=; b=YFOQpL5YuL6h5I7NifocrjpHKyPhi2BLvNlZPBnWLwcaVfted5VvJtJS0MAHjzoEWW S1/5XWLt79CyYo9gk6sF8LbybhrfUTKUvzMUGP69QaOEONsnpvLjtFHzPCx1k4jkn46A WTPA8sqVLE47pgy105ykPF+j1OqCg2udmbQYxg/M4niWpBeq9pD63qczfyaNIvHSyvS7 Xx6F8uAiYtlARUwexaaaFVb3pxYZak2E/4PWq0pchYhmY83bBVbmdmBtB58YeZ3NjuR7 JwV4+eTqoskCVmEuWr/NavkhDdiKCWtdwFZUn5/IbUDTZek5AKmhdXtwVobPT4IJoZz0 clQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BXvx/RT74mWyijXrp9csAzRlDXOaqGd5DOxMO8ewPkw=; b=LYwUlijlQvR/4Z/Ep+APtb3f4HBygyLsnsJhZFQgb7KmKqTV4hvpvYA4kS7TMJCB5S LAk3jklOzWKJUDahLuNmkX0BOeTt6lHuYlk2cFnHqgR469t2fGagTZiYnJZZnK9pIMR5 Ur3nWaC4Q5c4axRxFaMF6qfs8OZ11xPFTXJYAwxcSeYTitD0/ELCdRk/r1q46dMUXVJa bkzfk1KtY1a9S42TShG6dAwbEyhDFLcCS51twP8AYZ3qhiv+ADZZbc9HF1wriKct6GBt u8r9T78+l8FeK7jI7wrnFP6gfKUVAqL3M6IIap0U5QyBj92y2QguzG76d41grub5abPM yUlw==
X-Gm-Message-State: AOAM532vt/4o/Psdx+BeKNADF/mkjEqxPPpJtqJ6tf1ZQO+uC0MBNMmd eb+uHIShNpIR+W82SNrutC4RLyz/dDc7loOx420=
X-Google-Smtp-Source: ABdhPJwcxA0Zj3G0DCG/TVQIJvotDuafz8cYWQ/PC1loHNXXrHNu6FEHz3At13/CdkoEKpMhWZYrRy0ZvuUiu5dqu5g=
X-Received: by 2002:a19:cb54:: with SMTP id b81mr5613610lfg.37.1599794930246; Thu, 10 Sep 2020 20:28:50 -0700 (PDT)
MIME-Version: 1.0
References: <CADf7dJgAi4dcRDUZgEm5S8tXHBJ-95LxZx-=wrUbrHP1VdhWbQ@mail.gmail.com> <CAKcm_gPBXtDhSyw3N80YJTAEwRs4f-8wfnEFfZRjVWcUjXuvjQ@mail.gmail.com>
In-Reply-To: <CAKcm_gPBXtDhSyw3N80YJTAEwRs4f-8wfnEFfZRjVWcUjXuvjQ@mail.gmail.com>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Thu, 10 Sep 2020 20:28:39 -0700
Message-ID: <CACpbDce+0QLWFTM3_V2f1ERPfzuk1Ysk9a=UMUQ+A-ppAKjY4A@mail.gmail.com>
Subject: Re: too much call to SetLossDetectionTimer()?
To: Ian Swett <ianswett=40google.com@dmarc.ietf.org>
Cc: newbie quic <quicnewbie@gmail.com>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000087e81705af01486c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/UiDD8Eezxl2QlCJovJmU-ooSFOU>
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: Fri, 11 Sep 2020 03:28:55 -0000

This is fine, I'd argue... it's unnecessary, but it doesn't break anything.
And the pseudo code is meant to clarify the text, rather than simply be
used verbatim in implementations anyways.

On Thu, Sep 10, 2020 at 8:27 AM Ian Swett <ianswett=
40google.com@dmarc.ietf.org> wrote:

> Good point, this is typically unnecessary.  However, I think it also may
> be clearer to call it here than not?  Alternatively, we could add a comment
> and an assert.
>
> On Thu, Sep 10, 2020 at 10:10 AM newbie quic <quicnewbie@gmail.com> wrote:
>
>> 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.
>>
>