Files
xdp-project-bpf-examples/headers
Vincent Li fed8da5072 Add xdp-synproxy to bpf-examples
this code is from kernel bpf selftests xdp synproxy, removed the
tc part for simplicity, shows an exmaple of using libxdp
to attach xdp synproxy program on network interface.

if port is not in allowed ports, the packet will be dropped
by xdp synproxy by default, this would break tcp connections
to ports that user does not want to do synproxy, change the
default to allow connection pass through.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2023-10-26 19:01:49 +00:00
..
2023-10-26 19:01:49 +00:00

NOTICE

This directory contains include header files needed to compile BPF programs.

The files are either copied from the kernel source (in subdir linux/) or "shadow" files that contain useful defines that are often used in kernel headers.

For example bpf/compiler.h contains practical compile macros like READ_ONCE and WRITE_ONCE with verifier workarounds via bpf_barrier(). And the likely() + unlikely() annotations.

The include file linux/bpf.h is the most central file that all BPF (kernel-side) programs include. It is maintained in this directory, because this project knows what BPF features it uses, which makes the update cycle tied to the project itself. We prefer not to depend on the OS distro kernel headers version of this file. (Hint, due to the use of enum instead of define the usual macro C-preprocessor define detection will not work. This is done on purpose to discourage userspace from detecting features via header file defines.).