TAS
TCP Acceleration as an OS Service
Data Fields
configuration Struct Reference

#include <config.h>

Collaboration diagram for configuration:
Collaboration graph
[legend]

Data Fields

uint64_t shm_len
 
uint64_t nic_rx_len
 
uint64_t nic_tx_len
 
uint64_t app_kin_len
 
uint64_t app_kout_len
 
uint64_t tcp_rxbuf_len
 
uint64_t tcp_txbuf_len
 
uint32_t tcp_rtt_init
 
uint32_t tcp_link_bw
 
uint32_t tcp_handshake_to
 
uint32_t tcp_handshake_retries
 
uint32_t ip
 
uint8_t ip_prefix
 
struct config_routeroutes
 
uint32_t arp_to
 
uint32_t arp_to_max
 
enum config_cc_algorithm cc_algorithm
 
uint32_t cc_control_granularity
 
uint32_t cc_control_interval
 
uint32_t cc_rexmit_ints
 
uint32_t cc_dctcp_weight
 
uint32_t cc_dctcp_init
 
uint32_t cc_dctcp_step
 
uint32_t cc_dctcp_mimd
 
uint32_t cc_dctcp_min
 
uint32_t cc_dctcp_minpkts
 
uint32_t cc_const_rate
 
uint32_t cc_timely_tlow
 
uint32_t cc_timely_thigh
 
uint32_t cc_timely_step
 
uint32_t cc_timely_init
 
uint32_t cc_timely_alpha
 
uint32_t cc_timely_beta
 
uint32_t cc_timely_min_rtt
 
uint32_t cc_timely_min_rate
 
uint32_t fp_cores_max
 
uint32_t fp_interrupts
 
uint32_t fp_xsumoffload
 
uint32_t fp_autoscale
 
uint32_t fp_hugepages
 
uint32_t fp_vlan_strip
 
uint32_t fp_poll_interval_tas
 
uint32_t fp_poll_interval_app
 
char * kni_name
 
int ready_fd
 
int quiet
 
char ** dpdk_argv
 
int dpdk_argc
 

Detailed Description

Struct containing the parsed configuration parameters

Definition at line 43 of file config.h.

Field Documentation

◆ app_kin_len

uint64_t configuration::app_kin_len

App context -> kernel queue length.

Definition at line 51 of file config.h.

◆ app_kout_len

uint64_t configuration::app_kout_len

App context <- kernel queue length.

Definition at line 53 of file config.h.

◆ arp_to

uint32_t configuration::arp_to

Initial ARP timeout in [us]

Definition at line 73 of file config.h.

Referenced by arp_request().

◆ arp_to_max

uint32_t configuration::arp_to_max

Maximum ARP timeout [us]

Definition at line 75 of file config.h.

Referenced by arp_timeout().

◆ cc_algorithm

enum config_cc_algorithm configuration::cc_algorithm

Congestion control algorithm

Definition at line 77 of file config.h.

Referenced by cc_conn_init(), and cc_poll().

◆ cc_const_rate

uint32_t configuration::cc_const_rate

CC Const: Rate to assign to flows [kbps]

Definition at line 97 of file config.h.

Referenced by cc_conn_remove().

◆ cc_control_granularity

uint32_t configuration::cc_control_granularity

CC: minimum delay between running control loop [us]

Definition at line 79 of file config.h.

Referenced by cc_poll().

◆ cc_control_interval

uint32_t configuration::cc_control_interval

CC: control interval (multiples of conn RTT)

Definition at line 81 of file config.h.

Referenced by cc_poll().

◆ cc_dctcp_init

uint32_t configuration::cc_dctcp_init

CC dctcp: initial rate [kbps]

Definition at line 87 of file config.h.

Referenced by cc_conn_remove().

◆ cc_dctcp_mimd

uint32_t configuration::cc_dctcp_mimd

CC dctcp: multiplicative increase

Definition at line 91 of file config.h.

Referenced by cc_conn_remove().

◆ cc_dctcp_min

uint32_t configuration::cc_dctcp_min

CC dctcp: minimal rate

Definition at line 93 of file config.h.

Referenced by cc_conn_remove().

◆ cc_dctcp_minpkts

uint32_t configuration::cc_dctcp_minpkts

CC dctcp: min number of packets to wait for

Definition at line 95 of file config.h.

Referenced by cc_conn_remove().

◆ cc_dctcp_step

uint32_t configuration::cc_dctcp_step

CC dctcp: additive increase step [kbps]

Definition at line 89 of file config.h.

Referenced by cc_conn_remove().

◆ cc_dctcp_weight

uint32_t configuration::cc_dctcp_weight

CC dctcp: EWMA weight for new ECN

Definition at line 85 of file config.h.

Referenced by cc_conn_remove().

◆ cc_rexmit_ints

uint32_t configuration::cc_rexmit_ints

CC: number of intervals without ACKs before retransmit

Definition at line 83 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_alpha

uint32_t configuration::cc_timely_alpha

