On Sun, 27 Mar 2022, Geliang Tang wrote:
> This series addresses to Alexei comments in [1].
>
> [1]
> https://lore.kernel.org/netdev/20200922040830.3iis6xiavhvpfq3v@ast-mbp.dhcp.thefacebook.com/
>
> v14:
> - merge the squash-to patch for patch 1.
> - rename progs/mptcp.c to progs/mptcp_sock.c in patch 2.
> - split the token verifying as a new patch from patch 3.
> - update the commit logs.
Looks ok to me, Matthieu had acked the previous rev so he can take another
look too.
- Mat
>
> 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 (6):
> 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 token of struct mptcp_sock
> selftests: bpf: verify ca_name of struct mptcp_sock
> selftests: bpf: verify first of struct 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 | 4 +
> 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 | 48 ----
> .../testing/selftests/bpf/progs/mptcp_sock.c | 76 +++++++
> 12 files changed, 331 insertions(+), 84 deletions(-)
> create mode 100644 net/mptcp/bpf.c
> delete mode 100644 tools/testing/selftests/bpf/progs/mptcp.c
> create mode 100644 tools/testing/selftests/bpf/progs/mptcp_sock.c
>
> --
> 2.34.1
>
>
>
--
Mat Martineau
Intel