[PATCH mptcp-next v13 0/5] add skc_to_mptcp_sock

Geliang Tang posted 5 patches 2 years ago
Failed in applying to current master (apply log)
There is a newer version of this series
include/linux/bpf.h                           |   9 +
include/linux/btf_ids.h                       |   3 +-
include/uapi/linux/bpf.h                      |   7 +
net/core/filter.c                             |  16 ++
net/mptcp/Makefile                            |   2 +
net/mptcp/bpf.c                               |  22 ++
scripts/bpf_doc.py                            |   2 +
tools/include/uapi/linux/bpf.h                |   7 +
tools/testing/selftests/bpf/bpf_tcp_helpers.h |  12 +
.../testing/selftests/bpf/prog_tests/mptcp.c  | 209 +++++++++++++++---
tools/testing/selftests/bpf/progs/mptcp.c     |  44 +++-
11 files changed, 289 insertions(+), 44 deletions(-)
create mode 100644 net/mptcp/bpf.c
[PATCH mptcp-next v13 0/5] add skc_to_mptcp_sock
Posted by Geliang Tang 2 years ago
v13:
 patch 1:
  As Mat mentioned in the "BPF packet scheduler" series, BPF packet
scheduler depends on CONFIG_BPF_SYSCALL. In fact, the series depends on
CONFIG_BPF_SYSCALL too.
  - change "CONFIG_BPF" to "CONFIG_BPF_SYSCALL" in Makefile
  - change "ifdef CONFIG_MPTCP" in include/linux/bpf.h to:
    "#if defined(CONFIG_MPTCP) && defined(CONFIG_BPF_SYSCALL)"
  - drop "#ifdef CONFIG_MPTCP" in net/core/filter.c
 patch 2:
  Address to Matt's comments in v12:
  - use bpf_object__find_program_by_name, bpf_object__find_map_by_name
  - use -EIO
  - drop close_client_fd label
  - add more CHECK_FAIL

v12:
 patch 1:
  - merged the squash-to patch for v11.
  - rebased to export/20220324T054815.
 patch 2:
  - fix the libbpf 0.8 build error.
 patch 4:
  - use fgets instead of fread to get null terminated string.

v11:
 - merge "check more values from mptcp_sock" series into this series.
 - patch 2:
   - rebased.
 - patch 3:
   - rebased.
   - add 'Copyright' entry as Matt suggested in v9.
 - patch 4:
   - add test__start_subtest.
   - add some 'Copyright' entries.
 - patch 5:
   - change monitor_log_path to static
   - drop bpf_trace_printk()
 - patch 6:
   - use TCP_CA_NAME_MAX instead of strlen(val.ca_name) in strncmp().
   - use 'sysctl -b net.ipv4.tcp_congestion_control' to get ca_name.

v10:
 - merge the squash-to patch.
 - update patch 3 as Matt suggested.
 - add sync() in get_msk_token() before read().
 - add a comment for get_msk_token().
 - update subjects and commit logs.

v9:
 - update progs/mptcp.c in patch 4 and 5

v8:
 - update as Matt suggested.

v7:
 - parse msk token from the output of 'ip mptcp monitor'.
 - add Nicolas and Matt's SoB tags.

v6:
 - add skc_to_mptcp_sock helper and test

RESEND:
 - fix the CI Build Failure.
v5:
 - fix incorrect token value
 - verify the token in selftest

v4:
 - define bpf_mptcp_sock_proto as a static function, no longer export
   it in linux/bpf.h

v3:
 - use RET_PTR_TO_BTF_ID_OR_NULL instead of RET_PTR_TO_MPTCP_SOCK_OR_NULL
 - add a new bpf_id BTF_SOCK_TYPE_MPTCP

v2:
 - keep RET_PTR_TO_MPTCP_SOCK_OR_NULL. If we use RET_PTR_TO_BTF_ID_OR_NULL
instead of RET_PTR_TO_MPTCP_SOCK_OR_NULL as Alexei suggested, the
"userspace" tests developed by Nicolas will break.

Geliang Tang (5):
  bpf: add bpf_skc_to_mptcp_sock_proto
  Squash to "selftests: bpf: add MPTCP test base"
  selftests: bpf: test bpf_skc_to_mptcp_sock
  selftests: bpf: verify ca_name of struct mptcp_sock
  selftests: bpf: verify first subflow of mptcp_sock

 include/linux/bpf.h                           |   9 +
 include/linux/btf_ids.h                       |   3 +-
 include/uapi/linux/bpf.h                      |   7 +
 net/core/filter.c                             |  16 ++
 net/mptcp/Makefile                            |   2 +
 net/mptcp/bpf.c                               |  22 ++
 scripts/bpf_doc.py                            |   2 +
 tools/include/uapi/linux/bpf.h                |   7 +
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |  12 +
 .../testing/selftests/bpf/prog_tests/mptcp.c  | 209 +++++++++++++++---
 tools/testing/selftests/bpf/progs/mptcp.c     |  44 +++-
 11 files changed, 289 insertions(+), 44 deletions(-)
 create mode 100644 net/mptcp/bpf.c

-- 
2.34.1