On Mon, 24 Aug 2026 18:31:37 +0200 [email protected] wrote: > From: Chia-Yu Chang <[email protected]> > > Hello, > > This series replaces the existing min_tso_segs() congestion control > callback with a new tso_segs() callback that allows congestion control > algorithms to provide an explicit TSO segment count for each data burst. > > To support BPF congestion controls, the series also exposes > tcp_tso_autosize() as a BPF kfunc, allowing BPF implementations to > reuse the kernel TSO autosizing logic while implementing custom > tso_segs() callbacks.
AI CI says: The bpf-ci build jobs are failing for this patch on all tested architectures/toolchains (x86-64 gcc-15, x86-64 llvm-21, aarch64 gcc-15, s390x gcc-15), all with the same link-time error: net/ipv4/tcp_bbr.o: in function `__BTF_ID__set8__tcp_bbr_check_kfunc_ids': tcp_bbr.c:(.BTF_ids+0x...): undefined reference to `KF_DEPRECATED' This comes from the change to net/ipv4/tcp_bbr.c that marks the retained bbr_min_tso_segs() kfunc entry with the KF_DEPRECATED flag: BTF_ID_FLAGS(func, bbr_min_tso_segs, KF_DEPRECATED) BTF_ID_FLAGS(func, bbr_tso_segs) KF_DEPRECATED does not resolve to a usable symbol/flag in this tree, so the BTF id set for tcp_bbr fails to link into vmlinux on every architecture and toolchain -- it's a straight undefined-reference error, not a per-arch/per-config issue. Could you drop the KF_DEPRECATED flag (or use a flag that this kfunc infrastructure actually defines) on bbr_min_tso_segs, and re-verify that the kernel links cleanly? A local `make net/ipv4/tcp_bbr.o vmlinux` build (or the bpf-ci selftest build job) should reproduce this quickly. Full build log for reference: ld.lld-21: error: undefined symbol: KF_DEPRECATED >>> referenced by usercopy_64.c >>> vmlinux.o:(__BTF_ID__set8__tcp_bbr_check_kfunc_ids)
