summaryrefslogtreecommitdiffstats
path: root/README.org
blob: 7bc3ac10ac5b7b0490de93d978b80f92c02a9c07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
* xdp-tools - Library and utilities for use with XDP

This repository contains the =libxdp= library for working with the eXpress Data
Path facility of the Linux kernel, and a collection of utilities and example
code that uses the library.

The repository contains the following:

- [[lib/libxdp/][lib/libxdp/]] - the =libxdp= library itself - can be built standalone using =make libxdp=
- [[xdp-loader/][xdp-loader/]] - a command-line utility for loading XDP programs using =libxdp=
- [[xdp-filter/][xdp-filter/]] - a simple packet filtering utility powered by XDP
- [[xdp-dump/][xdp-dump/]] - a tcpdump-like tool for capturing packets at the XDP layer
- [[xdp-monitor/][xdp-monitor/]] - a simple XDP tracepoint monitoring tool
- [[xdp-bench/][xdp-bench/]] - an XDP benchmarking tool
- [[xdp-trafficgen/][xdp-trafficgen/]] - an XDP-based packet generator
- [[headers/xdp/][headers/xdp/]] - reusable eBPF code snippets for XDP (installed in /usr/include/xdp by =make install=).
- [[lib/util/][lib/util/]] - common code shared between the different utilities
- [[packaging/][packaging/]] - files used for distro packaging
- lib/libbpf/ - a git submodule with [[https://github.com/libbpf/libbpf][libbpf]], used if the system version is not recent enough

To compile, first run =./configure=, then simply type =make=. Make sure you
either have a sufficiently recent libbpf installed on your system, or that you
pulled down the libbpf git submodule (=git submodule init && git submodule
update=).

For a general introduction to XDP, please see the [[https://github.com/xdp-project/xdp-tutorial][XDP tutorial]], and for more BPF
and XDP examples, see the [[https://github.com/xdp-project/bpf-examples][bpf-examples repository]].