From: Florin Coras Date: Tue, 26 Jun 2018 08:22:41 +0000 (-0700) Subject: tcp: avoid doing work in tcp_rcv_sacks for no sacks X-Git-Tag: v18.07-rc1~101 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F28%2F13228%2F2;p=vpp.git tcp: avoid doing work in tcp_rcv_sacks for no sacks Change-Id: I00a0d7f57dc144d338d5ad45b0a6e3720c32c400 Signed-off-by: Florin Coras --- diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c index c99d6cca6fe..1e6a8eb4eae 100644 --- a/src/vnet/tcp/tcp_input.c +++ b/src/vnet/tcp/tcp_input.c @@ -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))