From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (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 5532D3BA8E for ; Wed, 12 Dec 2018 07:03:39 -0500 (EST) Received: by mail-lj1-x22a.google.com with SMTP id t9-v6so16037315ljh.6 for ; Wed, 12 Dec 2018 04:03:39 -0800 (PST) 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=q/932fWT1XS8FzIFhuEmuPuBcw0bTtpzDkPZ5metOyg=; b=dLDweXQMQklFxixl1w1I9skzVZtpZGPVmcxL7Zk8JpfniofCT5MFv0T/zUjwQk/FC2 2J0Pac2sAqgpaG7JXA4ptcc3YMD5xygzgvfbFSN+g2p9orjnxK9xkLS77xNkngNKt+FM di0R/Q6zKai6pMLJaRZnyfuv6dA0IagSMrF8cEkZ+jaNQ2QNizGYJlf3lHCS6aG8lt++ vPXu0+LV5/iFICHdCHusxbJAyOMBDASYGwmK8Ux3g4ZdYAMKMY3R88WBHK6NPnZ6LRzF Xj+Vtsewe1kKdjtps0owmmgtyjQ3RtELkjvBEa8JLEHAOtUN8N6tLfSL1XczPIl8F3F+ fwOA== 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=q/932fWT1XS8FzIFhuEmuPuBcw0bTtpzDkPZ5metOyg=; b=XO+hW2/beE+sBxaxoTn9ttx2fvic0JGwtVTm4JP4zd+iz8RlL4Dz0v+TSlxzEVcoeK 8BMV/16MJpEOZvEtGrxTwYO1t9hTiRDe2tSbQ6lFCaYKOxUlCUO858hSikqN8zl840yL hC15J27Tta8pMjM7JokB9X+qy9aqDGNNLPRIS+eYxM/waidICk2yg4/V+8agEQ6HyMUH e0AYvOjZY6gRjDAixHv1eXIV7ShuhPRdaT8QN7vB7F7aAbvHZGVg8uMj4u5aRBDkGYzS Bm0b6nI+gyqLd3YV/cx6nObycu0diRHgU9Ha/yvoQ9go7MZnXIrIpdcUy8fzGsWyrigF 8S4g== X-Gm-Message-State: AA+aEWYgF+KhD5V135xhN7wqj6a3MGbao/u88uyzrpnvyvxw/FQ3zZ9Z SxSA2hfF8lzD/uLOSwxTVFo= X-Google-Smtp-Source: AFSGD/V3dnIGPZOc8jvXBKPVzdQA/74oUBW5Ht+BOhJIBem2BvanUDSjKZ5EIA7Si9cxs3fF5Es+lg== X-Received: by 2002:a2e:990e:: with SMTP id v14-v6mr13576950lji.60.1544616218129; Wed, 12 Dec 2018 04:03:38 -0800 (PST) Received: from jonathartonsmbp.lan (83-245-239-14-nat-p.elisa-mobile.fi. [83.245.239.14]) by smtp.gmail.com with ESMTPSA id t144sm3116851lff.53.2018.12.12.04.03.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Dec 2018 04:03:37 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) From: Jonathan Morton In-Reply-To: Date: Wed, 12 Dec 2018 14:03:35 +0200 Cc: cake@lists.bufferbloat.net Content-Transfer-Encoding: quoted-printable Message-Id: <618AAE6C-9C5D-4CB5-A389-0D5B9AE7A1B8@gmail.com> References: To: Shefali Gupta X-Mailer: Apple Mail (2.3445.9.1) 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: Wed, 12 Dec 2018 12:03:39 -0000 > On 12 Dec, 2018, at 1:42 pm, Shefali Gupta = wrote: >=20 > 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. >=20 > 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. > =20 > Since Cake will be deployed at network devices, we're not able to = figure out how will be the (higher layer) information accessible. >=20 > 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