From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [IPv6:2001:470:dc45:1000::1]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 7BC1F3CB35 for ; Wed, 22 Aug 2018 05:49:35 -0400 (EDT) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1534931374; bh=FKBUe5JQslDHdMY7DMXpyWhblve5gsvLLFZS2BOVUHE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=qJD4ZQyOjVj2rWNjGO9+VPHP7hAHauUkJ7/h32OJXb3/XXZ0tto1GhXL3/w9meziz +euGuN/bdRHGjoZWVQVoqyHEREyi+GTOOTvbXIBIX8g2ELMX67sBEdAjSH4JnDhBE+ Vy9xp1dzrehvlIbnNGxcKh9DJATkTzkoa9SuFHRuvlRPVg8LC6OCygnwJJlMZ1+9QZ 2tDRF9lihVFTUYzcVo2wjUhR/nUC0v790ji0NTk46WuJ/4MAeH8JCzq5eVTMs96FiB ISBBRGJT2xPAjFPGuHLDVUd2cdsFqSPOmb2zWhiCUw0k9bTg18eGkABVz37J29RHIh 7Shvwe0ysbwFw== To: Pete Heist Cc: Jonathan Morton , Cake List In-Reply-To: <4C959DD8-62DC-4470-B5A6-F30EC3B702E9@heistp.net> References: <87h8jze5hk.fsf@toke.dk> <85C60B2F-78D0-4AEE-871C-BB637785BF62@gmail.com> <4D28C453-5378-4A5B-9E05-874F36C4DB30@gmail.com> <878t5aedj5.fsf@toke.dk> <87d0uc9d2f.fsf@toke.dk> <2689078D-1548-49E7-A9BC-B39980002278@toke.dk> <4C959DD8-62DC-4470-B5A6-F30EC3B702E9@heistp.net> Date: Wed, 22 Aug 2018 11:49:34 +0200 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87o9du91e9.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] issue with Cake and bpf 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, 22 Aug 2018 09:49:35 -0000 Pete Heist writes: >> On Aug 21, 2018, at 11:17 PM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >>>=20 >>> Well that=E2=80=99s good timing for me as I=E2=80=99m wrapping up a sma= ll utility/eBPF >>> to classify an arbitrary username to either MAC or IP. Here=E2=80=99s t= he work >>> in progress, which is not done yet as flow fairness is still under >>> construction, and I haven=E2=80=99t gotten my IPv6 support to pass the = rather >>> stubborn eBPF verifier: https://github.com/heistp/tc-users >>> > >>=20 >> Did you see my classifier? Does subnet-to-flow mapping. >> https://github.com/tohojo/tc-classifier >> > > Yes I did, that helped a lot with the eBPF code! I=E2=80=99ll consult it = for > LPM trie usage, which will have to be ifdef=E2=80=99d out though for pre-= 4.11 > kernels. Cool! Just wanted to make sure you were reinventing wheels on purpose, not from lack of a prior stack of wheels to pick from ;) (I very much consider my classifier a quick solution for a specific use case; can totally understand you want more features :)) > tc-users is similar really but I desired a few things (for FreeNet): > - MAC and IPv6 support Might be useful to add rudimentary encapsulation support as well? I.e., at least ip{4,6}-ip{4,6} and vlan tags? Only a few lines of BPF code and makes it useful in a few more scenarios... >>> - With the new major/minor ID distinction, I=E2=80=99d probably use maj= or for >>> the user and minor for the flow hash? >>=20 >> Yes. See the latest commit in the tc-adv repo for a man page update >> explaining it. You can also just set the major ID and let cake do the >> flow hashing=E2=80=A6 > > Aha, that=E2=80=99s terribly convenient but also means I don=E2=80=99t re= ally need to > solve the hashing problem (rats), and will be ripping out some of what > I started. :) Yeah, I think keeping the flow hashing but being able to specify the host mapping could turn out to be quite the killer feature, actually. Unfortunately there are not enough bits in the class ID to specify both source and destination host IDs, so triple-isolate is not going to work too well with this. But then I figure that anyone who is deploying this with their own filtering probably has enough control over the network to deploy separate CAKE instances in each direction... -Toke