tcp: update persist timer if data acked
Update persist timer if data sent during snd_wnd < snd_mss was acked. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I5c75ff8ddc0e49750b2088237d32afa4eda99e7f
This commit is contained in:
parent
3a36682017
commit
c6a2f1f76f
@ -629,11 +629,15 @@ tcp_update_snd_wnd (tcp_connection_t * tc, u32 seq, u32 ack, u32 snd_wnd)
|
||||
|
||||
if (PREDICT_FALSE (tc->snd_wnd < tc->snd_mss))
|
||||
{
|
||||
/* Set persist timer if not set and we just got 0 wnd */
|
||||
if (!tcp_timer_is_active (tc, TCP_TIMER_PERSIST)
|
||||
&& !tcp_timer_is_active (tc, TCP_TIMER_RETRANSMIT))
|
||||
if (!tcp_timer_is_active (tc, TCP_TIMER_RETRANSMIT))
|
||||
{
|
||||
tcp_worker_ctx_t *wrk = tcp_get_worker (tc->c_thread_index);
|
||||
|
||||
/* Set persist timer if we just got 0 wnd. If already set,
|
||||
* update it because some data sent with snd_wnd < snd_mss was
|
||||
* acked. */
|
||||
if (tcp_timer_is_active (tc, TCP_TIMER_PERSIST))
|
||||
tcp_persist_timer_reset (&wrk->timer_wheel, tc);
|
||||
tcp_persist_timer_set (&wrk->timer_wheel, tc);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user