tcp: try to update sack list only if not empty 00/32100/3
authorFlorin Coras <fcoras@cisco.com>
Fri, 23 Apr 2021 04:10:02 +0000 (21:10 -0700)
committerDave Barach <openvpp@barachs.net>
Fri, 23 Apr 2021 15:24:26 +0000 (15:24 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ieb5af96de5be33356dbab7bc4ab4696731fa8866

src/vnet/tcp/tcp_input.c

index 398bf1b..5ec4099 100644 (file)
@@ -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);