Hello BPF maintainers - I'm one of the MPTCP subsystem maintainers. We have a MPTCP mailing list and git repo, and have so far been upstreaming all of our commits through the net-next and net trees. This is our first patch set for bpf-next. Our larger BPF-related project right now is implementing BPF-based packet scheduling for MPTCP. One MPTCP connection may aggregate multiple TCP "subflows", and the packet scheduler chooses which of those subflows to use for each outgoing packet. So far we have been focusing on BPF-based TCP congestion control code as a template. This patch set adds BPF access to the is_mptcp flag in tcp_sock and 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. Our current plan for MPTCP-related BPF patches is to continue doing initial review on the MPTCP mailing list, and then upstream those changes through the mailing lists to the bpf-next or bpf trees as appropriate. This has worked well for net-next and net so far, but if you'd prefer to handle MPTCP/BPF changes differently we can discuss alternatives of course! Thanks, Mat Geliang Tang (5): bpf: add bpf_skc_to_mptcp_sock_proto 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 (2): bpf: expose is_mptcp flag to bpf_tcp_sock selftests: bpf: add MPTCP test base MAINTAINERS | 2 + include/linux/btf_ids.h | 3 +- include/net/mptcp.h | 6 + include/uapi/linux/bpf.h | 8 + net/core/filter.c | 26 +- net/mptcp/Makefile | 4 + net/mptcp/bpf.c | 22 ++ scripts/bpf_doc.py | 2 + tools/include/uapi/linux/bpf.h | 8 + .../testing/selftests/bpf/bpf_mptcp_helpers.h | 17 ++ tools/testing/selftests/bpf/bpf_tcp_helpers.h | 4 + tools/testing/selftests/bpf/config | 1 + tools/testing/selftests/bpf/network_helpers.c | 43 ++- tools/testing/selftests/bpf/network_helpers.h | 4 + .../testing/selftests/bpf/prog_tests/mptcp.c | 258 ++++++++++++++++++ .../testing/selftests/bpf/progs/mptcp_sock.c | 76 ++++++ 16 files changed, 474 insertions(+), 10 deletions(-) create mode 100644 net/mptcp/bpf.c create mode 100644 tools/testing/selftests/bpf/bpf_mptcp_helpers.h create mode 100644 tools/testing/selftests/bpf/prog_tests/mptcp.c create mode 100644 tools/testing/selftests/bpf/progs/mptcp_sock.c base-commit: c7655df434de1dab1af1b1ba2aad757b15e25b83 -- 2.36.0