Releases: xdp-project/xdp-tools
v1.4.3
Commits
- remove lib/testing/test-tool on clean #391 (Luca Boccassi)
- remove *.ll when 'clean' has local override #391 (Luca Boccassi)
- 3d7c83c: packaging/rpm: remove unneeded runtime dependency on kernel-header (Shung-Hsi Yu)
- 7fe0a09: fix formula error in comment (ZENOTME) #404
- 07007b0: xdp-bench: Remove "header in linear part" assumption for -l load-bytes (Nimrod Oren) #409
- 6f9ae82: xdp-bench: Remove "header in linear part" assumption for -p no-touch (Nimrod Oren) #409
- 87915eb: xdp-bench: Introduce xdp_read_data_load_bytes_prog (Nimrod Oren) #409
- 0f8fc8b: xdp-bench: Introduce xdp_swap_macs_load_bytes_prog (Nimrod Oren) #409
- cecda0c: xdp-bench: Add correct logging message for XDP_PASS (Nimrod Oren) #411
- 509e248: xdp-bench: Fix packet-operation values in documentation (Nimrod Oren) #410
- a4d84ca: Fix include path of libxdp for each arch (ami-GS) #408
- d92fac5: xdp-dump: add check for new promiscuous mode message in tests (Xiao Liang) #428
- 7169367: xdp-trafficgen: Fix copy/paste error in man page (Toke Høiland-Jørgensen)
- 23865d4: lib/testing: Add missing exports to test_runner.sh (Toke Høiland-Jørgensen) #431
- f9d5502: lib/testing: Execute tests in separate namespaces (Toke Høiland-Jørgensen) #431
- 795995f: lib/testing: Simplify test_runner.sh script (Toke Høiland-Jørgensen) #431
- e676b0a: lib/common.mk: Support supplying test names on the command line (Toke Høiland-Jørgensen) #431
- 6f8525e: xdp-dump/tests: Fixup test definitions (Toke Høiland-Jørgensen) #431
- 4d83d52: testing/test_runner: Support interactive test debugging (Toke Høiland-Jørgensen) #431
- 4ceb4fc: testing/test_runner: Enable GRO on veth interfaces (Toke Høiland-Jørgensen) #431
- c44e276: testing/test_runner: Always mount new bpffs (Toke Høiland-Jørgensen) #431
- cdf6657: testing/test_runner: Only set errexit during setup (Toke Høiland-Jørgensen) #431
- a301ba8: .github/workflows: Add more recent kernel versions to text matrix (Toke Høiland-Jørgensen) #431
- d767f28: .github/workflows: Set DID_UNSHARE programmatically instead of explicitly (Toke Høiland-Jørgensen) #431
- 6fa62fc: .github/workflows: Sync LLVM apt repository version with runner version (Toke Høiland-Jørgensen) #431
- 7ed2797: .github/workflows: Add different LLVM versions to test matrix (Toke Høiland-Jørgensen) #431
- e08cd89: .github/workflows: Update checkout action to v4 (Toke Høiland-Jørgensen) #431
- 6768a75: .github/workflows: Rename workflow job (Toke Høiland-Jørgensen) #431
- 4f0c4e7: lib/testing: Enable forwarding on interfaces (Toke Høiland-Jørgensen)
- 5c88569: Bump version to v1.4.3 (Toke Høiland-Jørgensen)
v1.4.2
Commits
- 606d332: mkarchive.sh: Default to current version (Toke Høiland-Jørgensen)
- d3e4549: .github/workflows: Run mkarchive.sh directly from release workflow (Toke Høiland-Jørgensen)
- c9913f9: xdp-bench: Add l4-sport and l4-dport cpumap modes (Daniel Xu) #374
- Fix xdp prog memory leak in xsk_setup_xdp_prog #376 (Ric Li)
- a7b0903: Added support for clang-17 in configure script (Pavel Odintsov) #379
- b184d10: Fix transposed calloc() arguments (Toke Høiland-Jørgensen) #388
- 66d5764: xdp-bench: Update man page (Toke Høiland-Jørgensen) #390
- 009f456: Bump version to v1.4.2 (Toke Høiland-Jørgensen) #390
v1.4.1
What's Changed
- libxdp: Add selftest for non-privileged xsk creation by @igsilya in #340
- libxdp: don't use direct call to readelf for symbol table comparison by @hhoffstaette in #341
- .github/workflows: Bump Clang version to clang-16 by @tohojo in #349
- Fix bpf program original file descriptor management by @marcos44pl in #345
- xdp-bench: flushing outputs after writing stats by @enhaut in #351
- Support detaching xdp_link-based attachments fix #361 by @msherif1234 in #362
- xdp-trafficgen: Cast argument to getsockname() to struct sockaddr by @tohojo in #350
- need to support xdp detach link for skb and native modes by @msherif1234 in #365
- libxdp: Move hard-coded -DLIBXDP_STATIC=1 compiler flag into a new by @ajmmm in #372
- v1.4.1 by @tohojo in #373
New Contributors
- @marcos44pl made their first contribution in #345
- @enhaut made their first contribution in #351
- @msherif1234 made their first contribution in #362
- @ajmmm made their first contribution in #372
Full Changelog: v1.4.0...v1.4.1
v1.4.0
Commits
- Fix function detection for btf__type_cnt() #300 (Toke Høiland-Jørgensen)
- disable stack protector for BPF bits built by clang #301 (Holger Hoffstätte)
- fix build with clang #305 (Holger Hoffstätte)
- fix build on musl #309 (Stijn Tintel)
- Detect presence of bpf_program__type() #308 (Toke Høiland-Jørgensen)
- Detect presence of libbpf_program__flags() #308 (Toke Høiland-Jørgensen)
- Correctly detect bpftool skeleton generation #308 (Toke Høiland-Jørgensen)
- check for privs early #316 (nick black)
- Use bpf_trace_vprintk() directly in sample detection program #318 (Toke Høiland-Jørgensen)
- d20055d: util/xdp_sample: define bpf_trace_vprintk() if it doesn't exist (Toke Høiland-Jørgensen) #322
- bc27e70: xdp-loader: also silence libbpf logging on unload (Toke Høiland-Jørgensen) #323
- Move program locking out of dispatch_commands() #328 (Toke Høiland-Jørgensen)
- 55f593d: util/xdp_samples: Add compatibility defines for libbpf (Toke Høiland-Jørgensen) #329
- a7bc4c7: util/compat.h: Fix compilation errors with unknown functions (Toke Høiland-Jørgensen) #329
- f4cbb40: lib/testing: Include compat.h instead of using locai ifdef (Toke Høiland-Jørgensen) #329
- 81ea740: xdp-trafficgen: Turn off debugging if we don't have vprintk (Toke Høiland-Jørgensen) #329
- update to v1.2.0 #324 (Lorenzo Bianconi)
- 870db97: xdp-loader: introduce features command (Lorenzo Bianconi) #324
- 7fa5ef3: xdp-bench: Use basic_program_mode enum in BPF code as well (Toke Høiland-Jørgensen) #314
- b43595e: xdp-bench: Add parse-ip packet operation to basic actions (Toke Høiland-Jørgensen) #314
- fcb9822: xdp-bench: Add option to use xdp_load_bytes() helper when parsing IP (Toke Høiland-Jørgensen) #314
- d0bb739: xdp-bench: Enable the xdp_frags flag for all kernel programs (Toke Høiland-Jørgensen) #314
- 81a198d: xdp-bench: Add missing 'pass' command from the man page overview (Toke Høiland-Jørgensen) #314
- 95b813f: xdp-bench/tests: skip xdp_load_bytes test if the kernel doesn't support it (Toke Høiland-Jørgensen) #314
- 39e8c21: xdp-bench: restucture the program options (Toke Høiland-Jørgensen) #314
- 3b4257b: util/xdp_sample: Don't output number of queues on error (Toke Høiland-Jørgensen) #314
- clear frags flag before loading single prog if kernel support is missing #314 (Toke Høiland-Jørgensen)
- 297d5ab: util/compat: fix const error for bpf_program__get_expected_attach_type() (Toke Høiland-Jørgensen) #314
- ca0ba83: xdp-bench: Update long option for -p to match documentation (Toke Høiland-Jørgensen) #314
- 968ce1f: util/params: Load defaults before parsing options (Toke Høiland-Jørgensen) #314
- 310f645: xdp-bench: Change the -l option to be a mode setting option (Toke Høiland-Jørgensen) #314
- 7963ac8: lib/export-man: Delete trailing whitespace from man pages after export (Toke Høiland-Jørgensen)
- e542acc: util/xdp_samples: Only ignore -Wstringop-truncation diagnostic on GCC 8 or greater (Shung-Hsi Yu) #332
- Install BPF objects as non-executable #332 (Shung-Hsi Yu)
- Allow creation of xsk with exclusive umem without CAP_NET_RAW #338 (Ilya Maximets)
- 9aa1cea: xdp-bench: Error out if load-bytes mode is set without setting parse-ip (Toke Høiland-Jørgensen)
- Rebuild man page (Toke Høiland-Jørgensen)
- a8e8c7b: Bump version to v1.4.0 (Toke Høiland-Jørgensen)
v1.3.1
Commits
- 3b4d645: Link with -lm to fix build on arm/mips/risc/ppc (Luca Boccassi) #292
- Use prog->prog_name directly in debug output (Toke Høiland-Jørgensen)
- 039bdea: xdp-loader: Only load the BPF program we need from object files (Toke Høiland-Jørgensen) #296
- 5e98c0b: Bump version to v1.3.1 (Toke Høiland-Jørgensen)
v1.3.0
This is a feature release of xdp-tools containing numerous improvements:
- Three new utilities added to xdp-tools:
xdp-bench
for running benchmarks of XDP on the receive side (ported from the kernel samples/bpf)xdp-monitor
for monitoring XDP errors and statistics using kernel tracepoints (ported from the kernel samples/bpf)xdp-trafficgen
for generating traffic and sending it out through the XDP driver hook
- Numerous new features in libxdp:
-
Support for loading programs with XDP frags support (AKA multibuffer XDP)
- Three new library functions are added to libxdp to manage this:
xdp_multiprog__xdp_frags_support()
,xdp_program__set_xdp_frags_support()
andxdp_program__xdp_frags_support()
- Three new library functions are added to libxdp to manage this:
-
Proper refcounting of program attachment to
AF_XDP
sockets. This means that applications no longer have to manually detach the XDP program when using sockets, libxdp will do this automatically when the program is no longer used -
A new extensible
xdp_program__create()
API for creatingxdp_program
objects -
A new
xdp_program__clone()
API for cloning anxdp_program
reference -
xdp_program__test_run()
for running XDP programs through theBPF_PROG_TEST_RUN
kernel API -
Support for automatically mounting a bpffs if none is found (if the
LIBXDP_BPFFS_AUTOMOUNT
environment variable is set), and for running without a bpffs entirely (although multi-program attachment won't work without a bpffs)
-
- Numerous bug fixes throughout both libxdp and the command line utilities
Note that this version also bumps the version number of the XDP dispatcher program being loaded on the network devices. This means that mixing earlier versions of libxdp/xdp-tools with this version is not possible: libxdp 1.3 and upwards will display old versions of the dispatcher, but won't automatically upgrade them. And after loading a program with libxdp 1.3, older versions of libxdp will not interoperate with it.
v1.2.10
Commits
- Don't clobber legacy programs when loading (Toke Høiland-Jørgensen)
- Use xdp_multiprog__is_legacy() consistently (Toke Høiland-Jørgensen)
- Use IS_ERR_OR_NULL() for NULL checks on passed-in pointers (Toke Høiland-Jørgensen)
- Handle race condition in xsk program lookup (Larysa Zaremba)
- Supress unnecessary warning when converting xdp flags. (Martzki)
- 9118de0: xdp/xsk.h: Fix undefined XDP_ALWAYS_INLINE with sparse (Ilya Maximets)
- Deal gracefully with programs that were loaded behind our backs (Toke Høiland-Jørgensen)
- Fix errno handling when creating lock file (Toke Høiland-Jørgensen)
- Make sure we cleanup the temporary directory in selftests (Toke Høiland-Jørgensen)
- 57a139f: Bump TOOLS_VERSION to 1.2.10 (Toke Høiland-Jørgensen)
v1.2.9
Commits
- Fix incorrect rx_ring_setup_done (Hengqi Chen)
- add bpf_endian.h for parsing_helpers.h (junka)
- 2682c1c: export-man: Ignore errors when executing git shell command (Toke Høiland-Jørgensen)
- 8afda7a: xdp-loader/README: Mention lack of support for HW mode in most cards (Toke Høiland-Jørgensen)
- fix prog_fd checks for fd >= 0 (Toke Høiland-Jørgensen)
- Allow falling back to single-program attachment for loaded programs (Toke Høiland-Jørgensen)
- Fix check in xdp_program__attach_single() (Toke Høiland-Jørgensen)
- Make sure to set the the program autoload when loading a program (Toke Høiland-Jørgensen)
- b1fd2e5: test-xdpdump: Only run tshark attribute test on newer versions of tshark (Toke Høiland-Jørgensen)
- Convert xdp-dispatcher to use strict section names (Toke Høiland-Jørgensen)
- Try to auto-detect versioned clang binaries (Toke Høiland-Jørgensen)
- Check program name when determining if a program is a dispatcher (Toke Høiland-Jørgensen)
- e13a191: Bump TOOLS_VERSION to 1.2.9 (Toke Høiland-Jørgensen)
v1.2.8
Commits
- Fix libxdp compilation error (Toke Høiland-Jørgensen)
- remove unused variable outstanding_tx (Magnus Karlsson)
- 00b5a95: Fix section names in xsk programs (Donald Hunter)
- d4ff1f9: Bump TOOLS_VERSION to 1.2.8 (Toke Høiland-Jørgensen)
v1.2.7
Commits
- Fix resource leaks (Hengqi Chen)
- always clone program fd before taking ownership of it (Toke Høiland-Jørgensen)
- Update kernel btf.h header file (Toke Høiland-Jørgensen)
- 2265125: xdp-filter: Update examples in documentation (Tobias Böhm)