[dpdk-dev] [PATCH v1] net/tap: explain how to compile eBPF C file

Thomas Monjalon thomas at monjalon.net
Tue Jun 12 14:26:06 CEST 2018


11/06/2018 18:35, Wiles, Keith:
> 
> > On Jun 11, 2018, at 11:06 AM, Ophir Munk <ophirmu at mellanox.com> wrote:
> > 
> > This commit explains how to manually compile the C source file
> > tap_bpf_program.c into an ELF file using the clang compiler.
> > The code in tap_bpf_program.c requires definitions found in iproute2
> > source code. This commit suggests cloning the iproute2 git tree and
> > include its path in the clang command. It also adds inclusion of file
> > bpf_api.h (required for eBPF definitions) which is located in iproute2
> > source tree. For more details refer to TAP documentation.
> > This commit is related to commits [1] and [2].
> 
> Normally I would have suggested that eBPF be disable in the TAP driver as it requires external code and programs, but that ship has sailed.

The external programs are required only to generate new instructions,
changing the behaviour of the BPF program.
Currently, the instructions for RSS behaviour are provided.

> I would like to see building the tap_bpf_program.o as a target in the Makefile, this way the developer can just run the ‘make bpf_program’ target and it would be simpler and less error prone.

For this to happen, we need to improve the tools.
It is a work in progress.
This is a very first step to use Linux BPF with DPDK.
If there are more interests, we should really streamline its usage
for all parts of DPDK which runs on top of some kernel code.





More information about the dev mailing list