aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp/tcp_input.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2021-04-22 21:10:02 -0700
committerDave Barach <openvpp@barachs.net>2021-04-23 15:24:26 +0000
commit607ece36b6f0fc6fe1122db58f2eb7d3713f34cc (patch)
tree07b37cfe673950e11c653bc8980a06c8e752c0e0 /src/vnet/tcp/tcp_input.c
parent646984080358df8091c4fb10890a033777d90e4c (diff)
tcp: try to update sack list only if not empty
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ieb5af96de5be33356dbab7bc4ab4696731fa8866
Diffstat (limited to 'src/vnet/tcp/tcp_input.c')
-rw-r--r--src/vnet/tcp/tcp_input.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c
index 398bf1b76a7..5ec4099fa46 100644
--- a/src/vnet/tcp/tcp_input.c
+++ b/src/vnet/tcp/tcp_input.c
@@ -1187,7 +1187,7 @@ tcp_session_enqueue_data (tcp_connection_t * tc, vlib_buffer_t * b,
}
/* Update SACK list if need be */
- if (tcp_opts_sack_permitted (&tc->rcv_opts))
+ if (tcp_opts_sack_permitted (&tc->rcv_opts) && vec_len (tc->snd_sacks))
{
/* Remove SACK blocks that have been delivered */
tcp_update_sack_list (tc, tc->rcv_nxt, tc->rcv_nxt);