Provided by: bwctl-server_1.5.4+dfsg1-1build1_amd64 bug

NAME

       bwctlrc - Bandwidth Control configuration file

DESCRIPTION

       The  bwctlrc  file is a configuration file for the bwctl(8) program.  If a test is requested using bwctl,
       and there is not a local bwctld(8) running, bwctl will spawn its own copy of bwctld.  This  configuration
       file is used to configure the basic operation of the automatically spawned server. For example, it can be
       used to configure whether to allow the local clock to be unsynchroznied, or where the  iperf  command  is
       located.

       This  file can be placed in ~/.bwctlrc, where it will be automatically read by bwctl when it spawns off a
       bwctld. If the file is put elsewhere, the BWCTLRC environmental variable can be set to the  path  to  the
       file and bwctl will read it.

       The format of this file is:

              •      Comment  lines  are  any line where the first non-whitespace character is '#'.  These lines
                     are counted for the purposes of returning line numbers in error messages but are  otherwise
                     ignored by the spawned bwctld.

              •      Lines  may  be  continued  using  the semi-standard '\' character followed immediately by a
                     newline character. This is the only valid place for the  '\'  character.  If  it  is  found
                     elsewhere, a syntax error is reported.

              •      Blank lines are treated as comment lines.

              •      All  other  lines  are  used  to set configuration options. The format of these lines is an
                     initial keyword followed by a variable list of arguments, separated by whitespace.

