|Bandwidth Test Controller (BWCTL)|
bwctldSection: Maintenance Commands (8)
Updated: $Date: 2009-02-23 08:08:04 -0500 (Mon, 23 Feb 2009) $
Index Return to Main Contents
NAMEbwctld - Bandwidth Control server.
SYNOPSISbwctld [ -a auth_mode ] [ -c conf_dir ] [ -e facility ] [ -f ] [ -G group ] [ -h ] [ -R var_dir ] [ -S nodename:port ] [ -U user ] [ -Z ]
DESCRIPTIONbwctld is a server program designed to schedule and run Iperf, Thrulay or Nuttcp throughput tests. These tests can measure maximum TCP bandwidth, with various tunable options available, or, by doing a UDP test, he delay, jitter and datagram loss of a network.
Aside from actually running throughput tests, the main function of bwctld is to determine which tests are allowable based upon the policy restrictions configured by the system administrator.
bwctld was designed to be run as a stand-alone daemon process. It uses the classic accept/fork model of handling new requests.
- -a auth_mode
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]uthenticated. This mode encrypts the control connection.
- [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]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.
- -c conf_dir
Specify the directory that holds the bwctld configuration files.
- Current working directory.
- -e facility
Syslog facility to which messages are logged.
- Enables the bwctld daemon to 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.
- -G group
- Specify the gid for the bwctld process. group can be specified using a valid group name or by using -gid. This option is only used if bwctld is started as root.
- Print a help message.
- -R var_dir
Specify the directory to hold the bwctld.pid file.
- Current directory
- -S 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 simply by leaving off the ':' and port
specification. If an IPv6 address is specified, note that the accepted format
contains nodename in square brackets, such as: [fe80::fe9f:62d8]. This
ensures the port number is distinct from the address specification.
- nodename is wildcarded as any currently available address. port is 4823.
- -U user
- Specify the uid for the bwctld process. user can be specified using a valid user name or by using -uid. This option is only used if bwctld is started as root.
Run the master bwctld process in the foreground. In this mode, error
messages are printed to stderr as well as being sent to syslog. Also, normal
terminal controls are available. (i.e., <Cntr-C> will cause the daemon to
kill it's child processes and exit.) This is useful for debugging.
REQUIREMENTSThe bwctld daemon prefers a reasonably synchronized clock. It is scheduling tests and needs to be sure it has the same idea of when a test should take place as does the peer test system. Therefore, bwctld attempts to use NTP specific system calls to determine the accuracy of the local clock. If those system calls are unavailable, or the administrator has set the allow_unsync option in the bwctld.conf file, then bwctld will blindly accept tests assuming the clock is synchronized to within the sync_fuzz value that is also defined in the bwctld.conf file. If this assumption does not hold true, then the test will eventually fail. Unfortunately, because the time offset is not detected early, this test will have taken up a schedule slot.
SEE ALSOThere are more details on configuring the bwctld daemon in the bwctld.conf(5) manual page. Details on configuring the policy is in the bwctld.limits(5) and bwctld.keys(5) manual pages. Information on the client is in the bwctl(1) manual page. For more of an overview of the full functionality and architecture see the http://e2epi.internet2.edu/bwctl/ 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 Thrulay, see the http://e2epi.internet2.edu/thrulay/ web site.
ACKNOWLEDGMENTSThis 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.
This document was created by man2html, using the manual pages.
Time: 14:49:22 GMT, April 18, 2012