diff options
| author | Geliang Tang <geliangtang@gmail.com> | 2021-02-01 15:09:09 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-03-20 10:51:11 +0100 |
| commit | 00f7d503e29229ee08e6d8efccd9c70a15b4902d (patch) | |
| tree | cef496bbed6af31cfc0f0e89c4501fc08295d540 /net | |
| parent | fae013c419c17ab5a1dac7d95e97c594e20cca82 (diff) | |
| download | linux-00f7d503e29229ee08e6d8efccd9c70a15b4902d.tar.gz linux-00f7d503e29229ee08e6d8efccd9c70a15b4902d.tar.bz2 linux-00f7d503e29229ee08e6d8efccd9c70a15b4902d.zip | |
mptcp: send ack for every add_addr
[ Upstream commit b5a7acd3bd63c7430c98d7f66d0aa457c9ccde30 ]
This patch changes the sending ACK conditions for the ADD_ADDR, send an
ACK packet for any ADD_ADDR, not just when ipv6 addresses or port
numbers are included.
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/139
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/mptcp/pm.c | 3 | ||||
| -rw-r--r-- | net/mptcp/pm_netlink.c | 10 |
2 files changed, 5 insertions, 8 deletions
diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index da2ed576f289..5463d7c8c931 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -188,8 +188,7 @@ void mptcp_pm_add_addr_received(struct mptcp_sock *msk, void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk) { - if (!mptcp_pm_should_add_signal_ipv6(msk) && - !mptcp_pm_should_add_signal_port(msk)) + if (!mptcp_pm_should_add_signal(msk)) return; mptcp_pm_schedule_work(msk, MPTCP_PM_ADD_ADDR_SEND_ACK); diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index a6d983d80576..b81ce0ea1f8b 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -408,8 +408,7 @@ void mptcp_pm_nl_add_addr_send_ack(struct mptcp_sock *msk) { struct mptcp_subflow_context *subflow; - if (!mptcp_pm_should_add_signal_ipv6(msk) && - !mptcp_pm_should_add_signal_port(msk)) + if (!mptcp_pm_should_add_signal(msk)) return; __mptcp_flush_join_list(msk); @@ -419,10 +418,9 @@ void mptcp_pm_nl_add_addr_send_ack(struct mptcp_sock *msk) u8 add_addr; spin_unlock_bh(&msk->pm.lock); - if (mptcp_pm_should_add_signal_ipv6(msk)) - pr_debug("send ack for add_addr6"); - if (mptcp_pm_should_add_signal_port(msk)) - pr_debug("send ack for add_addr_port"); + pr_debug("send ack for add_addr%s%s", + mptcp_pm_should_add_signal_ipv6(msk) ? " [ipv6]" : "", + mptcp_pm_should_add_signal_port(msk) ? " [port]" : ""); lock_sock(ssk); tcp_send_ack(ssk); |
