mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-06 06:21:31 +00:00
mptcp: add local addr info in mptcp_info
Add mptcpi_local_addr_used and mptcpi_local_addr_max in struct mptcp_info. Signed-off-by: Geliang Tang <geliangtang@gmail.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7f76963b69
commit
0caf3ada24
4 changed files with 7 additions and 1 deletions
|
@ -103,6 +103,8 @@ struct mptcp_info {
|
||||||
__u64 mptcpi_write_seq;
|
__u64 mptcpi_write_seq;
|
||||||
__u64 mptcpi_snd_una;
|
__u64 mptcpi_snd_una;
|
||||||
__u64 mptcpi_rcv_nxt;
|
__u64 mptcpi_rcv_nxt;
|
||||||
|
__u8 mptcpi_local_addr_used;
|
||||||
|
__u8 mptcpi_local_addr_max;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -128,11 +128,13 @@ static void mptcp_diag_get_info(struct sock *sk, struct inet_diag_msg *r,
|
||||||
info->mptcpi_subflows = READ_ONCE(msk->pm.subflows);
|
info->mptcpi_subflows = READ_ONCE(msk->pm.subflows);
|
||||||
info->mptcpi_add_addr_signal = READ_ONCE(msk->pm.add_addr_signaled);
|
info->mptcpi_add_addr_signal = READ_ONCE(msk->pm.add_addr_signaled);
|
||||||
info->mptcpi_add_addr_accepted = READ_ONCE(msk->pm.add_addr_accepted);
|
info->mptcpi_add_addr_accepted = READ_ONCE(msk->pm.add_addr_accepted);
|
||||||
|
info->mptcpi_local_addr_used = READ_ONCE(msk->pm.local_addr_used);
|
||||||
info->mptcpi_subflows_max = mptcp_pm_get_subflows_max(msk);
|
info->mptcpi_subflows_max = mptcp_pm_get_subflows_max(msk);
|
||||||
val = mptcp_pm_get_add_addr_signal_max(msk);
|
val = mptcp_pm_get_add_addr_signal_max(msk);
|
||||||
info->mptcpi_add_addr_signal_max = val;
|
info->mptcpi_add_addr_signal_max = val;
|
||||||
val = mptcp_pm_get_add_addr_accept_max(msk);
|
val = mptcp_pm_get_add_addr_accept_max(msk);
|
||||||
info->mptcpi_add_addr_accepted_max = val;
|
info->mptcpi_add_addr_accepted_max = val;
|
||||||
|
info->mptcpi_local_addr_max = mptcp_pm_get_local_addr_max(msk);
|
||||||
if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags))
|
if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags))
|
||||||
flags |= MPTCP_INFO_FLAG_FALLBACK;
|
flags |= MPTCP_INFO_FLAG_FALLBACK;
|
||||||
if (READ_ONCE(msk->can_ack))
|
if (READ_ONCE(msk->can_ack))
|
||||||
|
|
|
@ -228,13 +228,14 @@ unsigned int mptcp_pm_get_subflows_max(struct mptcp_sock *msk)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mptcp_pm_get_subflows_max);
|
EXPORT_SYMBOL_GPL(mptcp_pm_get_subflows_max);
|
||||||
|
|
||||||
static unsigned int mptcp_pm_get_local_addr_max(struct mptcp_sock *msk)
|
unsigned int mptcp_pm_get_local_addr_max(struct mptcp_sock *msk)
|
||||||
{
|
{
|
||||||
struct pm_nl_pernet *pernet;
|
struct pm_nl_pernet *pernet;
|
||||||
|
|
||||||
pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
|
pernet = net_generic(sock_net((struct sock *)msk), pm_nl_pernet_id);
|
||||||
return READ_ONCE(pernet->local_addr_max);
|
return READ_ONCE(pernet->local_addr_max);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mptcp_pm_get_local_addr_max);
|
||||||
|
|
||||||
static void check_work_pending(struct mptcp_sock *msk)
|
static void check_work_pending(struct mptcp_sock *msk)
|
||||||
{
|
{
|
||||||
|
|
|
@ -725,6 +725,7 @@ int mptcp_pm_nl_get_local_id(struct mptcp_sock *msk, struct sock_common *skc);
|
||||||
unsigned int mptcp_pm_get_add_addr_signal_max(struct mptcp_sock *msk);
|
unsigned int mptcp_pm_get_add_addr_signal_max(struct mptcp_sock *msk);
|
||||||
unsigned int mptcp_pm_get_add_addr_accept_max(struct mptcp_sock *msk);
|
unsigned int mptcp_pm_get_add_addr_accept_max(struct mptcp_sock *msk);
|
||||||
unsigned int mptcp_pm_get_subflows_max(struct mptcp_sock *msk);
|
unsigned int mptcp_pm_get_subflows_max(struct mptcp_sock *msk);
|
||||||
|
unsigned int mptcp_pm_get_local_addr_max(struct mptcp_sock *msk);
|
||||||
|
|
||||||
static inline struct mptcp_ext *mptcp_get_ext(struct sk_buff *skb)
|
static inline struct mptcp_ext *mptcp_get_ext(struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue