summaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp/tcp.h
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-02-21 16:46:24 -0800
committerDamjan Marion <dmarion@me.com>2019-02-22 10:55:27 +0000
commite5b17918e78c974b43fe41300d2f5d817e89c30b (patch)
treeefa59300186940fcada3b4018443e14743bb38ed /src/vnet/tcp/tcp.h
parent78b5fa6398d02af4f4f92e4bc9cc22c010ae24f9 (diff)
tcp: send enough dupacks to cover all sack holes
Make sure we send enough dupacks to cover all the holes created in the last frame received. Also make sure we send all the blocks, not just the first. Change-Id: I9597a34ac14473d1cc3ad07d65bc37043e3d0582 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/tcp/tcp.h')
-rw-r--r--src/vnet/tcp/tcp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h
index d1fbf156ed5..a4e7935dfe4 100644
--- a/src/vnet/tcp/tcp.h
+++ b/src/vnet/tcp/tcp.h
@@ -303,6 +303,7 @@ typedef struct _tcp_connection
tcp_options_t rcv_opts; /**< Rx options for connection */
sack_block_t *snd_sacks; /**< Vector of SACKs to send. XXX Fixed size? */
+ u8 snd_sack_pos; /**< Position in vec of first block to send */
sack_scoreboard_t sack_sb; /**< SACK "scoreboard" that tracks holes */
u16 rcv_dupacks; /**< Number of DUPACKs received */