aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp/tcp.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-10-21 23:24:53 -0700
committerDave Barach <openvpp@barachs.net>2020-10-22 15:55:00 +0000
commit7d8100fd951af29c245b72847fd2f7e8a5c74acd (patch)
tree051a6318c005c4c79f67732c9e15d445982e9231 /src/vnet/tcp/tcp.c
parent7aa76d4319436fe57995b15cfb6e9beb84017160 (diff)
tcp: no send space in timer recovery
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9461b6539c504ca844c25d04abe95929f842e4e9
Diffstat (limited to 'src/vnet/tcp/tcp.c')
-rw-r--r--src/vnet/tcp/tcp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c
index 31ba276c9ee..d94da2cf390 100644
--- a/src/vnet/tcp/tcp.c
+++ b/src/vnet/tcp/tcp.c
@@ -916,7 +916,10 @@ tcp_snd_space_inline (tcp_connection_t * tc)
{
int snd_space;
- if (PREDICT_FALSE (tcp_in_fastrecovery (tc)
+ /* Fast path is disabled when recovery is on. @ref tcp_session_custom_tx
+ * controls both retransmits and the sending of new data while congested
+ */
+ if (PREDICT_FALSE (tcp_in_cong_recovery (tc)
|| tc->state == TCP_STATE_CLOSED))
return 0;