diff options
author | Florin Coras <fcoras@cisco.com> | 2020-02-10 23:22:34 +0000 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2020-02-12 17:34:21 +0000 |
commit | 6939d5efdf6541936076dce8c0a436b10e809bee (patch) | |
tree | 01bc3b381f9203884bcfdfbcf7c2e04b09b29752 /src/vnet/tcp/tcp.h | |
parent | 415b4b0bbae661cbcbb93c3cb9d016dfae2f5081 (diff) |
tcp: postpone rst handling
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id09fa54cc5657b3b5616ea6a6180c1344b0141d4
Diffstat (limited to 'src/vnet/tcp/tcp.h')
-rw-r--r-- | src/vnet/tcp/tcp.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h index 73d59706da5..36e98a98dd6 100644 --- a/src/vnet/tcp/tcp.h +++ b/src/vnet/tcp/tcp.h @@ -436,6 +436,8 @@ typedef struct _tcp_connection u16 mss; /**< Our max seg size that includes options */ u32 timestamp_delta; /**< Offset for timestamp */ u32 ipv6_flow_label; /**< flow label for ipv6 header */ + +#define rst_state snd_wl1 } tcp_connection_t; /* *INDENT-OFF* */ @@ -503,11 +505,6 @@ typedef struct _tcp_lookup_dispatch typedef struct tcp_worker_ctx_ { CLIB_CACHE_LINE_ALIGN_MARK (cacheline0); - /** worker time */ - u32 time_now; - - /** worker timer wheel */ - tw_timer_wheel_16t_2w_512sl_t timer_wheel; /** tx buffer free list */ u32 *tx_buffers; @@ -521,14 +518,22 @@ typedef struct tcp_worker_ctx_ /** vector of pending disconnect notifications */ u32 *pending_disconnects; + u32 *pending_resets; + /** convenience pointer to this thread's vlib main */ vlib_main_t *vm; + /** worker time */ + u32 time_now; + CLIB_CACHE_LINE_ALIGN_MARK (cacheline1); /** cached 'on the wire' options for bursts */ u8 cached_opts[40]; + /** worker timer wheel */ + tw_timer_wheel_16t_2w_512sl_t timer_wheel; + } tcp_worker_ctx_t; typedef struct tcp_iss_seed_ @@ -753,7 +758,6 @@ tcp_connection_t *tcp_connection_alloc (u8 thread_index); tcp_connection_t *tcp_connection_alloc_w_base (u8 thread_index, tcp_connection_t * base); void tcp_connection_free (tcp_connection_t * tc); -void tcp_connection_reset (tcp_connection_t * tc); int tcp_configure_v4_source_address_range (vlib_main_t * vm, ip4_address_t * start, ip4_address_t * end, u32 table_id); |