CC timely: ewma weight for rtt diff

Definition at line 107 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_beta

uint32_t configuration::cc_timely_beta

CC timely: multiplicative decrement factor

Definition at line 109 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_init

uint32_t configuration::cc_timely_init

CC timely: initial rate [kbps]

Definition at line 105 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_min_rate

uint32_t configuration::cc_timely_min_rate

CC timely: minimal rate to use

Definition at line 113 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_min_rtt

uint32_t configuration::cc_timely_min_rtt

CC timely: minimal RTT without queuing

Definition at line 111 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_step

uint32_t configuration::cc_timely_step

CC timely: additive increment step [kbps]

Definition at line 103 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_thigh

uint32_t configuration::cc_timely_thigh

CC timely: high threshold

Definition at line 101 of file config.h.

Referenced by cc_conn_remove().

◆ cc_timely_tlow

uint32_t configuration::cc_timely_tlow

CC timely: low threshold

Definition at line 99 of file config.h.

Referenced by cc_conn_remove().

◆ dpdk_argc

int configuration::dpdk_argc

DPDK extra argument count

Definition at line 139 of file config.h.

◆ dpdk_argv

char** configuration::dpdk_argv

DPDK extra argument vector

Definition at line 137 of file config.h.

◆ fp_autoscale

uint32_t configuration::fp_autoscale

FP: auto scaling enabled

Definition at line 121 of file config.h.

◆ fp_cores_max

uint32_t configuration::fp_cores_max

FP: maximal number of cores used

Definition at line 115 of file config.h.

◆ fp_hugepages

uint32_t configuration::fp_hugepages

FP: use huge pages for internal and buffer memory

Definition at line 123 of file config.h.

◆ fp_interrupts

uint32_t configuration::fp_interrupts

FP: interrupts (blocking) enabled

Definition at line 117 of file config.h.

◆ fp_poll_interval_app

uint32_t configuration::fp_poll_interval_app

FP: polling interval for app

Definition at line 129 of file config.h.

◆ fp_poll_interval_tas

uint32_t configuration::fp_poll_interval_tas

FP: polling interval for TAS

Definition at line 127 of file config.h.

◆ fp_vlan_strip

uint32_t configuration::fp_vlan_strip

FP: enable vlan stripping

Definition at line 125 of file config.h.

◆ fp_xsumoffload

uint32_t configuration::fp_xsumoffload

FP: tcp checksum offload enabled

Definition at line 119 of file config.h.

◆ ip

uint32_t configuration::ip

IP address for this host

Definition at line 67 of file config.h.

Referenced by appif_accept_conn(), appif_conn_opened(), arp_init(), arp_packet(), arp_timeout(), routing_init(), tcp_open(), tcp_packet(), and tcp_timeout().

◆ ip_prefix

uint8_t configuration::ip_prefix

IP prefix length for this host

Definition at line 69 of file config.h.

Referenced by routing_init().

◆ kni_name

char* configuration::kni_name

SP: kni interface name

Definition at line 131 of file config.h.

Referenced by kni_init(), kni_packet(), kni_poll(), and tcp_packet().

◆ nic_rx_len

uint64_t configuration::nic_rx_len

Kernel nic receive queue length.

Definition at line 47 of file config.h.

◆ nic_tx_len

uint64_t configuration::nic_tx_len

Kernel nic transmit queue length.

Definition at line 49 of file config.h.

◆ quiet

int configuration::quiet

Minimize output

Definition at line 135 of file config.h.

Referenced by arp_init().

◆ ready_fd

int configuration::ready_fd

Ready signal fd

Definition at line 133 of file config.h.

◆ routes

struct config_route* configuration::routes

List of routes

Definition at line 71 of file config.h.

Referenced by routing_init().

◆ tcp_handshake_retries

uint32_t configuration::tcp_handshake_retries

of retries for dropped handshake packets

Definition at line 65 of file config.h.

Referenced by tcp_timeout().

◆ tcp_handshake_to

uint32_t configuration::tcp_handshake_to

Initial tcp handshake timeout [us]

Definition at line 63 of file config.h.

Referenced by tcp_timeout().

◆ tcp_link_bw

uint32_t configuration::tcp_link_bw

Link bandwidth for converting window to rate [gbps]

Definition at line 61 of file config.h.

Referenced by cc_conn_remove().

◆ tcp_rtt_init

uint32_t configuration::tcp_rtt_init

Initial tcp rtt for cc rate [us]

Definition at line 59 of file config.h.

Referenced by cc_conn_init(), and cc_conn_remove().

◆ tcp_rxbuf_len

uint64_t configuration::tcp_rxbuf_len

TCP receive buffer size.

Definition at line 55 of file config.h.

Referenced by tcp_timeout().

◆ tcp_txbuf_len

uint64_t configuration::tcp_txbuf_len

TCP transmit buffer size.

Definition at line 57 of file config.h.

Referenced by tcp_timeout().


The documentation for this struct was generated from the following file: