Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Jonathan Morton <chromatix99@gmail.com>
To: Shefali Gupta <shefaligups11@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] Query Regarding Ack_Filter
Date: Wed, 12 Dec 2018 14:03:35 +0200	[thread overview]
Message-ID: <618AAE6C-9C5D-4CB5-A389-0D5B9AE7A1B8@gmail.com> (raw)
In-Reply-To: <CAFp5xQ7j-caJco2iGotGfjBKzcF=-xwUjkpTmEuoWi0CBcczpQ@mail.gmail.com>

> 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 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


  reply	other threads:[~2018-12-12 12:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 11:42 Shefali Gupta
2018-12-12 12:03 ` Jonathan Morton [this message]
2018-12-15 15:22   ` Shefali Gupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=618AAE6C-9C5D-4CB5-A389-0D5B9AE7A1B8@gmail.com \
    --to=chromatix99@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=shefaligups11@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox