BPF updates 03
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. One usual [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
bpf.h and you...
Great walk-through on writing a eBPF program. Starts from the header includes to the main bits.
eBPF, part 2: Syscall and Map Types
Overview of bpf(2)
with sections on the commands and map types. Also nice to see links to the various upstream commits.
Monitoring the Control Plane
Interesting read on capturing routing information with BPF.
Contextually speaking...
Provides descriptions on the BPF program types and walkthrough some of them with a example at the end.
Elf Hello World Tutorial
Useful for understanding how loaders (iproute2, etc) parse BPF ELF file.
XDP Newbies...
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 majordomo@vger.kernel.org
, with a message body containing subscribe xdp-newbies
. No subject is needed, but you can of course add one if you like.
Random cool note
Debugging #eBPF: there is now an IDA processor available on GitHub.
Patches
- 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 structnfp_net_tx_desc
tolso_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.
Happy eBPF hacking!