diff options
author | Florian Westphal <[email protected]> | 2021-09-24 14:12:34 -0700 |
---|---|---|
committer | David S. Miller <[email protected]> | 2021-09-25 11:36:51 +0100 |
commit | 0d199e4363b482badcedba764e2aceab53a4a10a (patch) | |
tree | 3faad2f883c63092c4f59dc262e56acfb6c5bf3e /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 8765de69e7a18d7d17b9c367ae9ca653bc50e8b0 (diff) |
mptcp: do not shrink snd_nxt when recovering
When recovering after a link failure, snd_nxt should not be set to a
lower value. Else, update of snd_nxt is broken because:
msk->snd_nxt += ret; (where ret is number of bytes sent)
assumes that snd_nxt always moves forward.
After reduction, its possible that snd_nxt update gets out of sync:
dfrag we just sent might have had a data sequence number even past
recovery_snd_nxt.
This change factors the common msk state update to a helper
and updates snd_nxt based on the current dfrag data sequence number.
The conditional is required for the recovery phase where we may
re-transmit old dfrags that are before current snd_nxt.
After this change, snd_nxt only moves forward and covers all in-sequence
data that was transmitted.
recovery_snd_nxt is retained to detect when recovery has completed.
Fixes: 1e1d9d6f119c5 ("mptcp: handle pending data on closed subflow")
Signed-off-by: Florian Westphal <[email protected]>
Signed-off-by: Mat Martineau <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions