From 352c2c40c720acefaa49ade61cf9e8fdef3c846f Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 26 Jun 2018 01:22:41 -0700 Subject: tcp: avoid doing work in tcp_rcv_sacks for no sacks Change-Id: I00a0d7f57dc144d338d5ad45b0a6e3720c32c400 Signed-off-by: Florin Coras --- src/vnet/tcp/tcp_input.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') 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)) -- cgit 1.2.3-korg