mptcp: send ack for every add_addr
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>
This commit is contained in:
committed by
Jakub Kicinski
parent
875b76718f
commit
b5a7acd3bd
@ -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)
|
void mptcp_pm_add_addr_send_ack(struct mptcp_sock *msk)
|
||||||
{
|
{
|
||||||
if (!mptcp_pm_should_add_signal_ipv6(msk) &&
|
if (!mptcp_pm_should_add_signal(msk))
|
||||||
!mptcp_pm_should_add_signal_port(msk))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
mptcp_pm_schedule_work(msk, MPTCP_PM_ADD_ADDR_SEND_ACK);
|
mptcp_pm_schedule_work(msk, MPTCP_PM_ADD_ADDR_SEND_ACK);
|
||||||
|
@ -474,8 +474,7 @@ void mptcp_pm_nl_add_addr_send_ack(struct mptcp_sock *msk)
|
|||||||
{
|
{
|
||||||
struct mptcp_subflow_context *subflow;
|
struct mptcp_subflow_context *subflow;
|
||||||
|
|
||||||
if (!mptcp_pm_should_add_signal_ipv6(msk) &&
|
if (!mptcp_pm_should_add_signal(msk))
|
||||||
!mptcp_pm_should_add_signal_port(msk))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
__mptcp_flush_join_list(msk);
|
__mptcp_flush_join_list(msk);
|
||||||
@ -485,10 +484,9 @@ void mptcp_pm_nl_add_addr_send_ack(struct mptcp_sock *msk)
|
|||||||
u8 add_addr;
|
u8 add_addr;
|
||||||
|
|
||||||
spin_unlock_bh(&msk->pm.lock);
|
spin_unlock_bh(&msk->pm.lock);
|
||||||
if (mptcp_pm_should_add_signal_ipv6(msk))
|
pr_debug("send ack for add_addr%s%s",
|
||||||
pr_debug("send ack for add_addr6");
|
mptcp_pm_should_add_signal_ipv6(msk) ? " [ipv6]" : "",
|
||||||
if (mptcp_pm_should_add_signal_port(msk))
|
mptcp_pm_should_add_signal_port(msk) ? " [port]" : "");
|
||||||
pr_debug("send ack for add_addr_port");
|
|
||||||
|
|
||||||
lock_sock(ssk);
|
lock_sock(ssk);
|
||||||
tcp_send_ack(ssk);
|
tcp_send_ack(ssk);
|
||||||
|
Reference in New Issue
Block a user