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. > There licensing concerns here as well. Any BPF program inserted > in the kernel must be GPL. So you need to provide source. > > Given the license overlap you should also document that in the > rte_flow_tap.rst > file. > > The program that loads the program can be BSD, it just needs to pick > up the BPF firmware file from a compiled ELF image. The program that loads BPF is the TAP PMD itself.