CONFIGURATION OPTIONS

       access_priority priority
              Syslog priority to log access messages.

              Default:
                     LOG_INFO

       allow_unsync
              Directs bwctld to continue accepting valid requests for throughput tests when the system clock  is
              not  synchronized.  bwctld  prefers  to  have  an  NTP synchronized system clock to ensure the two
              endpoints of the test are actually agreeing to the same scheduled time window for test  execution.
              This  option is used to bypass this requirement for systems that either do not have the NTP system
              calls, or prefer not to configure NTP.

              Note: if the difference between the system clocks on the two endpoints is too great, the  eventual
              throughput  test  will  fail  when  the  endpoints attempt to run the test at different times. The
              threshold for this difference is controlled using the sync_fuzz option.  (If you set allow_unsync,
              you should set sync_fuzz to a reasonable value for your system.)

              Default:
                     unset (set if the operating system does have the NTP system calls)

       auth_mode authmode
              Specify  the authentication modes the server is willing to use for communication. auth_mode should
              be set as a character string, with any or all of the characters "AEO". The modes are:

              A      [A]uthenticated. This mode encrypts the control connection.

              E      [E]ncrypted. This mode encrypts the control connection. If the  test  supports  encryption,
                     this  mode will additionally encrypt the test stream. (Encryption of the test stream is not
                     currently supported, so this mode is currently identical to authenticated.)

              O      [O]pen. No encryption of any kind is done.

              The server can specify all the modes with which it is willing to communicate. The most strict mode
              that both the server and the client are willing to use will be selected.

              Default:
                     "AEO"

       bottleneck_capacity bottleneckcapacity
              This value is used in the algorithm to dynamically set the TCP 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.  (This  option  only  really works when the local NIC is the bottleneck.) If this
              option is not specified, the dynamic window calculation requested by the -W option to bwctl is not
              done and the advisory value is used.

              Default:
                     unset

       control_timeout controltimeout
              Number  of  seconds  to  wait  for  protocol  messages  before  timing  out.  This value should be
              significantly larger than what typical users specify for the -I flag of bwctl or bwctl  will  have
              to open a new control connection for each new test it requests.

              Default:
                     7200 (Picked to be the same as the default for TCP keepalive)

       die_by dieby
              Number  of  seconds  to  wait for child processes to gracefully terminate before killing them with
              SIGKILL. This is in response to the master process receiving SIGTERM or SIGHUP.

              Default:
                     5

       disable_iperf
              Prevent bwctl from executing Iperf tests

              Default:
                     unset

       disable_iperf3
              Prevent bwctl from executing Iperf3 tests

              Default:
                     unset

       disable_nuttcp
              Prevent bwctl from executing Nuttcp tests

              Default:
                     unset

       disable_owamp
              Prevent bwctl from executing Owamp tests

              Default:
                     unset

       disable_ping
              Prevent bwctl from executing Ping tests

              Default:
                     unset

       disable_tracepath
              Prevent bwctl from executing Tracepath tests

              Default:
                     unset

       disable_traceroute
              Prevent bwctl from executing Traceroute tests

              Default:
                     unset

       facility facility
              Syslog facility to log messages.

              Default:
                     LOG_DAEMON

       group group
              Specifies the gid the bwctld process should run as. group can be specified  using  a  valid  group
              name on the system or by using -gid.  This option is only used if bwctld is started as root.

              Default:
                     unset

       iperf_cmd iperfcmd
              The  path  to  the Iperf command on the system. If the iperf_cmd does not contain a '/' character,
              then the PATH of the bwctld environment will be searched to find the Iperf executable.

              Default:
                     iperf

       iperf_port iperfport
              The port number(s) that Iperf receivers will use.  Currently, bwctld simply  cycles  through  this
              range  linearly.   iperf_port  can  be  specified  as  a single valid port number or as a range as
              low-high. The range must be specified as two valid port numbers with the '-' character  separating
              them.  Whitespace  is  not allowed within the iperf_port. For example, "5001-5004" would be valid,
              but "5001 - 5004" would be invalid.

              This value should be set to a range because it can take a few minutes for a port  to  become  free
              after  a  test  has run. If the port is not free when the next test starts, the test will fail. If
              set to a range, the daemon will cycle through them when starting tests, decreasing the chance that
              a  port  will  still  be  open  when  the test starts. For best results, ensure that this range is
              different from that of nuttcp_port and thrulay_port.

              Default:
                     unset

       iperf3_port iperf3port
              The port number(s) that Iperf3 receivers will use.  Currently, bwctld simply cycles  through  this
              range  linearly.   iperf3_port  can  be  specified  as a single valid port number or as a range as
              low-high. The range must be specified as two valid port numbers with the '-' character  separating
              them.  Whitespace  is not allowed within the iperf3_port. For example, "5001-5004" would be valid,
              but "5001 - 5004" would be invalid.

              This value should be set to a range because it can take a few minutes for a port  to  become  free
              after  a  test  has run. If the port is not free when the next test starts, the test will fail. If
              set to a range, the daemon will cycle through them when starting tests, decreasing the chance that
              a  port  will  still  be  open  when  the test starts. For best results, ensure that this range is
              different from that of nuttcp_port and thrulay_port.

              Default:
                     unset

       log_location
              Directs the bwctld process to report source code file  and  line  number  information  with  error
              messages.  This  is  a particularly useful option to set when sending in messages as part of a bug
              report.

              Default:
                     unset

       nuttcp_cmd nuttcpcmd
              The path to the Nuttcp command on the system. If the nuttcp_cmd does not contain a '/'  character,
              then the PATH of the bwctl environment will be searched to find the Nuttcp executable.

              Default:
                     nuttcp

       nuttcp_port nuttcpport
              The  port  number(s) that Nuttcp receivers will use.  Currently, bwctld simply cycles through this
              range linearly.  nuttcp_port can be specified as a single valid port  number  or  as  a  range  as
              low-high.  The range must be specified as two valid port numbers with the '-' character separating
              them. Whitespace is not allowed within the nuttcp_port. For example, "5001-5004" would  be  valid,
              but "5001 - 5004" would be invalid.

              This  value  should  be set to a range because it can take a few minutes for a port to become free
              after a test has run. If the port is not free when the next test starts, the test  will  fail.  If
              set to a range, the daemon will cycle through them when starting tests, decreasing the chance that
              a port will still be open when the test starts. For  best  results,  ensure  that  this  range  is
              different from that of iperf_port and thrulay_port.

              Default:
                     unset

       owamp_cmd owampcmd
              The  path  to the owping command on the system. If the owamp_cmd does not contain a '/' character,
              then the PATH of the bwctl environment will be searched to find the owping executable.

              Default:
                     owping

       owamp_server_cmd owampservercmd
              The path to the owampd command on the system. If the  owamp_server_cmd  does  not  contain  a  '/'
              character, then the PATH of the bwctl environment will be searched to find the owampd executable.

              Default:
                     owampd

       owamp_port owampport
              The  port  number(s)  that Owamp receivers will use.  Currently, bwctld simply cycles through this
              range linearly.  owamp_port must be specified as a range as low-high. The range must be  specified
              as two valid port numbers with the '-' character separating them. Whitespace is not allowed within
              the owamp_port. For example, "5001-5004" would be valid, but "5001 - 5004" would be invalid.

              This value must be set to a range because it is used for both the  Owamp  communication  and  test
              ports.

              Default:
                     unset

       peer_port 0 | lowport-highport
              Specify  the  port  range that will be used on the local host for peer connections to other bwctld
              servers. These connections are used to verify clock timing between the  servers  and  to  exchange
              test  results.  This  is a required part of the protocol used by BWCTL to run tests. However, this
              option allows system administrators to limit these connections to a  specific  port  range,  which
              should  allow  BWCTL  to work in a firewall environment. This option can be specified in two ways.
              First, as a 0, which would indicate  that  bwctld  should  allow  the  system  to  pick  the  port
              (ephemeral).  Second,  as a range.  lowport must be a smaller value than highport and both numbers
              must be valid port values. (16-bit unsigned integer values)

              Default:
                     0

       ping_cmd pingcmd
              The path to the ping command on the system. If the ping_cmd does not contain a '/' character, then
              the PATH of the bwctl environment will be searched to find the ping executable.

              Default:
                     ping

       ping6_cmd ping6cmd
              The  path  to  the ping6 command on the system. If the ping6_cmd does not contain a '/' character,
              then the PATH of the bwctl environment will be searched to find the ping6 executable.

              Default:
                     ping6

       post_hook /path/to/script
              Specifies a script to run after each bwctl session has finished. These hooks can be used  to  save
              the  results  into  a  database, track usage or any number of other tasks. You can specify as many
              hooks as you want by including multiple post_hook entries.

       priority priority
              Syslog priority to log error messages.

              Default:
                     LOG_ERR

       root_folly
              Disables the checks that disable bwctld if it is run with root permissions. There  are  legitimate
              reasons  to  run bwctld as root, but it is risky. Forcing this additional option will make it less
              likely root permissions are accidently used.

              Default:
                     unset

       src_node nodename:port
              Specify the address and port on which bwctld will listen for requests.  nodename can be  specified
              using  a  DNS  name  or using the textual representation of the address. It is possible to set the
              source address without setting the port by simply leaving off the ':' and port  specification.  If
              an  IPv6  address is specified, note that the accepted format contains nodename in square brackets
              as: [fe80::fe9f:62d8]. This ensures the port number is distinct from the address specification.

              Default:
                     nodename is wildcarded as any currently available address
                     port is 4823

       sync_fuzz syncfuzz
              This value is added to the NTP error estimates to increase the tolerance of bwctld  to  incomplete
              NTP  configurations, or if the NTP system calls are not available. If NTP is unavailable to bwctld
              it assumes the clock is accurate to within one second plus the value of sync_fuzz.  This option is
              specified  as  a  floating  point  number  in seconds. For example, to indicate that the system is
              synchronized within one second, you could specify this option as 1.0.

              Practically, this option is used to determine the size of the time window buffer before and  after
              each throughput test.

              Default:
                     0.0

       test_port testport
              The  port  number(s)  that receivers of all test types will use, unless otherwise set using one of
              the other port variables.  Currently, bwctld simply cycles through this range linearly.  test_port
              must  be  specified  as a range as low-high. The range must be specified as two valid port numbers
              with the '-' character separating them. Whitespace  is  not  allowed  within  the  test_port.  For
              example, "5001-5004" would be valid, but "5001 - 5004" would be invalid.

              This  value  must  be  set to a range because it is used for both the Owamp communication and test
              ports.

              Default:
                     5001-5900

       thrulay_port thrulayport
              The port number(s) that Thrulay receivers will use.  Currently, bwctld simply cycles through  this
              range  linearly.   thrulay_port  can  be  specified as a single valid port number or as a range as
              low-high. The range must be specified as two valid port numbers with the '-' character  separating
              them.  Whitespace is not allowed within the thrulay_port. For example, "5001-5004" would be valid,
              but "5001 - 5004" would be invalid.

              This value should be set to a range because it can take a few minutes for a port  to  become  free
              after  a  test  has run. If the port is not free when the next test starts, the test will fail. If
              set to a range, the daemon will cycle through them when starting tests, decreasing the chance that
              a  port  will  still  be  open  when  the test starts. For best results, ensure that this range is
              different from that of iperf_port and nuttcp_port.

              Default:
                     unset

       tracepath_cmd tracepathcmd
              The path to the tracepath command on the system. If the  tracepath_cmd  does  not  contain  a  '/'
              character,  then  the  PATH  of  the  bwctl  environment  will  be  searched to find the tracepath
              executable.

              Default:
                     tracepath

       tracepath6_cmd tracepath6cmd
              The path to the tracepath6 command on the system. If the tracepath6_cmd does  not  contain  a  '/'
              character,  then  the  PATH  of  the  bwctl  environment  will  be searched to find the tracepath6
              executable.

              Default:
                     tracepath6

       traceroute_cmd traceroutecmd
              The path to the traceroute command on the system. If the traceroute_cmd does  not  contain  a  '/'
              character,  then  the  PATH  of  the  bwctl  environment  will  be searched to find the traceroute
              executable.

              Default:
                     traceroute

       traceroute6_cmd traceroute6cmd
              The path to the traceroute6 command on the system. If the traceroute6_cmd does not contain  a  '/'
              character,  then  the  PATH  of  the  bwctl  environment  will be searched to find the traceroute6
              executable.

              Default:
                     traceroute6

       user user
              Specifies the uid the bwctld process should run as. user can be specified using a valid user  name
              on  the  system  or  by using -uid.  This option is only used if bwctld is started as root. If the
              given user has root permissions, the root_folly option must also be specified.

              Default:
                     unset

       var_dir vardir
              Directory path where the bwctld.pid file will be placed.

              Default:
                     Current directory

SEE ALSO

       bwctl(1), bwctld(8), bwctld.limits(5), bwctld.keys(5), and the  http://software.internet2.edu/bwctl/  web
       site.

       For details on Iperf3, see the https://github.com/esnet/iperf web site.

       For details on Iperf, see the http://sourceforge.net/projects/iperf web site.

       For details on Nuttcp, see the http://www.wcisd.hpc.mil/nuttcp/Nuttcp-HOWTO.html web site.

       For details on Owamp, see the http://software.internet2.edu/owamp web site.

ACKNOWLEDGMENTS

       This material is based in part on work supported by the National Science Foundation (NSF) under Grant No.
       ANI-0314723. Any opinions, findings, and conclusions or recommendations expressed in  this  material  are
       those of the author(s) and do not necessarily reflect the views of the NSF.

                              $Date: 2008-10-09 12:27:47 -0400 (Thu, 09 Oct 2008) $                   bwctlrc(5)