On Thu, May 19, 2022 at 4:30 PM Mat Martineau <mathew.j.martineau@xxxxxxxxxxxxxxx> wrote: > > This patch set adds BPF access to mptcp_sock structures, along with > associated self tests. You may recognize some of the code from earlier > (https://lore.kernel.org/bpf/20200918121046.190240-6-nicolas.rybowski@xxxxxxxxxxxx/) > but it has been reworked quite a bit. > > > v1 -> v2: Emit BTF type, add func_id checks in verifier.c and bpf_trace.c, > remove build check for CONFIG_BPF_JIT, add selftest check for CONFIG_MPTCP, > and add a patch to include CONFIG_IKCONFIG/CONFIG_IKCONFIG_PROC for the > BPF self tests. > > v2 -> v3: Access sysctl through the filesystem to work around CI use of > the more limited busybox sysctl command. > > v3 -> v4: Dropped special case kernel code for tcp_sock is_mptcp, use > existing bpf_tcp_helpers.h, and add check for 'ip mptcp monitor' support. > > v4 -> v5: Use BPF test skeleton, more consistent use of ASSERT macros, > drop some unnecessary parameters / checks, and use tracing to acquire > MPTCP token. > > Geliang Tang (6): > bpf: add bpf_skc_to_mptcp_sock_proto > selftests/bpf: Enable CONFIG_IKCONFIG_PROC in config > selftests/bpf: test bpf_skc_to_mptcp_sock > selftests/bpf: verify token of struct mptcp_sock > selftests/bpf: verify ca_name of struct mptcp_sock > selftests/bpf: verify first of struct mptcp_sock > > Nicolas Rybowski (1): > selftests/bpf: add MPTCP test base > > MAINTAINERS | 1 + > include/linux/bpf.h | 1 + > include/linux/btf_ids.h | 3 +- > include/net/mptcp.h | 6 + > include/uapi/linux/bpf.h | 7 + > kernel/bpf/verifier.c | 1 + > kernel/trace/bpf_trace.c | 2 + > net/core/filter.c | 18 ++ > net/mptcp/Makefile | 2 + > net/mptcp/bpf.c | 21 +++ > scripts/bpf_doc.py | 2 + > tools/include/uapi/linux/bpf.h | 7 + > tools/testing/selftests/bpf/bpf_tcp_helpers.h | 13 ++ > tools/testing/selftests/bpf/config | 3 + > tools/testing/selftests/bpf/network_helpers.c | 40 +++- > tools/testing/selftests/bpf/network_helpers.h | 2 + > .../testing/selftests/bpf/prog_tests/mptcp.c | 174 ++++++++++++++++++ > .../testing/selftests/bpf/progs/mptcp_sock.c | 89 +++++++++ > 18 files changed, 382 insertions(+), 10 deletions(-) > create mode 100644 net/mptcp/bpf.c > create mode 100644 tools/testing/selftests/bpf/prog_tests/mptcp.c > create mode 100644 tools/testing/selftests/bpf/progs/mptcp_sock.c > > > base-commit: 834650b50ed283d9d34a32b425d668256bf2e487 > -- > 2.36.1 > I've added missing static for test_base and some other helper and replaced bzero and memcpy in BPF-side code with __builtin_memset and __builtin_memcpy (and dropped string.h include, it's not supposed to be used from BPF-side code). Applied to bpf-next, thanks.