mptcp: introduce MPTCP retransmission timer

The timer will be used to schedule retransmission. It's
frequency is based on the current subflow RTO estimation and
is reset on every una_seq update

The timer is clearer for good by __mptcp_clear_xmit()

Also clean MPTCP rtx queue before each transmission.

Signed-off-by: Paolo Abeni <pabeni@redhat.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:
Paolo Abeni
2020-03-27 14:48:44 -07:00
committed by David S. Miller
parent 18b683bff8
commit b51f9b80c0
3 changed files with 93 additions and 2 deletions

View File

@@ -779,8 +779,10 @@ static void update_una(struct mptcp_sock *msk,
snd_una = old_snd_una;
old_snd_una = atomic64_cmpxchg(&msk->snd_una, snd_una,
new_snd_una);
if (old_snd_una == snd_una)
if (old_snd_una == snd_una) {
mptcp_data_acked((struct sock *)msk);
break;
}
}
}