From e55a6d7a97044c2f4fd0231242e062924d75c7b6 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 31 Oct 2018 23:09:22 -0700 Subject: tcp: fast retransmit pacing Force pacing for fast retransmit to avoid bursts of retransmitted packets. Change-Id: I2ff42c328899b36322c4de557b1f7d853dba8fe2 Signed-off-by: Florin Coras --- src/vnet/tcp/tcp.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/vnet/tcp/tcp.h') diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h index 4ba3d5e9d87..f7424c3202e 100644 --- a/src/vnet/tcp/tcp.h +++ b/src/vnet/tcp/tcp.h @@ -160,7 +160,7 @@ enum }; #define TCP_SCOREBOARD_TRACE (0) -#define TCP_MAX_SACK_BLOCKS 32 /**< Max number of SACK blocks stored */ +#define TCP_MAX_SACK_BLOCKS 256 /**< Max number of SACK blocks stored */ #define TCP_INVALID_SACK_HOLE_INDEX ((u32)~0) typedef struct _scoreboard_trace_elt @@ -390,6 +390,9 @@ typedef struct tcp_worker_ctx_ needing fast rxt */ u32 *ongoing_fast_rxt; /**< vector of connections now doing fast rxt */ + u32 *postponed_fast_rxt; /**< vector of connections + that will do fast rxt */ + vlib_main_t *vm; /**< pointer to vm */ CLIB_CACHE_LINE_ALIGN_MARK (cacheline1); u8 cached_opts[40]; /**< cached 'on the wire' @@ -722,8 +725,8 @@ always_inline void tcp_cc_rcv_ack (tcp_connection_t * tc) { tc->cc_algo->rcv_ack (tc); - tcp_update_pacer (tc); tc->tsecr_last_ack = tc->rcv_opts.tsecr; + tcp_update_pacer (tc); } always_inline void -- cgit 1.2.3-korg