diff options
author | Geliang Tang <geliangtang@gmail.com> | 2020-09-24 02:30:02 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-09-25 04:58:34 +0200 |
commit | 00cfd77b9063dcdf3628a7087faba60de85a9cc8 (patch) | |
tree | 1276a73fafd90242e75b305975fa9fba2ecfd121 /net/mptcp/options.c | |
parent | mptcp: add sk_stop_timer_sync helper (diff) | |
download | linux-00cfd77b9063dcdf3628a7087faba60de85a9cc8.tar.xz linux-00cfd77b9063dcdf3628a7087faba60de85a9cc8.zip |
mptcp: retransmit ADD_ADDR when timeout
This patch implemented the retransmition of ADD_ADDR when no ADD_ADDR echo
is received. It added a timer with the announced address. When timeout
occurs, ADD_ADDR will be retransmitted.
Suggested-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Suggested-by: Paolo Abeni <pabeni@redhat.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mptcp/options.c')
-rw-r--r-- | net/mptcp/options.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 171039cbe9c4..14a290fae767 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -893,6 +893,7 @@ void mptcp_incoming_options(struct sock *sk, struct sk_buff *skb, mptcp_pm_add_addr_received(msk, &addr); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_ADDADDR); } else { + mptcp_pm_del_add_timer(msk, &addr); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_ECHOADD); } mp_opt.add_addr = 0; |