This is issue 03 of the regular newsletter around BPF written by Alexander Alemayhu. It summarizes ongoing development, presentations, videos and other information related to BPF and XDP. It is released roughly once a week.
The Linux kernel merge window closed up last week and v4.12-rc1 was released.
[GIT] Networking pull request was sent before the rc and one the
day after. The are some BPF related fixes, see dates for all the highlights
More interesting topics
In case you missed it
A lot of good content showed up this week. Check them all out below
Great walk-through on writing a eBPF program. Starts from the header includes to the main bits.
bpf(2) with sections on the commands and map types. Also nice to
see links to the various upstream commits.
Interesting read on capturing routing information with BPF.
Provides descriptions on the BPF program types and walkthrough some of them with a example at the end.
Useful for understanding how loaders (iproute2, etc) parse BPF ELF file.
Which is a place where people can talk about getting up to speed with setting up an XDP build environment and writing XDP programs.
You can subscribe by sending a email to
firstname.lastname@example.org, with a
message body containing
subscribe xdp-newbies. No subject is needed, but you
can of course add one if you like.
Debugging #eBPF: there is now an IDA processor available on GitHub.
- Daniel Borkmann, [PATCH net] bpf, arm64: fix faulty emission of map access in tail calls
- Daniel Borkmann, [PATCH net v2 0/2] Two generic xdp related follow-ups
- Daniel Borkmann, [PATCH iproute2 -master 0/2] Two misc BPF updates
- David Miller, [PATCH v2 0/7] bpf: Add alignment tracker to verifier.
- [PATCH v2 1/7] bpf: Track alignment of register values in the verifier.
- [PATCH v2 2/7] bpf: Do per-instruction state dumping in verifier when log_level > 1.
- [PATCH v2 3/7] bpf: Add strict alignment flag for BPF_PROG_LOAD.
- [PATCH v2 4/7] bpf: Add bpf_verify_program() to the library.
- [PATCH v2 5/7] bpf: Add verifier test case for alignment.
- [PATCH v2 6/7] bpf: Make use of alignment information in check_val_ptr_alignment().
- [PATCH v2 7/7] bpf: Adjust test_verifier for alignment changes.
- David Miller, [PATCH v2 0/3] bpf: Track MAP pointer alignment
- Andy Gospodarek, [PATCH net] samples/bpf: run cleanup routines when receiving SIGTERM
- Jakub Kicinski, [PATCH net-next 0/9] nfp: LSO, checksum and XDP datapath updates
- [PATCH net-next 1/9] nfp: don't enable TSO on the device when disabled
- [PATCH net-next 2/9] nfp: rename l4_offset in struct nfp_net_tx_desc to lso_hdrlen
- [PATCH net-next 3/9] nfp: support LSO2 capability
- [PATCH net-next 4/9] nfp: don't assume RSS and IRQ moderation are always enabled
- [PATCH net-next 5/9] nfp: version independent support for chained RSS metadata
- [PATCH net-next 6/9] nfp: add CHECKSUM_COMPLETE support
- [PATCH net-next 7/9] nfp: complete the XDP TX ring only when it's full
- [PATCH net-next 8/9] nfp: add a helper for wrapping descriptor index
- [PATCH net-next 9/9] nfp: eliminate an if statement in calculation of completed frames
Please note that netdev receives a lot of patches and the list above is not meant to be comprehensive.
You can sign up for email notifcations on https://www.cilium.io/learn/
Happy eBPF hacking!