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