mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
sctp: Restore 'resent' bit to avoid retransmitted chunks for RTT measurements
Currently retransmitted DATA chunks could also be used for
RTT measurements since there are no flag to identify whether
the transmitted DATA chunk is a new one or a retransmitted one.
This problem is introduced by commit ae19c5486
("sctp: remove
'resent' bit from the chunk") which inappropriately removed the
'resent' bit completely, instead of doing this, we should set
the resent bit only for the retransmitted DATA chunks.
Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5e53e689b7
commit
6eabca54d6
3 changed files with 6 additions and 1 deletions
|
@ -446,6 +446,8 @@ void sctp_retransmit_mark(struct sctp_outq *q,
|
|||
transport->rto_pending = 0;
|
||||
}
|
||||
|
||||
chunk->resent = 1;
|
||||
|
||||
/* Move the chunk to the retransmit queue. The chunks
|
||||
* on the retransmit queue are always kept in order.
|
||||
*/
|
||||
|
@ -1375,6 +1377,7 @@ static void sctp_check_transmitted(struct sctp_outq *q,
|
|||
* instance).
|
||||
*/
|
||||
if (!tchunk->tsn_gap_acked &&
|
||||
!tchunk->resent &&
|
||||
tchunk->rtt_in_progress) {
|
||||
tchunk->rtt_in_progress = 0;
|
||||
rtt = jiffies - tchunk->sent_at;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue