From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-x244.google.com (mail-qk0-x244.google.com [IPv6:2607:f8b0:400d:c09::244]) (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 E8CCB3BA8E for ; Fri, 17 Nov 2017 16:32:45 -0500 (EST) Received: by mail-qk0-x244.google.com with SMTP id n3so1065393qkn.11 for ; Fri, 17 Nov 2017 13:32:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=DUkSmIJi0JlhrVO2MrxNWMldZ5kTc393GZu2nSLyZNQ=; b=rJ4hxLWRP1mCLuByVODgzYPwgMalt/TkoneU8fn4Jbgj2YggxPXTdcPIKeEfybE6ME W+V5YqkkEzXpakpgROZtbsz31zMSwo59/WiAdjmc3QWU/bRGwVUGBiUWRzGQXD56t089 nUphYDvaPref9LTPPQw3Z1xnKqTw9uP+nDfisGdYQ7avMnJobBkQvE+iIoTpL0Gu4p5G emUOom8bbGklbwoNxWGzZHnVTGePbfxOHt+ExhWHIolwqNhZ/2Ait0mIXj9wU8vkTajB QdwMYFWPQ77fNnJFmyu3ZW0pM5jkDvR7Jel9dWSWjh6jRaxhqbttesL0TyvfYFYjRc8i /ygg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=DUkSmIJi0JlhrVO2MrxNWMldZ5kTc393GZu2nSLyZNQ=; b=gYqA2PUWaOYlODTX/JkGQqLwHpnMLqjS/jKWmkP239vf+uV8RPYb1NZmfGVHBGW73U RDqFaqyWzN/W9p3pyqOrXo00oOdvqkZwgmZNgLr2nwYc9wTWPTD7CKtgVWuM51dnAh6f 5D6cSHhf7RoEpPoQNF8cLN9Wn071VvopRBS3ZSOZAsP1tK/MMFzJjuN86N/1OE20iaK/ RkKbW2WspDo+va9zT6kdmNfhgo7uQsFsTVPRNUeFwvNEjag3YmMgtOzDdBCF1f2J+J2u 8k4jkvjnhBNStcS27n1MO2SrPFEc2BmkdxtgkoTtOM3r8+x/DYZWTrhNv8QzuO3laCkt PqFg== X-Gm-Message-State: AJaThX58ujbQI1PAa3gTEYWAK1U12JI9j2D5sGiU01SFcHsaW5F6y9Eu 7zB/LlSV4fq7F17RqHssARqn9LaQAdoYvK6FBzYbsw== X-Google-Smtp-Source: AGs4zMa4EIPuen9WO/zcLcZcwH47eNuGSQ3wRHUivp6UDb6YsW6bCr+31puq/9cwv6pD81RouA+73G+Ak1WReD3ZjMY= X-Received: by 10.55.145.66 with SMTP id t63mr9872571qkd.305.1510954365369; Fri, 17 Nov 2017 13:32:45 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.193.93 with HTTP; Fri, 17 Nov 2017 13:32:44 -0800 (PST) In-Reply-To: <1510953891-11984-1-git-send-email-dave.taht@gmail.com> References: <1510953891-11984-1-git-send-email-dave.taht@gmail.com> From: Dave Taht Date: Fri, 17 Nov 2017 13:32:44 -0800 Message-ID: To: Cake List Content-Type: multipart/mixed; boundary="94eb2c085388386b75055e347a3d" Subject: Re: [Cake] [RFC PATCH 0/2] iproute2 cake support 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: Fri, 17 Nov 2017 21:32:46 -0000 --94eb2c085388386b75055e347a3d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I've also put this up on github: https://github.com/dtaht/iproute2-cake-next It has generally proved difficult to maintain a branch of linux on github (lots of timeouts), attached is the patchset I sent with email, with the mistake toke pointed out corrected. It did compile, I'm forcing a rebuild on two machines as I write. I am still building linux out of the net-next repo, which is available here= : git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git And should be stable for another week or so. Note, if you need 32 bits for netem slotting, there are two patches still outstanding for that. On Fri, Nov 17, 2017 at 1:24 PM, Dave Taht wrote: > This takes the latest cobalt/cake code and applies it to iproute2-next > > Dave Taht (2): > Add support for cake with ack filtering > add cake man page > > man/man8/tc-cake.8 | 530 ++++++++++++++++++++++++++++++++++++++ > tc/Makefile | 1 + > tc/q_cake.c | 732 +++++++++++++++++++++++++++++++++++++++++++++++= ++++++ > 3 files changed, 1263 insertions(+) > create mode 100644 man/man8/tc-cake.8 > create mode 100644 tc/q_cake.c > > -- > 2.7.4 > --=20 Dave T=C3=A4ht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619 --94eb2c085388386b75055e347a3d Content-Type: application/x-gzip; name="cake_net_next.tgz" Content-Disposition: attachment; filename="cake_net_next.tgz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ja4f5tcv0 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 8fP4efw8fv6ln/8LjWsrlQBoAQA= --94eb2c085388386b75055e347a3d--