1.2. TAS Command-Line Parameters¶
1.2.1. IP Configuration¶
--ip-addr=ADDR[/PREFIXLEN]
Set local IP address. Currently only exactly one IP address is supported.
--ip-route=DEST[/PREFIX],NEXTHOP
Add an IP route for the destination subnet
DEST/PREFIX
viaNEXTHOP
. Can be specified more than once. For example, a default route could be--ip-route=0.0.0.0/0,192.168.1.1
.
1.2.2. Fast Path Configuration¶
--fp-cores-max=CORES
Maximum number of cores to use for fast-path. (default: 1)
--fp-no-ints
Disable receive interrupts in the NIC driver, switches over to just polling.
--fp-no-xsumoffload
Disable transmit checksum offloads, primarily useful to run TAS with NICs that do not support checksum offload, but comes at a slight performance cost.
--fp-no-autoscale
Disable auto scaling, instead fix the number of cores used by the fast path to the maximum.
--fp-no-hugepages
Do not use huge pages for the shared memory region between TAS and applications. (DPDK still uses huge pages for it’s buffers unless explicitly disabled through
--dpdk-extra
)
--dpdk-extra=ARG
Pass
ARG
through as a parameter to the dpdk EAL. (see https://doc.dpdk.org/guides/linux_gsg/linux_eal_parameters.html)
1.2.3. TCP Protocol Parameters¶
--tcp-rtt-init=RTT
Initial RTT used for congestion control. Is updated with actual measurements when they arrive.
--tcp-link-bw=BANDWIDH
Link bandwidth in GBPS. TODO: what is this used for? (default: 10).
--tcp-rxbuf-len=LEN
Connection receive buffer len in bytes (default: 8,192).
--tcp-txbuf-len=LEN
Connection transmit buffer len in bytes (default: 8,192).
--tcp-handshake-timeout=TIMEOUT
TCP handshake timeout in microseconds (default 10,000us).
--tcp-handshake-retries=RETRIES
Maximum retries for timeouts during handshake. (default: 10).
1.2.4. Congestion Control Parameters¶
--cc=ALGORITHM
Choose which congestion control algorithm to use. The supported options are:
dctcp-rate
: dctcp algorithm adapted to directly operate on the connection rate.
dctcp-win
: original dctcp algorithm with the window converted to a rate for enforcement.
timely
: latency-based TIMELY control law.
const-rate
: set all connections to a constant rate (effectively disables congestion control, useful for debugging).
--cc-control-interval=INT
Control interval length as multiples of the connection’s RTT. (default: 2)
--cc-control-granularity=G
Minimal control loop granularity. Control loop is only executed at most once every
G
microseconds. (default: 50)
--cc-rexmit-ints=INTERVALS
Number of connection cnotrol intervals before TAS triggers a re-transmit. (default: 4).
1.2.4.1. DCTCP¶
For the dctcp-rate
and dctcp-win
algorithm:
--cc-dctcp-weight=WEIGHT
EWMA weight for dctcp’s ECN rate (alpha, default: 0.0625).
--cc-dctcp-mimd=INC_FACT
Enable mutliplicative increase by
INC_FACT
(disabled by default, only used for tests).
--cc-dctcp-min=RATE
Minimum rate to set for flows (kbps, default: 10000).
1.2.4.2. Timely¶
Parameters for the timely
algorithm:
--cc-timely-tlow=TIME
Tlow threshold in microseconds. (default: 30)
--cc-timely-thigh=TIME
Thigh threshold in microseconds. (default: 150)
--cc-timely-step=STEP
Additive increase step size in kbps (default: 10000)
--cc-timely-init=RATE
Initial connection rate in kbps (default: 10000)
--cc-timely-alpha=FRAC
EWMA weight for rtt diff. (default: 0.02)
--cc-timely-beta=FRAC
Multiplicative decrease factor. (default: 0.8)
--cc-timely-minrtt=RTT
Minimal RTT without queueing in microseconds. (default: 11)
--cc-timely-minrate=RTT
Minimal connection rate to use in kbps (default: 10000)
1.2.4.3. Constant Rate¶
For the const-rate
“algorithm” the following configuration options apply:
--cc-const-rate=RATE
Sets the rate to use in kbps.
1.2.5. ARP Protocol Parameters¶
--arp-timeout=TIMEOUT
Initial ARP request timetout in microseconds. This doubles with every retry (default: 500).
--arp-timeout-max=TIMEOUT
Maximal ARP timeout in microseconds. If the retry-timeout grows larger than this, the request fails. (default: 10,000,000 us)
1.2.6. Slowpath Queues¶
--nic-rx-len=LEN
Number of entries in TAS slowpath receive queue. (default: 16,384).
--nic-tx-len=LEN
Number of entries in TAS slowpath transmit queue. (default: 16,384).
--app-kin-len=LEN
Application slow path receive queue length in bytes. (default: 1,048,576).
--app-kout-len=LEN
Application slow path transmit queue length in bytes. (default: 1,048,576).
1.2.7. Host Kernel Interface¶
--kni-name=NAME
Enables the DPDK kernel network interface, by creating a dummy network interface with the name
NAME
. (default: disabled)
1.2.8. Miscellaneous¶
--quiet
Disable non-essential logging.
--ready-fd=FD
Causes TAS to write to file descriptor
FD
when ready. Can be used by supervisor processes to detect when TAS is ready, e.g. used in full system tests.