On Fri, 20 May 2022, Andrii Nakryiko wrote:
> On Thu, May 19, 2022 at 4:30 PM Mat Martineau
> <mathew.j.martineau@linux.intel.com> 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@tessares.net/)
>> 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.
>
Thanks for the fixups.
--
Mat Martineau
Intel