Flowgrind
Advanced TCP traffic generator
flow_settings Struct Reference

Settings that describe a flow between from a endpoint's perspective. More...

#include <common.h>

Data Structures

struct  extra_socket_options
 

Data Fields

char bind_address [1000]
 The interface address for the flow (used by daemon). More...
 
int byte_counting
 Enumerate bytes in payload instead of sending zeros (option -E). More...
 
char cc_alg [TCP_CA_NAME_MAX]
 Set congestion control algorithm ALG on test socket (option -O). More...
 
int cork
 Sets SO_DEBUG on test socket (option -O). More...
 
double delay [2]
 Delay of flow in seconds (option -Y). More...
 
int dscp
 DSCP value for TOS byte (option -D). More...
 
double duration [2]
 Duration of flow in seconds (option -T). More...
 
int elcn
 Set TCP_ELCN (20) on test socket (option -O). More...
 
struct flow_settings::extra_socket_options extra_socket_options [MAX_EXTRA_SOCKET_OPTIONS]
 
int flow_control
 Stop flow if it is experiencing local congestion (option -C). More...
 
int flow_id
 Flow ID maintained by controller. More...
 
struct trafgen_options interpacket_gap_trafgen_options
 Stochastic traffic generation settings for the interpacket gap. More...
 
int ipmtudiscover
 Set IP_MTU_DISCOVER on test socket (option -O). More...
 
int lcd
 Set TCP_LCD (21) on test socket (option -O). More...
 
int maximum_block_size
 Application buffer size in bytes (option -U). More...
 
int mtcp
 Set TCP_MTCP (15) on test socket (option -O). More...
 
int nonagle
 Disable nagle algorithm on test socket (option -O). More...
 
int num_extra_socket_options
 
int pushy
 Do not iterate through select() to continue sending in case block size did not suffice to fill sending queue (pushy) (option -P). More...
 
unsigned random_seed
 Random seed to use (default: read /dev/urandom) (option -J). More...
 
double reporting_interval
 Interval to report flow on screen (option -i). More...
 
struct trafgen_options request_trafgen_options
 Stochastic traffic generation settings for the request size. More...
 
int requested_read_buffer_size
 Request receiver buffer, advertised window in bytes (option -W). More...
 
int requested_send_buffer_size
 Request sender buffer in bytes (option -B). More...
 
struct trafgen_options response_trafgen_options
 Stochastic traffic generation settings for the response size. More...
 
int route_record
 Sets ROUTE_RECORD on test socket (option -O). More...
 
int shutdown
 Shutdown socket after test flow (option -N). More...
 
int so_debug
 Sets SO_DEBUG on test socket (option -O). More...
 
int traffic_dump
 Dump traffic using libpcap (option -M). More...
 
int write_rate
 The actual rate we should send. More...
 
const char * write_rate_str
 Send at specified rate per second (option -R). More...
 

Detailed Description

Settings that describe a flow between from a endpoint's perspective.

These options can be specified for each of the two endpoints.

Definition at line 181 of file common.h.

Field Documentation

◆ bind_address

char flow_settings::bind_address[1000]

The interface address for the flow (used by daemon).

Definition at line 183 of file common.h.

◆ byte_counting

int flow_settings::byte_counting

Enumerate bytes in payload instead of sending zeros (option -E).

Definition at line 229 of file common.h.

◆ cc_alg

char flow_settings::cc_alg[TCP_CA_NAME_MAX]

Set congestion control algorithm ALG on test socket (option -O).

Definition at line 236 of file common.h.

◆ cork

int flow_settings::cork

Sets SO_DEBUG on test socket (option -O).

Definition at line 232 of file common.h.

◆ delay

double flow_settings::delay[2]

Delay of flow in seconds (option -Y).

Definition at line 188 of file common.h.

◆ dscp

int flow_settings::dscp

DSCP value for TOS byte (option -D).

Definition at line 244 of file common.h.

◆ duration

double flow_settings::duration[2]

Duration of flow in seconds (option -T).

Definition at line 190 of file common.h.

◆ elcn

int flow_settings::elcn

Set TCP_ELCN (20) on test socket (option -O).

Definition at line 238 of file common.h.

◆ extra_socket_options

◆ flow_control

int flow_settings::flow_control

Stop flow if it is experiencing local congestion (option -C).

Definition at line 226 of file common.h.

◆ flow_id

int flow_settings::flow_id

Flow ID maintained by controller.

Definition at line 186 of file common.h.

◆ interpacket_gap_trafgen_options

struct trafgen_options flow_settings::interpacket_gap_trafgen_options

Stochastic traffic generation settings for the interpacket gap.

Definition at line 253 of file common.h.

◆ ipmtudiscover

int flow_settings::ipmtudiscover

Set IP_MTU_DISCOVER on test socket (option -O).

Definition at line 246 of file common.h.

◆ lcd

int flow_settings::lcd

Set TCP_LCD (21) on test socket (option -O).

Definition at line 240 of file common.h.

◆ maximum_block_size

int flow_settings::maximum_block_size

Application buffer size in bytes (option -U).

Definition at line 201 of file common.h.

◆ mtcp

int flow_settings::mtcp

Set TCP_MTCP (15) on test socket (option -O).

Definition at line 242 of file common.h.

◆ nonagle

int flow_settings::nonagle

Disable nagle algorithm on test socket (option -O).

Definition at line 234 of file common.h.

◆ num_extra_socket_options

int flow_settings::num_extra_socket_options

Definition at line 262 of file common.h.

◆ pushy

int flow_settings::pushy

Do not iterate through select() to continue sending in case block size did not suffice to fill sending queue (pushy) (option -P).

Definition at line 213 of file common.h.

◆ random_seed

unsigned flow_settings::random_seed

Random seed to use (default: read /dev/urandom) (option -J).

Definition at line 223 of file common.h.

◆ reporting_interval

double flow_settings::reporting_interval

Interval to report flow on screen (option -i).

Definition at line 193 of file common.h.

◆ request_trafgen_options

struct trafgen_options flow_settings::request_trafgen_options

Stochastic traffic generation settings for the request size.

Definition at line 249 of file common.h.

◆ requested_read_buffer_size

int flow_settings::requested_read_buffer_size

Request receiver buffer, advertised window in bytes (option -W).

Definition at line 198 of file common.h.

◆ requested_send_buffer_size

int flow_settings::requested_send_buffer_size

Request sender buffer in bytes (option -B).

Definition at line 196 of file common.h.

◆ response_trafgen_options

struct trafgen_options flow_settings::response_trafgen_options

Stochastic traffic generation settings for the response size.

Definition at line 251 of file common.h.

◆ route_record

int flow_settings::route_record

Sets ROUTE_RECORD on test socket (option -O).

Definition at line 208 of file common.h.

◆ shutdown

int flow_settings::shutdown

Shutdown socket after test flow (option -N).

Definition at line 215 of file common.h.

◆ so_debug

int flow_settings::so_debug

Sets SO_DEBUG on test socket (option -O).

Definition at line 206 of file common.h.

◆ traffic_dump

int flow_settings::traffic_dump

Dump traffic using libpcap (option -M).

Definition at line 204 of file common.h.

◆ write_rate

int flow_settings::write_rate

The actual rate we should send.

Definition at line 220 of file common.h.

◆ write_rate_str

const char* flow_settings::write_rate_str

Send at specified rate per second (option -R).

Definition at line 218 of file common.h.


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