diff options
author | Florin Coras <fcoras@cisco.com> | 2021-04-22 16:58:23 -0700 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2021-04-23 15:00:50 +0000 |
commit | 646984080358df8091c4fb10890a033777d90e4c (patch) | |
tree | c3342de480457fb1124702cf3b1873ceea5561b8 /src | |
parent | e5f18337f1f5d8b8578b6305b7c11276cc5a18a0 (diff) |
tcp: reorganize connection members
Optimize connection size and move timestamp_delta closer to other
timestamp related members.
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iec42efb46482ebfdf234518a4e91af836e4f4c07
Diffstat (limited to 'src')
-rw-r--r-- | src/vnet/tcp/tcp_packet.h | 8 | ||||
-rw-r--r-- | src/vnet/tcp/tcp_types.h | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/vnet/tcp/tcp_packet.h b/src/vnet/tcp/tcp_packet.h index f9c6db4f8c4..b0636d871d5 100644 --- a/src/vnet/tcp/tcp_packet.h +++ b/src/vnet/tcp/tcp_packet.h @@ -142,12 +142,12 @@ typedef struct _sack_block typedef struct { - u8 flags; /** Option flags, see above */ - u8 wscale; /**< Window scale advertised */ - u16 mss; /**< Maximum segment size advertised */ + sack_block_t *sacks; /**< SACK blocks */ u32 tsval; /**< Timestamp value */ u32 tsecr; /**< Echoed/reflected time stamp */ - sack_block_t *sacks; /**< SACK blocks */ + u16 mss; /**< Maximum segment size advertised */ + u8 flags; /**< Option flags, see above */ + u8 wscale; /**< Window scale advertised */ u8 n_sack_blocks; /**< Number of SACKs blocks */ } tcp_options_t; diff --git a/src/vnet/tcp/tcp_types.h b/src/vnet/tcp/tcp_types.h index 2575156d7e9..aacfd8f2fd4 100644 --- a/src/vnet/tcp/tcp_types.h +++ b/src/vnet/tcp/tcp_types.h @@ -307,20 +307,19 @@ typedef struct _tcp_connection u32 rcv_wnd; /**< receive window we expect */ u32 rcv_las; /**< rcv_nxt at last ack sent/rcv_wnd update */ - u32 iss; /**< initial sent sequence */ - u32 irs; /**< initial remote sequence */ /* Options */ u8 snd_opts_len; /**< Tx options len */ + u8 snd_sack_pos; /**< Position in vec of first block to send */ u8 rcv_wscale; /**< Window scale to advertise to peer */ u8 snd_wscale; /**< Window scale to use when sending */ u32 tsval_recent; /**< Last timestamp received */ u32 tsval_recent_age; /**< When last updated tstamp_recent*/ + u32 timestamp_delta; /**< Offset for timestamp */ tcp_options_t snd_opts; /**< Tx options for 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_block_t *snd_sacks_fl; /**< Vector for building new list */ sack_scoreboard_t sack_sb; /**< SACK "scoreboard" that tracks holes */ @@ -380,10 +379,11 @@ typedef struct _tcp_connection tcp_errors_t errors; /**< Soft connection errors */ + u32 iss; /**< initial sent sequence */ + u32 irs; /**< initial remote sequence */ f64 start_ts; /**< Timestamp when connection initialized */ u32 last_fib_check; /**< Last time we checked fib route for peer */ 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 |