[dpdk-dev] [RFC 2/2] net/tap: add eBPF instructions

Thomas Monjalon thomas at monjalon.net
Thu Nov 30 18:39:32 CET 2017


30/11/2017 18:20, Stephen Hemminger:
> On Thu, 30 Nov 2017 18:05:22 +0100
> Thomas Monjalon <thomas at monjalon.net> wrote:
> 
> > 30/11/2017 17:54, Stephen Hemminger:
> > > Loading BPF is a could solution to doing dynamic flow matching.
> > > It needs to be done differently to be accepted.
> > > 
> > > Putting raw machine instructions in source code is as bad as binary
> > > blobs. You need to provide original source of program and then have
> > > build instructions to create any needed code.  
> > 
> > The source program is provided in this patch: tap_bpf_program.c
> > It is pre-compiled to avoid requiring too many dependencies when building DPDK.
> 
> But the "freedom to modify" comes into play here. If a *evil* vendor builds
> an application based on DPDK and does not provide source. Then user still deserves
> the right to modify the eBPF program that it loads as GPL.  The best solution
> is to make the TAP PMD loader routine load the program from a file.
> Although I am certainly not a FSF legal scholar, putting GPL'd object code in
> TAP PMD risks accusations of being a derived or combined work.

Good point.
The compiled BPF may be provided as a plugin file.
So we would be free to not package this GPL file.


More information about the dev mailing list