From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bifrost.lang.hm (mail.lang.hm [64.81.33.126]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by huchra.bufferbloat.net (Postfix) with ESMTPS id CE31E21F54F for ; Thu, 11 Dec 2014 16:50:34 -0800 (PST) Received: from asgard.lang.hm (asgard.lang.hm [10.0.0.100]) by bifrost.lang.hm (8.13.4/8.13.4/Debian-3) with ESMTP id sBC0oVx5008406; Thu, 11 Dec 2014 16:50:31 -0800 Date: Thu, 11 Dec 2014 16:50:31 -0800 (PST) From: David Lang X-X-Sender: dlang@asgard.lang.hm To: Dave Taht In-Reply-To: Message-ID: References: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: "cerowrt-devel@lists.bufferbloat.net" Subject: Re: [Cerowrt-devel] eBPF filters for traffic classification? X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Dec 2014 00:51:03 -0000 In part, I was thinking that this sort of thing could make experimenting with codel or HTB tweaks much easier. If the classification logic could be written to be compiled into eBPF filters, then changing the classification would be just loading a new module. And since it's compiled and loaded into the kernel, I'm hoping that the performance would be on the same order as C code (even though it's interpreted by the eBPF engine), so it wouldn't have the large performance hit that we have with the current throttling code for example. David Lang On Thu, 11 Dec 2014, Dave Taht wrote: > oh the bpf stuff and jit work is extremely interesting. There is a > llvm compiler for it too, now. > > nftables is also interesting but hard to wrap my head around and > expressing things in it seems only slightly less hard that just > adopting bpf directly. > > On Thu, Dec 11, 2014 at 4:28 PM, David Lang wrote: >> http://lwn.net/SubscriberLink/625224/2edd6566c16cf76d/ >> >> A new capability is being added to the 3.19 kernel that allows writing BPF >> programs that run in the kernel that can do things like classifying traffic. >> Right now all this can do is to store information to be retrieved by >> userspace, but I wonder if it would be useful to use something like this for >> traffic classification for queue selection, traffic throttling, etc?