 |
Flowgrind
Advanced TCP traffic generator
|
Go to the documentation of this file.
47 #define MAX_COLUM_TOO_LARGE 5
50 #define MAX_REPORTS_IN_ROW 25
80 #ifndef HAVE_TCP_CA_STATE
enum column_id type
Unique column identifier.
char byte_counting
Enumerate bytes in payload instead of sending zeros (option -E).
@ COL_TCP_LOST
Metric from the Linux / BSD TCP stack.
bool mbyte
Report in MByte/s instead of MBit/s (option -m).
@ COL_BLOCK_REQU
Blocks per second.
@ MUTEX_CONTEXT_DESTINATION
Context for flow options on destination side.
@ MUTEX_CONTEXT_CONTROLLER
Context for controller options.
@ COL_IAT_AVG
Application level inter-arrival time.
char shutdown
shutdown() each socket direction after test flow (option (-N).
Intermediated interval report column.
bool log_to_stdout
Write output to screen (option -q).
struct flow_settings settings[2]
Flow specific options.
struct report * final_report[2]
Final report from the daemon.
@ COL_TCP_UACK
Metric from the Linux / BSD TCP stack.
const char * name
First header row: name of the column.
@ LOG_FILE_OPTION
Pseudo short option for option –log-file.
@ COL_STATUS
Read / write status.
@ COL_TCP_TRET
Metric from the Linux / BSD TCP stack.
@ COL_IAT_MAX
Application level inter-arrival time.
@ COL_RTT_MIN
Application level round-trip time.
@ COL_RTT_AVG
Application level round-trip time.
@ COL_TCP_RTTVAR
Metric from the Linux / BSD TCP stack.
@ COL_TCP_REOR
Metric from the Linux / BSD TCP stack.
@ COL_THROUGH
Throughput per seconds.
char test_address[1000]
network address where the actual test connection goes to.
@ NUM_COL
Number of elements in enum.
int receive_buffer_size_real
Receiver buffer (SO_RCVBUF).
char summarize_only
Summarize only, no intermediated interval reports (option -Q).
Infos about a flowgrind daemon.
struct rpc_info * rpc_info
Pointer to manage flow endpoint XMLRPC information.
int endpoint_id[2]
ID used internally by the deamon to distinguish its flows.
int api_version
Flowgrind API version supported by this daemon.
@ OPT_FLOW_ENDPOINT
Flow option with endpoint string.
@ COL_BLOCK_RESP
Blocks per second.
mutex_context_t
Mutual exclusion contexts for options.
char uuid[38]
UUID of the daemon.
struct column_state state
State of the column.
unsigned oversized
How often the current column width was too high.
@ COL_TCP_SSTH
Metric from the Linux / BSD TCP stack.
Infos about the flow endpoint.
@ OPT_SELECTOR
Selects a subset of flows to apply options to (-F).
@ COL_TCP_RETR
Metric from the Linux / BSD TCP stack.
char late_connect
Call connect() immediately before sending data (option -L).
@ COL_IAT_MIN
Application level inter-arrival time.
double reporting_interval
Length of reporting interval, in seconds (option -i).
option_t
Option types in flowgrind controller.
@ OPT_FLOW
Flow option without endpoint string.
os_t
Supported operating systems.
@ COL_SMSS
Metric from the Linux / BSD TCP stack.
@ COL_BEGIN
Report interval.
int send_buffer_size_real
Sending buffer (SO_SNDBUF).
protocol_t
Transport protocols.
struct timespec start_timestamp[2]
Timestamp set just before starting flow.
unsigned random_seed
Random seed for stochastic traffic generation (option -J).
Header of an intermediated interval report column.
@ MUTEX_CONTEXT_SOURCE
Context for flow options on source side.
char server_name[257]
Name of the XMLRPC server.
long_opt_only
For long options with no equivalent short option, use pseudo short option.
char os_release[257]
Release number of the OS.
@ COL_END
Report interval.
bool symbolic
Don't use symbolic values instead of number (option -p).
enum protocol_t proto
Used transport protocol.
unsigned short num_flows
Number of test flows (option -n).
@ OPT_CONTROLLER
General controller options.
State of an intermediated interval report column.
@ COL_TCP_BKOF
Metric from the Linux / BSD TCP stack.
Generic doubly linked list implementation.
@ PROTO_TCP
Transmission Control Protocol.
column_id
IDs to explicit address an intermediated interval report column.
unsigned short server_port
Port of the XMLRPC server.
char os_name[257]
OS on which this daemon runs.
Data structures used by the Flowgrind daemon and controller.
@ COL_PMTU
Metric from the Linux / BSD TCP stack.
@ COL_TCP_CA_STATE
Metric from the Linux / BSD TCP stack.
@ NUM_OSes
Number of elements in enum.
@ MUTEX_CONTEXT_TWO_SIDED
Context for flow options for both endpoints.
@ COL_TCP_SACK
Metric from the Linux / BSD TCP stack.
char server_url[1000]
XMLRPC URL for this daemon.
const char * unit
Second header row: unit of the column.
Infos about the flow including flow options.
size_t last_width
Last width of the column.
Infos about a flowgrind daemon and daemon-controller connection.
@ COL_DLY_AVG
Application level one-way delay.
char * url
Pointer to daemon XMLPRC URL.
@ COL_RTT_MAX
Application level round-trip time.
char finished[2]
Flag if final report for the flow is received.
@ COL_DLY_MIN
Application level one-way delay.
@ PROTO_UDP
User Datagram Protocol.
@ COL_TCP_RTO
Metric from the Linux / BSD TCP stack.
@ COL_DLY_MAX
Application level one-way delay.
const char * dump_prefix
Prefix for dumpfile (option -e).
tcp_stack_t
Unit of the TCP Stack.
bool clobber
Overwrite existing log files (option -o).
@ BYTE_BASED
FreeBSD and OS X stack is a bytes-based stack.
@ COL_TCP_FACK
Metric from the Linux / BSD TCP stack.
bool visible
Dynamically turn an column on/off.
bool log_to_file
Write output to logfile (option -w).
@ COL_TCP_CWND
Metric from the Linux / BSD TCP stack.
enum tcp_stack_t force_unit
Force kernel output to specific unit (option -s).
@ COL_TCP_RTT
Metric from the Linux / BSD TCP stack.
struct column_header header
Column header (name and unit).
struct flow_endpoint endpoint[2]
Infos about flow endpoint.
@ SEGMENT_BASED
Linux is a segment-based stack.
@ COL_TRANSAC
Transactions per second.
struct daemon * daemon
Pointer to manage flow endpoint daemon.
Settings that describe a flow between from a endpoint's perspective.