This is issue 07 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.
Linux 4.12-rc5 was recently released. No BPF changes where included, but a
[GIT] Networking pull request was made afterwards. You can see the
changes in 15th June.
There were also several other patches to netdev and related lists. Most of them are fixes. The highlights are
- New program type
BPF_PROG_TYPE_SOCKET_OPSis in the works.
- Reporting XDP program ids via netlink.
- Improvements to the bpf tests.
- MIPS eBPF JIT got applied.
In case you missed it
Short post explaining what eBPF is.
One of the not so obvious things when building bpf programs is the headers. If your project is reusing the kernel infrastructure you will need to keep your headers synchronized. This post tells you how.
From the meeting notes, looks like there will some interesting upcoming BPF talks in LA.
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.
Merged! @weaveworks' #WeaveScope now uses #eBPF as default for connection info: https://github.com/weaveworks/scope/pull/2535 …
- Daniel Borkmann, [PATCH net] bpf, tests: fix endianness selection
- Martin KaFai Lau, [PATCH net-next 1/2] bpf: Fix test_bpf_obj_id() when the bpf_jit_enable sysctl is diabled
- Martin KaFai Lau, [PATCH net-next 2/2] bpf: Fix test_obj_id.c for llvm 5.0
- Chenbo Feng, [PATCH net-next] bpf: Remove duplicate tcp_filter hook in ipv6
- Daniel Borkmann, [PATCH net-next 0/8] Misc BPF updates
- [PATCH net-next 1/8] bpf: avoid excessive stack usage for perf_sample_data
- [PATCH net-next 2/8] bpf: don't check spilled reg state for non-STACK_SPILLed type slots
- [PATCH net-next 3/8] bpf: reset id on CONST_IMM transition
- [PATCH net-next 4/8] bpf: reset id on spilled regs in clear_all_pkt_pointers
- [PATCH net-next 5/8] bpf, tests: add a test for htab lookup + update traversal
- [PATCH net-next 6/8] bpf, tests: set rlimit also for test_align, so it doesn't fail
- [PATCH net-next 7/8] bpf: remove cg_skb_func_proto and use sk_filter_func_proto directly
- [PATCH net-next 8/8] bpf: add bpf_set_hash helper for tc progs
- Daniel Borkmann, [PATCH net-next] bpf, arm64: take advantage of stack_depth tracking
- Jakub Kicinski, [PATCH net-next] xdp: add reporting of offload mode
- Jesper Dangaard Brouer, [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests
- Yonghong Song, [llvm] r305301 - bpf: clang-format on BPFAsmPrinter.cpp
- Lawrence Brakmo, [RFC PATCH net-next 00/15] bpf: Add new SOCKET_OPS program type
- [RFC PATCH net-next 01/15] net: BPF support for socket ops
- [RFC PATCH net-next 02/15] bpf: program to load socketops BPF programs
- [RFC PATCH net-next 03/15] bpf: Support for per connection SYN/SYN-ACK RTOs
- [RFC PATCH net-next 04/15] bpf: Sample bpf program to set SYN/SYN-ACK RTOs
- [RFC PATCH net-next 05/15] bpf: Support for setting initial receive window
- [RFC PATCH net-next 06/15] bpf: Sample bpf program to set initial window
- [RFC PATCH net-next 07/15] bpf: Add setsockopt helper function to bpf
- [RFC PATCH net-next 08/15] bpf: Add TCP connection BPF callbacks
- [RFC PATCH net-next 09/15] bpf: Sample BPF program to set buffer sizes
- [RFC PATCH net-next 10/15] bpf: Add support for changing congestion control
- [RFC PATCH net-next 11/15] bpf: Sample BPF program to set congestion control
- [RFC PATCH net-next 12/15] bpf: Adds support for setting initial cwnd
- [RFC PATCH net-next 13/15] bpf: Sample BPF program to set initial cwnd
- [RFC PATCH net-next 14/15] bpf: Adds support for setting sndcwnd clamp
- [RFC PATCH net-next 15/15] bpf: Sample bpf program to set sndcwnd clamp
- Yonghong Song, [PATCH 0/2] bpf: permit bpf program narrower loads for ctx fields
- David Daney, [PATCH v2 0/5] MIPS: Implement eBPF JIT.
- David Daney, [PATCH 0/4] bpf: Changes needed (or desired) for MIPS support
- Martin KaFai La, [PATCH v2 net-next 0/9] bpf: xdp: Report bpf_prog ID in IFLA_XDP
- [PATCH v2 net-next 1/9] net: Add IFLA_XDP_PROG_ID
- [PATCH v2 net-next 2/9] bpf: mlx4: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 3/9] bpf: mlx5e: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 4/9] bpf: virtio_net: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 5/9] bpf: bnxt: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 6/9] bpf: thunderx: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 7/9] bpf: ixgbe: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 8/9] bpf: nfp: Report bpf_prog ID during XDP_QUERY_PROG
- [PATCH v2 net-next 9/9] bpf: qede: Report bpf_prog ID during XDP_QUERY_PROG
- Daniel Borkmann, [PATCH iproute2 master] bpf: provide fallback defs for __NR_bpf when not avail
- Tariq Toukan, [PATCH net-next 00/10] mlx4 XDP performance improvements
- [PATCH net-next 01/10] net/mlx4_en: Remove unused argument in TX datapath function
- [PATCH net-next 02/10] net/mlx4_en: Optimized single ring steering
- [PATCH net-next 03/10] net/mlx4_en: Improve receive data-path
- [PATCH net-next 04/10] net/mlx4_en: Improve transmit CQ polling
- [PATCH net-next 05/10] net/mlx4_en: Improve stack xmit function
- [PATCH net-next 06/10] net/mlx4_en: Improve XDP xmit function
- [PATCH net-next 07/10] net/mlx4_en: Poll XDP TX completion queue in RX NAPI
- [PATCH net-next 08/10] net/mlx4_en: Increase default TX ring size
- [PATCH net-next 09/10] net/mlx4_en: Replace TXBB_SIZE multiplications with shift operations
- [PATCH net-next 10/10] net/mlx4_en: Refactor mlx4_en_free_tx_desc
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!