Skip to content

Commit

Permalink
mptcp: send ack for every add_addr
Browse files Browse the repository at this point in the history
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: #139
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
  • Loading branch information
geliangtang authored and matttbe committed Jan 27, 2021
1 parent 35df1b3 commit 1802c95
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
3 changes: 1 addition & 2 deletions net/mptcp/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,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);
Expand Down
10 changes: 4 additions & 6 deletions net/mptcp/pm_netlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -474,8 +474,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);
Expand All @@ -485,10 +484,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);
Expand Down

0 comments on commit 1802c95

Please sign in to comment.