X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ftcp%2Ftcp_types.h;h=aacfd8f2fd4c3a13fa07d764aebd42ed8dc15a2c;hb=53cee1579eb0bee09142a26285461638a796e99d;hp=c4764312744b24e060433995181d4d2b1f701010;hpb=70edc1c48724a0007f671a4ef53e982dbb5b87a9;p=vpp.git diff --git a/src/vnet/tcp/tcp_types.h b/src/vnet/tcp/tcp_types.h index c4764312744..aacfd8f2fd4 100644 --- a/src/vnet/tcp/tcp_types.h +++ b/src/vnet/tcp/tcp_types.h @@ -32,7 +32,6 @@ #define TCP_FIB_RECHECK_PERIOD 1 * THZ /**< Recheck every 1s */ #define TCP_MAX_OPTION_SPACE 40 #define TCP_CC_DATA_SZ 24 -#define TCP_MAX_GSO_SZ 65536 #define TCP_RXT_MAX_BURST 10 #define TCP_DUPACK_THRESHOLD 3 @@ -157,7 +156,7 @@ typedef struct _scoreboard_trace_elt u32 start; u32 end; u32 ack; - u32 snd_una_max; + u32 snd_nxt; u32 group; } scoreboard_trace_elt_t; @@ -294,7 +293,6 @@ typedef struct _tcp_connection /** Send sequence variables RFC793 */ u32 snd_una; /**< oldest unacknowledged sequence number */ - u32 snd_una_max; /**< newest unacknowledged sequence number + 1*/ u32 snd_wnd; /**< send window */ u32 snd_wl1; /**< seq number used for last snd.wnd update */ u32 snd_wl2; /**< ack number used for last snd.wnd update */ @@ -309,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 */ @@ -346,7 +343,7 @@ typedef struct _tcp_connection u32 rxt_delivered; /**< Rxt bytes delivered during current cc event */ u32 rxt_head; /**< snd_una last time we re rxted the head */ u32 tsecr_last_ack; /**< Timestamp echoed to us in last healthy ACK */ - u32 snd_congestion; /**< snd_una_max when congestion is detected */ + u32 snd_congestion; /**< snd_nxt when congestion is detected */ u32 tx_fifo_size; /**< Tx fifo size. Used to constrain cwnd */ tcp_cc_algorithm_t *cc_algo; /**< Congestion control algorithm */ u8 cc_data[TCP_CC_DATA_SZ]; /**< Congestion control algo private data */ @@ -382,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