/xdp-tools

Utilities and example programs for use with XDP

Primary LanguageCOtherNOASSERTION

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/ - the libxdp library itself - can be built standalone using make libxdp
  • xdp-loader/ - a command-line utility for loading XDP programs using libxdp
  • xdp-filter/ - a simple packet filtering utility powered by XDP
  • xdp-dump/ - a tcpdump-like tool for capturing packets at the XDP layer
  • xdp-monitor/ - a simple XDP tracepoint monitoring tool
  • xdp-bench/ - an XDP benchmarking tool
  • xdp-trafficgen/ - an XDP-based packet generator
  • headers/xdp/ - reusable eBPF code snippets for XDP (installed in /usr/include/xdp by make install).
  • lib/util/ - common code shared between the different utilities
  • packaging/ - files used for distro packaging
  • lib/libbpf/ - a git submodule with 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 XDP tutorial, and for more BPF and XDP examples, see the bpf-examples repository.