From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-xc2b.google.com (mail-yw1-xc2b.google.com [IPv6:2607:f8b0:4864:20::c2b]) (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 1DE033CB40 for ; Sat, 15 Dec 2018 10:22:58 -0500 (EST) Received: by mail-yw1-xc2b.google.com with SMTP id d16so1007593ywa.5 for ; Sat, 15 Dec 2018 07:22:58 -0800 (PST) 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=9kOyp8Tx2JXIJeYbbp3vRKvkXMocmFJWaS8QsOUfl6Q=; b=IJ++eeTgky//rbqHPuaVfSIbh9sJ3cDgxAgfNI5pp/uOIYGQQyzOBrmZ7dPcBGt629 qDKslrJJu5PhKCXMEQkwLIG0niRqf86YZg8OGi+oGaUo5x9USxqLiPqaX84pAzdKQfma 3OizF4g3WUrtBRqhHnuo7VxndwE71xYOY+C6/+lzuGs3IqNiAlSLGYC1kpUpU3DV1v08 2F6eqdJeYbkWI29yBiE9//ZCzz2PXtXZeQyvEH0OrN/1grC467STahP0f4DLj2lOWLWr PgHq/nd8KBw6NQHA+qbznSqssuWJytvjbMh4WGlrL9rPhgq0TLe/D/QNkoNhBxYF5ruE rXVw== 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=9kOyp8Tx2JXIJeYbbp3vRKvkXMocmFJWaS8QsOUfl6Q=; b=rlDX4xkd8QqtGr92h94iGgxUZVn5ALz++IX5e5OjBr1vOqHA1blCPNU8MyNzFgZ398 8K0XP4f4JeHjh/PNAmnJifWtgTxWMfk95PQ/yRMpiSUKGaqpPEWLQD2QI+JAXfjHJI/Z aXDMzNfqpBdXAGWNZ4M8/8Pj+16Y2SEYp3R/M/A9cr5z2CJ/AMwbqfwiMOwv5vZdsexn RTgLWGkNiqy2kgmmOEBBpd/AyIemcpuHtOgvEUA5+OwmLbMdp4mMvBA7MNt8EI2L/KoF MRzRTqN9nm0dH+xM1C73er69iCS1bOm5j4Kweey64lGavz6FbnpOJFS586TTJdZf1O8k WI+g== X-Gm-Message-State: AA+aEWZskNmppVY3Fv/dHC162JWrrGvHjjy1w+QrsoDiV+eglXhZIwkz jRkfsXe4scMVeChW+hpROvsY+1rjBmp+roJTc24= X-Google-Smtp-Source: AFSGD/UsARYks98/dDkSakFaGXLwSL5vKeKRLuBZSqwnxM75N+ZJmWKU6EV1DmdBFREB4czY8iwasKfSY6sF2YZuZ+s= X-Received: by 2002:a81:ad60:: with SMTP id l32mr7264847ywk.64.1544887377399; Sat, 15 Dec 2018 07:22:57 -0800 (PST) MIME-Version: 1.0 References: <618AAE6C-9C5D-4CB5-A389-0D5B9AE7A1B8@gmail.com> In-Reply-To: <618AAE6C-9C5D-4CB5-A389-0D5B9AE7A1B8@gmail.com> From: Shefali Gupta Date: Sat, 15 Dec 2018 20:52:36 +0530 Message-ID: To: Jonathan Morton Cc: cake@lists.bufferbloat.net Content-Type: multipart/alternative; boundary="000000000000591202057d111fab" Subject: Re: [Cake] Query Regarding Ack_Filter 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: Sat, 15 Dec 2018 15:22:58 -0000 --000000000000591202057d111fab Content-Type: text/plain; charset="UTF-8" Hello Jonathan, Thanks for the help. The information you provided was useful. We'll let you know if we have any questions. Thanks and Regards, Shefali Gupta Jendaipou Palmei On Wed, Dec 12, 2018 at 5:33 PM Jonathan Morton wrote: > > On 12 Dec, 2018, at 1:42 pm, Shefali Gupta > wrote: > > > > We're trying to implement Ack_Filter in ns-3, while working on your > suggestions in parallel for validating the implementation of COBALT in ns-3. > > > > As far as we understand, we need TCP header information related to SACK > Blocks, ECN, Source Port, SYN flag, ACK Flag, etc for Ack_Filter to work. > > > > Since Cake will be deployed at network devices, we're not able to figure > out how will be the (higher layer) information accessible. > > > > Are we missing out on something that is very obvious? > > The ack-filter is essentially a Layer-4 feature, which does require > unpacking the packet a bit further than usual. In principle it's no > different from the steps needed to unpack a Layer-2 packet to read the > Layer-3 IPv4 or IPv6 headers for routing and flow hashing, or applying an > ECN mark. > > First check whether the next-level protocol is one that's relevant and > understood, then look at the appropriate offsets to find the header data > required. That's basically what Cake does, via some basic helper macros > which are provided by Linux. > > Probably ns-3 has some helper API to do that for you; if not to extract > the fields and flags of the TCP header, then at least to locate it. You > just need to find the right API. > > - Jonathan Morton > > --000000000000591202057d111fab Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Jonathan,

Thanks for t= he help.

The information you provided was useful.<= /div>

We'll let you know if we have any questions.

Thanks and Regards,
Shefali Gupta
Jendaipou Palmei

On Wed, Dec 12, 2018 at 5:33 PM Jonathan Morton <chromatix99@gmail.com> wrote:
<= /div>
> On 12 Dec, 2018= , at 1:42 pm, Shefali Gupta <shefaligups11@gmail.com> wrote:
>
> We're trying to implement Ack_Filter in ns-3, while working on you= r suggestions in parallel for validating the implementation of COBALT in ns= -3.
>
> As far as we understand, we need TCP header information related to SAC= K Blocks, ECN, Source Port, SYN flag, ACK Flag, etc for Ack_Filter to work.=
>=C2=A0
> Since Cake will be deployed at network devices, we're not able to = figure out how will be the (higher layer) information accessible.
>
> Are we missing out on something that is very obvious?

The ack-filter is essentially a Layer-4 feature, which does require unpacki= ng the packet a bit further than usual.=C2=A0 In principle it's no diff= erent from the steps needed to unpack a Layer-2 packet to read the Layer-3 = IPv4 or IPv6 headers for routing and flow hashing, or applying an ECN mark.=

First check whether the next-level protocol is one that's relevant and = understood, then look at the appropriate offsets to find the header data re= quired.=C2=A0 That's basically what Cake does, via some basic helper ma= cros which are provided by Linux.

Probably ns-3 has some helper API to do that for you; if not to extract the= fields and flags of the TCP header, then at least to locate it.=C2=A0 You = just need to find the right API.

=C2=A0- Jonathan Morton

--000000000000591202057d111fab--