All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mat Martineau <mathew.j.martineau@linux.intel.com>
To: netdev@vger.kernel.org, bpf@vger.kernel.org
Cc: Mat Martineau <mathew.j.martineau@linux.intel.com>,
	ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
	mptcp@lists.linux.dev
Subject: [PATCH bpf-next 0/7] bpf: mptcp: Support for mptcp_sock and is_mptcp
Date: Wed, 20 Apr 2022 15:24:52 -0700	[thread overview]
Message-ID: <20220420222459.307649-1-mathew.j.martineau@linux.intel.com> (raw)

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@tessares.net/)
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


             reply	other threads:[~2022-04-20 22:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-20 22:24 Mat Martineau [this message]
2022-04-20 22:24 ` [PATCH bpf-next 1/7] bpf: expose is_mptcp flag to bpf_tcp_sock Mat Martineau
2022-04-20 22:24 ` [PATCH bpf-next 2/7] bpf: add bpf_skc_to_mptcp_sock_proto Mat Martineau
2022-04-25 14:26   ` Daniel Borkmann
2022-04-25 14:29     ` Daniel Borkmann
2022-04-26  6:36       ` Andrii Nakryiko
2022-04-25 18:35     ` Mat Martineau
2022-04-25 14:33   ` Daniel Borkmann
2022-04-25 18:11     ` Mat Martineau
2022-04-20 22:24 ` [PATCH bpf-next 3/7] selftests: bpf: add MPTCP test base Mat Martineau
2022-04-20 22:24 ` [PATCH bpf-next 4/7] selftests: bpf: test bpf_skc_to_mptcp_sock Mat Martineau
2022-04-20 22:24 ` [PATCH bpf-next 5/7] selftests: bpf: verify token of struct mptcp_sock Mat Martineau
2022-04-20 22:24 ` [PATCH bpf-next 6/7] selftests: bpf: verify ca_name " Mat Martineau
2022-04-20 22:24 ` [PATCH bpf-next 7/7] selftests: bpf: verify first " Mat Martineau

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=20220420222459.307649-1-mathew.j.martineau@linux.intel.com \
    --to=mathew.j.martineau@linux.intel.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=mptcp@lists.linux.dev \
    --cc=netdev@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.