TAS
TCP Acceleration as an OS Service
|
#include <internal.h>
TCP connection state
Definition at line 416 of file internal.h.
struct connection* connection::app_next |
Link list pointer for application connections.
Definition at line 428 of file internal.h.
Referenced by appif_accept_conn().
union { ... } connection::cc |
Data for CC algorithm.
Referenced by cc_conn_remove().
uint32_t connection::cc_last_ackb |
Acknowledged bytes
Definition at line 508 of file internal.h.
uint16_t connection::cc_last_acks |
Number of ACKs received
Definition at line 506 of file internal.h.
uint16_t connection::cc_last_drops |
Number of dropped segments
Definition at line 504 of file internal.h.
uint32_t connection::cc_last_ecnb |
Number of ACKd bytes with ECN marks
Definition at line 510 of file internal.h.
uint32_t connection::cc_last_ts |
Timestamp when control loop ran last
Definition at line 500 of file internal.h.
Referenced by cc_conn_init(), and cc_conn_remove().
struct connection* connection::cc_next |
Linked list for CC connection list.
Definition at line 530 of file internal.h.
Referenced by cc_conn_init(), and cc_conn_remove().
uint32_t connection::cc_rate |
Congestion rate limit.
Definition at line 513 of file internal.h.
Referenced by cc_conn_remove(), and tcp_timeout().
uint32_t connection::cc_rexmits |
Had retransmits.
Definition at line 515 of file internal.h.
Referenced by cc_conn_init(), and cc_conn_remove().
uint32_t connection::cc_rtt |
Last rtt estimate
Definition at line 502 of file internal.h.
Referenced by cc_conn_init(), and cc_conn_remove().
uint32_t connection::cnt_tx_pending |
#control intervals with data in tx buffer but no ACKs
Definition at line 526 of file internal.h.
Referenced by cc_conn_remove(), tcp_accept(), and tcp_open().
struct nicif_completion connection::comp |
Asynchronous completion information.
Definition at line 536 of file internal.h.
Referenced by tcp_open(), tcp_poll(), and tcp_timeout().
struct app_context* connection::ctx |
Application context this connection is assigned to.
Definition at line 424 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_closed(), appif_conn_opened(), tcp_accept(), and tcp_open().
uint32_t connection::db_id |
Doorbell id.
Definition at line 430 of file internal.h.
Referenced by tcp_accept(), tcp_open(), and tcp_timeout().
struct connection_cc_dctcp_rate connection::dctcp_rate |
struct connection_cc_dctcp_win connection::dctcp_win |
uint32_t connection::flags |
Flags: see nicif_connection_flags
Definition at line 542 of file internal.h.
Referenced by tcp_accept(), tcp_open(), and tcp_timeout().
uint16_t connection::flow_group |
Flow group (RSS bucket for steering).
Definition at line 544 of file internal.h.
Referenced by cc_conn_remove(), and tcp_timeout().
uint32_t connection::flow_id |
NIC flow state ID.
Definition at line 538 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), cc_conn_remove(), tcp_close(), and tcp_timeout().
uint32_t connection::fn_core |
FlexNIC emulator core.
Definition at line 540 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), and tcp_timeout().
struct connection* connection::ht_next |
Linked list in hash table.
Definition at line 534 of file internal.h.
Referenced by tcp_accept(), and tcp_timeout().
uint32_t connection::local_ip |
Local IP to be used.
Definition at line 460 of file internal.h.
Referenced by tcp_open(), and tcp_timeout().
uint16_t connection::local_port |
Local port number.
Definition at line 464 of file internal.h.
Referenced by appif_conn_opened(), tcp_accept(), tcp_open(), and tcp_timeout().
uint32_t connection::local_seq |
Local sequence number.
Definition at line 476 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), tcp_close(), tcp_open(), and tcp_timeout().
struct app_context* connection::new_ctx |
New application context if connection should be moved.
Definition at line 426 of file internal.h.
uint64_t connection::opaque |
Application-specified opaque value for connection.
Definition at line 422 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_closed(), appif_conn_opened(), tcp_accept(), tcp_open(), and tcp_timeout().
uint32_t connection::remote_ip |
Peer IP address.
Definition at line 458 of file internal.h.
Referenced by appif_accept_conn(), tcp_open(), and tcp_timeout().
uint64_t connection::remote_mac |
Peer MAC address for connection.
Definition at line 456 of file internal.h.
Referenced by tcp_open(), and tcp_timeout().
uint16_t connection::remote_port |
Peer port number.
Definition at line 462 of file internal.h.
Referenced by appif_accept_conn(), tcp_open(), and tcp_timeout().
uint32_t connection::remote_seq |
Peer sequence number.
Definition at line 474 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), tcp_close(), tcp_open(), and tcp_timeout().
uint8_t* connection::rx_buf |
Receive buffer pointer.
Definition at line 442 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), and tcp_timeout().
struct packetmem_handle* connection::rx_handle |
Memory manager handle for receive buffer.
Definition at line 438 of file internal.h.
Referenced by tcp_timeout().
uint32_t connection::rx_len |
Receive buffer size.
Definition at line 446 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), and tcp_timeout().
enum connection_status connection::status |
Current connection state machine state.
Definition at line 472 of file internal.h.
Referenced by tcp_accept(), tcp_close(), tcp_destroy(), tcp_open(), tcp_poll(), and tcp_timeout().
uint32_t connection::syn_ts |
Timestamp received with SYN/SYN-ACK packet
Definition at line 478 of file internal.h.
Referenced by tcp_timeout().
struct connection_cc_timely connection::timely |
uint32_t connection::timeout |
Timeout in microseconds (used for handshake).
Definition at line 486 of file internal.h.
Referenced by tcp_timeout().
struct timeout connection::to |
Timeout object.
Definition at line 488 of file internal.h.
Referenced by tcp_close(), and tcp_timeout().
int connection::to_armed |
1 if timeout is currently armed.
Definition at line 492 of file internal.h.
Referenced by tcp_close(), and tcp_timeout().
int connection::to_attempts |
Number of times timout triggered.
Definition at line 490 of file internal.h.
Referenced by tcp_timeout().
uint32_t connection::ts_tx_pending |
Timestamp when flow was first not moving
Definition at line 528 of file internal.h.
Referenced by cc_conn_remove().
uint8_t* connection::tx_buf |
Transmit buffer pointer.
Definition at line 444 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), and tcp_timeout().
struct packetmem_handle* connection::tx_handle |
Memory manager handle for transmit buffer.
Definition at line 440 of file internal.h.
Referenced by tcp_timeout().
uint32_t connection::tx_len |
Transmit buffer size.
Definition at line 448 of file internal.h.
Referenced by appif_accept_conn(), appif_conn_opened(), cc_conn_remove(), and tcp_timeout().