From: Sameeh Jubran <sjub...@redhat.com> The Berkeley Packet Filter has been in the kernel for a while now and I think it is time that it is introduced to Qemu. This patch is an infrastructure for any future usage of the BPF in Qemu.
It is important to note that the tun driver had started supporting using BPF programs through ioctls (TUNSETSTEERINGEBPF and TUNSETFILTEREBPF). My plan is to use the bpf support from within virtio-net in order to set a bpf steering program to the tun device which would allow virtio-net to support RSS feature https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html Difference from v1: * Used libbpf library provided by linux * Added a configure option * Added a sample patch with demonstrates how to use the libbpf library from within virtio-net. This patch should not be applied! It is for demonstration purposes only The libbpf can be manually installed from the Linux source tree by running make tools/bpf and make tools/bpf_install from the top level directory. Please share your thoughts :) v1 - https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg05307.html Sameeh Jubran (2): Add bpf support to qemu virtio-net: Example Patch for using BPF MAINTAINERS | 6 + configure | 46 + hw/net/Makefile.objs | 4 + hw/net/virtio-net.c | 4 + include/standard-headers/linux/libbpf.h | 284 ++++ linux-headers/linux/bpf.h | 2669 +++++++++++++++++++++++++++++++ scripts/update-linux-headers.sh | 11 +- 7 files changed, 3021 insertions(+), 3 deletions(-) create mode 100644 include/standard-headers/linux/libbpf.h create mode 100644 linux-headers/linux/bpf.h -- 2.13.6