From: tom.barbette@xxxxxxxxx Date: Thu, 13 Jul 2017 21:34:17 +0200 (CEST) > Can XDP be used for "skbuff bypass"? Like a rx_handler but closer to > the driver? I'm not very familiar with eBPF, could it be used to > pass the kernel to any kernel module or userspace application? Absolutely not. > It looks to me that bpf_func in struct bpf_prog could be any > function that we could use to deviate XDP and use it for that > purpose. Correct? The list of functions and data that a bpf program can access is extremely strictly controlled. Only specific "BPF helper" functions can be invoked, and only specific pieces of data can be accessed in very strictly controlled ways. It is specifically designed to not be a bypass facility, but rather a mechanism by which one can implement arbitrary policy and software programmable networking. Things like the OVS switching plane, or a bridge, or whatever forwarding facility you can imagine, can be fully implemented with eBPF and the latest work being done by John Fastabend. It is not necessary to access "arbitrary kernel modules and data" in order to facilitate this.