[PATCH mptcp-next v2 0/9] cleanups for PM interfaces

Geliang Tang posted 9 patches 2 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1727881073.git.tanggeliang@kylinos.cn
There is a newer version of this series
net/mptcp/pm.c           |  25 +---
net/mptcp/pm_netlink.c   |  99 +++++++++-------
net/mptcp/pm_userspace.c | 244 ++++++++++++++++-----------------------
net/mptcp/protocol.h     |  18 ++-
4 files changed, 163 insertions(+), 223 deletions(-)
[PATCH mptcp-next v2 0/9] cleanups for PM interfaces
Posted by Geliang Tang 2 months, 2 weeks ago
From: Geliang Tang <tanggeliang@kylinos.cn>

v2:
 - add a new helper mptcp_userspace_pm_get_sock.

In order to implement BPF userspace path manager, it is necessary to
unify the interfaces of the path manager. This set contains some
cleanups for unify the interfaces.

struct mptcp_pm_ops {
	int (*address_announce)(struct mptcp_sock *msk,
				struct mptcp_pm_addr_entry *local);
	int (*address_remove)(struct mptcp_sock *msk, u8 id);
	int (*subflow_create)(struct mptcp_sock *msk,
			      struct mptcp_pm_addr_entry *local,
			      struct mptcp_addr_info *remote);
	int (*subflow_destroy)(struct mptcp_sock *msk,
			       struct mptcp_pm_addr_entry *local,
			       struct mptcp_addr_info *remote);
	int (*get_local_id)(struct mptcp_sock *msk,
			    struct mptcp_pm_addr_entry *local);
	bool (*is_backup)(struct mptcp_sock *msk,
			  struct mptcp_addr_info *skc);
	struct mptcp_pm_addr_entry *(*get_addr)(struct mptcp_sock *msk,
						u8 id);
	int (*dump_addr)(struct mptcp_sock *msk,
			 struct mptcp_id_bitmap *bitmap);
	int (*set_flags)(struct mptcp_sock *msk,
			 struct mptcp_pm_addr_entry *local,
			 struct mptcp_addr_info *remote);

	u8			type;
	struct module		*owner;
	struct list_head	list;

	void (*init)(struct mptcp_sock *msk);
	void (*release)(struct mptcp_sock *msk);
} ____cacheline_aligned_in_smp;

Geliang Tang (9):
  mptcp: add struct mptcp_id_bitmap
  mptcp: add mptcp_userspace_pm_get_sock helper
  mptcp: use __lookup_addr in pm_netlink
  mptcp: add lookup_addr for userspace pm
  mptcp: change remote as mptcp_addr_info
  mptcp: change local as mptcp_pm_addr_entry
  mptcp: make pm wrappers static
  mptcp: drop skb parameter of get_addr
  mptcp: drop skb parameter of set_flags

 net/mptcp/pm.c           |  25 +---
 net/mptcp/pm_netlink.c   |  99 +++++++++-------
 net/mptcp/pm_userspace.c | 244 ++++++++++++++++-----------------------
 net/mptcp/protocol.h     |  18 ++-
 4 files changed, 163 insertions(+), 223 deletions(-)

-- 
2.43.0
Re: [PATCH mptcp-next v2 0/9] cleanups for PM interfaces
Posted by MPTCP CI 2 months, 2 weeks ago
Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Success! ✅
- KVM Validation: debug: Success! ✅
- KVM Validation: btf (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/11146665787

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/34ea1a439a3f
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=894874


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)