mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
mptcp: dump addrs in userspace pm list
This patch renames mptcp_pm_nl_get_addr_dumpit() as a dedicated in-kernel netlink PM dump addrs function mptcp_pm_nl_dump_addr(), and invoke a newly added wrapper mptcp_pm_dump_addr() in mptcp_pm_nl_get_addr_dumpit(). Invoke in-kernel PM dump addrs function mptcp_pm_nl_dump_addr() or userspace PM dump addrs function mptcp_userspace_pm_dump_addr() based on whether the token parameter is passed in or not in the wrapper. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9e6c88e2f0
commit
9ae7846c4b
@ -441,6 +441,15 @@ int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id
|
||||
return mptcp_pm_nl_get_flags_and_ifindex_by_id(msk, id, flags, ifindex);
|
||||
}
|
||||
|
||||
int mptcp_pm_dump_addr(struct sk_buff *msg, struct netlink_callback *cb)
|
||||
{
|
||||
const struct genl_info *info = genl_info_dump(cb);
|
||||
|
||||
if (info->attrs[MPTCP_PM_ATTR_TOKEN])
|
||||
return mptcp_userspace_pm_dump_addr(msg, cb);
|
||||
return mptcp_pm_nl_dump_addr(msg, cb);
|
||||
}
|
||||
|
||||
int mptcp_pm_set_flags(struct net *net, struct nlattr *token,
|
||||
struct mptcp_pm_addr_entry *loc,
|
||||
struct mptcp_pm_addr_entry *rem, u8 bkup)
|
||||
|
@ -1722,8 +1722,8 @@ int mptcp_pm_nl_get_addr_doit(struct sk_buff *skb, struct genl_info *info)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int mptcp_pm_nl_get_addr_dumpit(struct sk_buff *msg,
|
||||
struct netlink_callback *cb)
|
||||
int mptcp_pm_nl_dump_addr(struct sk_buff *msg,
|
||||
struct netlink_callback *cb)
|
||||
{
|
||||
struct net *net = sock_net(msg->sk);
|
||||
struct mptcp_pm_addr_entry *entry;
|
||||
@ -1765,6 +1765,12 @@ int mptcp_pm_nl_get_addr_dumpit(struct sk_buff *msg,
|
||||
return msg->len;
|
||||
}
|
||||
|
||||
int mptcp_pm_nl_get_addr_dumpit(struct sk_buff *msg,
|
||||
struct netlink_callback *cb)
|
||||
{
|
||||
return mptcp_pm_dump_addr(msg, cb);
|
||||
}
|
||||
|
||||
static int parse_limit(struct genl_info *info, int id, unsigned int *limit)
|
||||
{
|
||||
struct nlattr *attr = info->attrs[id];
|
||||
|
@ -1064,6 +1064,9 @@ bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
|
||||
int mptcp_pm_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
|
||||
int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
|
||||
int mptcp_userspace_pm_get_local_id(struct mptcp_sock *msk, struct mptcp_addr_info *skc);
|
||||
int mptcp_pm_dump_addr(struct sk_buff *msg, struct netlink_callback *cb);
|
||||
int mptcp_pm_nl_dump_addr(struct sk_buff *msg,
|
||||
struct netlink_callback *cb);
|
||||
int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,
|
||||
struct netlink_callback *cb);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user