MPTCP Linux Development
 help / color / mirror / Atom feed
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: [PATCH mptcp-next v12 0/8] add mptcp_subflow bpf_iter
Date: Sat, 19 Oct 2024 00:00:20 +0800	[thread overview]
Message-ID: <cover.1729267039.git.tanggeliang@kylinos.cn> (raw)

From: Geliang Tang <tanggeliang@kylinos.cn>

v12:
 - squash patch 4 and patch 6 into one.
 - use TCP_IS_MPTCP instead of TCP_CONGESTION.

v11:
 - fix building errors in v10.
 - update patch 5, change bpf test IP addresses more like that of mptcp
   join selftests from:

	#define ADDR_1	"10.0.1.1"
	#define ADDR_2	"10.0.1.2"
	#define ADDR_3	"10.0.1.3"
	#define ADDR_4	"10.0.1.4"

   to 

	#define ADDR_1 "10.0.1.1"
	#define ADDR_2 "10.0.2.1"
	#define ADDR_3 "10.0.3.1"
	#define ADDR_4 "10.0.4.1"

   This ensures that it can be expanded to two namespaces in the future.

v10:
 - rename bpf prog to "mptcp_bpf_iters.c" and change it as
   "cgroup/getsockopt" type. Since another bpf_iter "mptcp_address",
   to traverse all address entries on userspace_pm_local_addr_list of
   an MPTCP socket for implementing the MPTCP BPF path manager, will be
   added in the next set. The test program for "mptcp_address" bpf_iter
   will be added into this "mptcp_bpf_iters.c" file too and also defined
   as "cgroup/getsockopt" type.
 - change all bpf kfunc static as Matt suggested.
 - drop mptcp_subflow_active and mptcp_subflow_set_scheduled from the
   test program as Matt suggested.

v9:
 - rename bpf prog to "mptcp_bpf_iters_subflow.c"
 - drop the helper bpf_mptcp_sk(), it's not used in this test.

v8:
 - Make the test prog in patch 4 more like a bpf packet scheduler.
 - Export more mptcp helpers into BPF in patch 1.

v7:
 - As Martin recently replied, mptcp_stubflow bpf_iter can still be
used in tracing. So go back to the tracing selftest.

v6:
 - add KF_TRUSTED_ARGS flag in patch 2 (Andrii, Martin), then acquire
and release helpers (patch 3) are needed to be implemented.
 - test mptcp_subflow bpf_iter in "cgroup/getsockopt" (patch 5),
instead of testing them in "tracing" (Martin).

v5:
 - update patch 1 as Andrii suggested: if msk is NULL, initialize
kit->msk to NULL in _new() and check it in _next().

v4:
 - squash patch 1/5 and 3/5 in v3 together as Matt suggested.
 - a new squash-to patch to drop mptcp_subflow_active declaration in
   bpf_burst.

v3:
 - drop bpf_iter__mptcp_subflow, __diag_push, __diag_pop and
 __diag_ignore_all
 - drop declarations for bpf kfuncs

v2:
 - update patch 1 as Martin and Andrii suggested.
 - fix warnings and errors reported by MPTCP CI.

This patch set adds a mptcp_subflow type bpf_iter, and self tests.

Geliang Tang (8):
  bpf: Register mptcp common kfunc set
  bpf: Add mptcp_subflow bpf_iter
  bpf: Acquire and release mptcp socket
  selftests/bpf: More endpoints for endpoint_init
  selftests/bpf: Add mptcp_subflow bpf_iter subtest
  Squash to "selftests/bpf: Add bpf scheduler test"
  Revert "bpf: Export more bpf_burst related functions"
  Squash to "bpf: Add bpf_mptcp_sched_kfunc_set"

 net/mptcp/bpf.c                               |  99 ++++++++++++-
 net/mptcp/protocol.h                          |   1 -
 .../testing/selftests/bpf/bpf_experimental.h  |   7 +
 .../testing/selftests/bpf/prog_tests/mptcp.c  | 131 +++++++++++++++++-
 tools/testing/selftests/bpf/progs/mptcp_bpf.h |   9 ++
 .../selftests/bpf/progs/mptcp_bpf_iters.c     |  64 +++++++++
 6 files changed, 298 insertions(+), 13 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_iters.c

-- 
2.43.0


             reply	other threads:[~2024-10-18 16:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-18 16:00 Geliang Tang [this message]
2024-10-18 16:00 ` [PATCH mptcp-next v12 1/8] bpf: Register mptcp common kfunc set Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 2/8] bpf: Add mptcp_subflow bpf_iter Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 3/8] bpf: Acquire and release mptcp socket Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 4/8] selftests/bpf: More endpoints for endpoint_init Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 5/8] selftests/bpf: Add mptcp_subflow bpf_iter subtest Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 6/8] Squash to "selftests/bpf: Add bpf scheduler test" Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 7/8] Revert "bpf: Export more bpf_burst related functions" Geliang Tang
2024-10-18 16:00 ` [PATCH mptcp-next v12 8/8] Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Geliang Tang
2024-10-18 17:11 ` [PATCH mptcp-next v12 0/8] add mptcp_subflow bpf_iter MPTCP CI
2024-10-21 17:37 ` Matthieu Baerts

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1729267039.git.tanggeliang@kylinos.cn \
    --to=geliang@kernel.org \
    --cc=mptcp@lists.linux.dev \
    --cc=tanggeliang@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox