#
#      $Id$
#
#########################################################################
#									#
#			   Copyright (C)  2003				#
#	     			Internet2				#
#			   All Rights Reserved				#
#									#
#########################################################################
#
#	File:		bwctld.conf
#
#	Author:		Jeff W. Boote
#			Internet2
#
#	Date:		Tue Sep  9 16:28:53 MDT 2003
#
#	Description:	
#			Example bwctld.conf config file.



# peer_port (port to open peer "server" connection on.) If this daemon
# is running the iperf "receiver" then it will also open a peer tcp
# connection using these port numbers. This extra connection is used to
# validate clocks between the two bwctld processes and to exchange results.
# Must be specified as a valid range with the first value less than the
# second. (A single value is only allowed if it is '0'.)
# (defaults to 0 - let the system pick an ephemeral port)
peer_port 6001-6200

# test_port (ports to run the test tool "server" on.) This is set to a range
# since some tests can run in parallel, and need to be able to open servers on
# separate ports. The daemon will cycle through this range assigning each ports
# to each test, as needed.
# (defaults to 5001-5900)
test_port 5001-5900


# full path to iperf executable
# (defaults to "iperf" - assumes it will be found using PATH)
#iperf_cmd	iperf

# disable_iperf - disable the iperf command. Defaults to False.
#disable_iperf

# iperf_port (port to run iperf server "receiver" processes on)
# (defaults to 5001-5100)
#iperf_port 5001-5300

# full path to nuttcp executable
# (defaults to "nuttcp" - assumes it will be found using PATH)
#nuttcp_cmd	nuttcp

# disable_nuttcp - disable the nuttcp command. Defaults to False.
#disable_nuttcp

# nuttcp_port (port to run nuttcp server "receiver" processes on)
# (defaults to 5001-5100)
# nuttcp_port 5301-5600


# ping_cmd - full path to ping executable
# (defaults to "ping" - assumes it will be found using PATH)
#ping_cmd	ping

# ping6_cmd - full path to ping6 executable
# (defaults to "ping6" - assumes it will be found using PATH)
#ping6_cmd	ping6

# disable_ping - disable the ping command. Defaults to False.
#disable_ping



# traceroute_cmd - full path to traceroute executable
# (defaults to "traceroute" - assumes it will be found using PATH)
#traceroute_cmd	traceroute

# traceroute6_cmd - full path to traceroute6 executable
# (defaults to "traceroute6" - assumes it will be found using PATH)
#traceroute6_cmd	traceroute6

# disable_traceroute - disable the traceroute command. Defaults to False.
#disable_traceroute



# tracepath_cmd - full path to tracepath executable
# (defaults to "tracepath" - assumes it will be found using PATH)
#tracepath_cmd	tracepath

# tracepath6_cmd - full path to tracepath6 executable
# (defaults to "tracepath6" - assumes it will be found using PATH)
#tracepath6_cmd	tracepath6

# disable_tracepath - disable the tracepath command. Defaults to False.
#disable_tracepath



# full path to owping executable
# (defaults to "owping" - assumes it will be found using PATH)
#owamp_cmd	owping

# full path to owampd executable
# (defaults to "owampd" - assumes it will be found using PATH)
#owamp_server_cmd	owampd

# disable_owamp - disable the owamp tool. Defaults to False.
#disable_owamp

# owamp_port (port to run owampd server "receiver" processes on)
# (defaults to 4001-4100)
# owamp_port 5601-5900

# taskset_cmd - full path to the taskset executable
# (defaults to "taskset" - assumes it will be found using PATH)
#taskset_cmd     taskset

# test_cpu_affinity - The set of CPUs to use for throughput tests. Defaults to all CPUs.
#test_cpu_affinity  0,1-3

# iperf_cpu_affinity - The set of CPUs to use for iperf tests. Defaults to all CPUs.
#iperf_cpu_affinity  0,1-3

# nuttcp_cpu_affinity - The set of CPUs to use for nuttcp tests. Defaults to all CPUs.
#nuttcp_cpu_affinity  0,1-3

# iperf3_cpu_affinity - The set of CPUs to use for iperf3 tests. Defaults to all CPUs.
#iperf3_cpu_affinity  0,1-3

# run as group/user - only used if effective uid is root.
# (defaults to nil)
user		bwctl
group		bwctl

# root_folly needs to be set if the 'user' specified above has root
# permissions. This is an additional check to ensure bwctld is not
# run as root unless expressly intended.
# (You could uncomment this line... But are you really sure you
# want to do that?)
# (defaults to !root_folly)
#root_folly

# not really used, but what the heck.
# (defaults to !verbose)
#verbose

# where should syslog messages go?
# valid facilitynames from syslog
# (defaults to daemon)
#facility	local5

# what syslog "level" should be used for errors?
# valid prioritynames from syslog
# (defaults to error)
#priority    error

# what syslog "level" should be used for access messages?
# valid prioritynames from syslog
# (defaults to info)
#access_priority  info

# include src file:line in log messages
# keep this on, and help us with more specific bug reports!
# (defaults to !log_location)
log_location

# location for bwctld.pid and bwctld.info files
# (defaults to $cwd)
#var_dir		/var/run

# location for session files. (NOT USED YET)
# (defaults to $cwd)
#data_dir		/big/enough

# auth_mode - uncomment to make only Open.
# (defaults to OAE)
#auth_mode O

# allow_unsync - allow test requests to schedule even if the host is
# not syncronized, or the NTP system calls are not available.
# (defaults to False if NTP system calls unavailable,
# defaults to True if NTP system calls are available.)
#allow_unsync

# sync_fuzz - admin specified amount of time error (seconds). If NTP
# errors are suspect, set this to the amount of error you suspect.
#sync_fuzz 3

# src address/port defaults to wildcard addr and standard(not yet...) port.
# Can be specified as only a port number to still wildcard address and not
# use the semi-standard bwctl control port (':' must be the first non
# whitespace charactor in this case).
# Can specify the host without the port to use the default port.
#src_node localhost:8765
#src_node :8765

# die_by - amount of time to wait for child processes to gracefully terminate
# before killing them with a SIGKILL. (default is 5 seconds)
# This is in response to the master process receiving SIGTERM or SIGHUP.
# (defaults to 5)
#die_by 5

# control_timeout - amount of time (seconds) to wait for a protocol
# message.
# If you are using bwctl to run regular tests in a loop, make sure this timeout
# is significantly larger than the -I values you want to support or the
# daemon will close the control connection and cause bwctl to do extra work.
# (defaults to 7200) 2 hours - same as default for tcp keepalive
#control_timeout	7200

# bottleneck_capacity - this value is used in the algorithm to dynamically
# set the send/recv window sizes. This option is likely to be removed in
# the future once a dynamic bottleneck_capacity algorithm is incorporated into
# the code.
# (defaults to 0 - unused)
#bottleneck_capacity 1g

# posthook - a script to run after a session has completed
# There can be any number of posthook scripts. These scripts will be executed
# by the daemon when a session finishes. The script will be passed the test
# parameters, the receiver output and the sender output. An example script is
# included in the contrib directory that will send a message to syslog when the 
# session completes.
#posthook /path/to/script.pl
#posthook /path/to/other/script.pl
