BPF updates 07
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 usual [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_OPS
is in the works. - Reporting XDP program ids via netlink.
- Improvements to the bpf tests.
- MIPS eBPF JIT got applied.
In case you missed it
eBPF and systems performance
Short post explaining what eBPF is.
Build issues for samples/bpf/ after rebase or git pull (solved)
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.
[iovisor-dev] minutes: IO Visor TSC/Dev Meeting
From the meeting notes, looks like there will some interesting upcoming BPF talks in LA.
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
Merged! @weaveworks' #WeaveScope now uses #eBPF as default for connection info: https://github.com/weaveworks/scope/pull/2535 …
Background: https://www.weave.works/blog/improving-performance-reliability-weave-scope-ebpf/ …
Patches
- Daniel Borkmann, [PATCH net] bpf, tests: fix endianness selection
- Martin KaFai Lau, [PATCH net-next 1/2] bpf: Fix
test_bpf_obj_id()
when thebpf_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 usesk_filter_func_proto
directly - [PATCH net-next 8/8] bpf: add
bpf_set_hash
helper for tc progs
- [PATCH net-next 1/8] bpf: avoid excessive stack usage for
- 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 inIFLA_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 duringXDP_QUERY_PROG
- [PATCH v2 net-next 3/9] bpf: mlx5e: Report
bpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 4/9] bpf:
virtio_net
: Reportbpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 5/9] bpf: bnxt: Report
bpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 6/9] bpf: thunderx: Report
bpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 7/9] bpf: ixgbe: Report
bpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 8/9] bpf: nfp: Report
bpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 9/9] bpf: qede: Report
bpf_prog
ID duringXDP_QUERY_PROG
- [PATCH v2 net-next 1/9] net: Add
- 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
: ReplaceTXBB_SIZE
multiplications with shift operations - [PATCH net-next 10/10]
net/mlx4_en
: Refactormlx4_en_free_tx_desc
Please note that netdev receives a lot of patches and the list above is not meant to be comprehensive.
Happy eBPF hacking!