[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1043967d-395f-aa6-680-9ab7eec780d3@linux.intel.com>
Date: Fri, 20 May 2022 17:01:53 -0700 (PDT)
From: Mat Martineau <mathew.j.martineau@...ux.intel.com>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
cc: Networking <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Geliang Tang <geliang.tang@...e.com>, mptcp@...ts.linux.dev
Subject: Re: [PATCH bpf-next v5 0/7] bpf: mptcp: Support for mptcp_sock
On Fri, 20 May 2022, Andrii Nakryiko wrote:
> On Thu, May 19, 2022 at 4:30 PM Mat Martineau
> <mathew.j.martineau@...ux.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
Powered by blists - more mailing lists