[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4BzaZ07_VRN_z6xPogcx-YQuPQR8FCkC=K621r5oo1vBViQ@mail.gmail.com>
Date: Fri, 20 May 2022 15:46:21 -0700
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Mat Martineau <mathew.j.martineau@...ux.intel.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 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.
Powered by blists - more mailing lists