Re: [PATCH bpf-next v3 8/8] samples/bpf: Add xdp_trafficgen sample
flat view
From: Alexei Starovoitov <hidden>
Date: 2021-12-12 02:47:34
Also in:
bpf
On Sat, Dec 11, 2021 at 10:43 AM Toke Høiland-Jørgensen [off-list ref] wrote:
This adds an XDP-based traffic generator sample which uses the DO_REDIRECT flag of bpf_prog_run(). It works by building the initial packet in userspace and passing it to the kernel where an XDP program redirects the packet to the target interface. The traffic generator supports two modes of operation: one that just sends copies of the same packet as fast as it can without touching the packet data at all, and one that rewrites the destination port number of each packet, making the generated traffic span a range of port numbers. The dynamic mode is included to demonstrate how the bpf_prog_run() facility enables building a completely programmable packet generator using XDP. Using the dynamic mode has about a 10% overhead compared to the static mode, because the latter completely avoids touching the page data. Signed-off-by: Toke Høiland-Jørgensen <redacted> --- samples/bpf/.gitignore | 1 + samples/bpf/Makefile | 4 + samples/bpf/xdp_redirect.bpf.c | 34 +++ samples/bpf/xdp_trafficgen_user.c | 421 ++++++++++++++++++++++++++++++ 4 files changed, 460 insertions(+) create mode 100644 samples/bpf/xdp_trafficgen_user.c
I think it deserves to be in tools/bpf/ samples/bpf/ bit rots too often now. imo everything in there either needs to be converted to selftests/bpf or deleted.