From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 2E5EC3B29D for ; Wed, 6 May 2020 15:01:49 -0400 (EDT) Received: by mail-lj1-x232.google.com with SMTP id a21so3538455ljj.11 for ; Wed, 06 May 2020 12:01:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=m396YbKZ0aNyaXw0OzP0br7ZhcenbkzM580nznSRs5M=; b=WkLvPpFZk88zFEcBAJJBBWFfGPd5e00EzJpsXhpZSPHk3n4xcBs6NUuzKhc6rOm1ka TZu/V/wH6kIlT5LNFxDB8SymyHNot5qBAST6rvL5Ckc+aQ6utkKmW87r+uu2WrJggAG7 8e+4KPGu0Rq8ZCUZhAOrDd/ZBmDTsNdwmlI6/uj3KuCEc3vL0YINAROXAq4aY74M0pg8 MPvYwTxMXaTC+NRZP8EVp4rFYjHP/FIPn6kC4ZSyeS1RBoZDXX+Fa2T7d5a45LE05n0r DmKIcZLVwHedcw4h4RVzqc4s05WQsF1A6C4DnG5I3TFZal0blDi5GM49m6MBjlRQAohN Hpag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=m396YbKZ0aNyaXw0OzP0br7ZhcenbkzM580nznSRs5M=; b=lWLHp14oxT1RoxqV55Hlr+xCIVzqtKln91lg4p/KMYSMdTVWrBB51fxzcioc50ey7u 6TaXj4n6Ax/z66TwSTtkuOPezVl90GgfV5BEuJJg9R4pMTJLV446OnuOP5ClITUWce02 h8XNQ/IvREmM1Ey+OAUwLMRXrEKK3YDD8lSfsbEnWQh18twT00AOzklqmW7tCqZV26Hi MJp3otXIHxHDM5sPLNb28sPJx0xGbWK5scY7Ayj6itwJ8Srl1Ugsu5Fxv6g3kR5j++iM kX0KdpCezC7S2MDfbdQKXib6NCPRK7XhjBryTSvZSHR5BJrVMa1VlCymiAVGLAZAyHBT Jk9Q== X-Gm-Message-State: AGi0PuYnBxG4f7NAEHbe/wJ93xzoEsTmXPxNIXy89aK6jKHYPrxnrrM1 tHMCfJuEPVOwnvZsqcibJXRCVyyx X-Google-Smtp-Source: APiQypKlvl5/I4sGQboU6f68Ye7gkrKmur257Ubhe6NbPoSjId1CzTqJPhGJ5lV7f+ltsWPoEeNLqg== X-Received: by 2002:a2e:700a:: with SMTP id l10mr5682797ljc.88.1588791707988; Wed, 06 May 2020 12:01:47 -0700 (PDT) Received: from jonathartonsmbp.lan (83-245-235-192-nat-p.elisa-mobile.fi. [83.245.235.192]) by smtp.gmail.com with ESMTPSA id 4sm1828791ljf.79.2020.05.06.12.01.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 May 2020 12:01:47 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) From: Jonathan Morton In-Reply-To: Date: Wed, 6 May 2020 22:01:45 +0300 Cc: cake@lists.bufferbloat.net, "Mohit P. Tahiliani" , Shrinidhi Varna , Deepak K , Vybhav Pai Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Avakash bhat X-Mailer: Apple Mail (2.3445.9.1) Subject: Re: [Cake] Query on ACK X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 May 2020 19:01:49 -0000 > On 6 May, 2020, at 9:43 pm, Avakash bhat wrote: >=20 > We are trying to implement the ACK filtering module of CAKE in ns-3 = (Network Simulator). Ah yes. Sorry I didn't respond to the introduction earlier - we were = right in the middle of preparing for an IETF virtual meeting. The = debris is still falling from orbit=E2=80=A6 > We had a question on the working of ack filtering.=20 > If an incoming ack which can replace an eligible ack in the queue is = about to be enqueued, do we replace the ack in the queue with the = incoming ack=20 > or do we enqueue the ack to the tail of the queue and remove the = eligible ack from the queue? That sounds like an implementation detail. But what we do in Cake is to = simply enqueue all the packets, and deal with everything complicated on = dequeue. At that point, we check whether the two packets at the head of the queue = are acks for the same flow, and if so, we further check whether the = information in the first packet is redundant given the presence of the = second packet. If there is information in the first packet that is not = also provided by the second packet, the first packet is delivered. = Otherwise the first packet is dropped, and the second packet moves to = the head of the queue. This process may repeat several times if there = are several consecutive, redundant acks in the queue. The important part is the set of rules determining whether the ack is = redundant. - Jonathan Morton