tcp: avoid doing work in tcp_rcv_sacks for no sacks 28/13228/2
authorFlorin Coras <fcoras@cisco.com>
Tue, 26 Jun 2018 08:22:41 +0000 (01:22 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Tue, 26 Jun 2018 18:17:17 +0000 (18:17 +0000)
Change-Id: I00a0d7f57dc144d338d5ad45b0a6e3720c32c400
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/tcp/tcp_input.c

index c99d6cc..1e6a8eb 100644 (file)
@@ -823,14 +823,15 @@ tcp_rcv_sacks (tcp_connection_t * tc, u32 ack)
   int i, j;
 
   sb->last_sacked_bytes = 0;
-  sb->snd_una_adv = 0;
-  old_sacked_bytes = sb->sacked_bytes;
   sb->last_bytes_delivered = 0;
+  sb->snd_una_adv = 0;
 
   if (!tcp_opts_sack (&tc->rcv_opts)
       && sb->head == TCP_INVALID_SACK_HOLE_INDEX)
     return;
 
+  old_sacked_bytes = sb->sacked_bytes;
+
   /* Remove invalid blocks */
   blk = tc->rcv_opts.sacks;
   while (blk < vec_end (tc->rcv_opts.sacks))