NAME
dummynet —
traffic shaper, bandwidth manager and
delay emulator
DESCRIPTION
The dummynet system facility permits the
control of traffic going through the various network interfaces, by applying
bandwidth and queue size limitations, implementing different scheduling and
queue management policies, and emulating delays and losses.
The user interface for dummynet is
implemented by the
dnctl(8) utility, so please refer to the
dnctl(8) manpage for a complete description of the
dummynet capabilities and how to use it.
Kernel Options
The following options in the kernel configuration file are related
to dummynet operation:
IPFIREWALL- enable ipfirewall (if
dummynetis to be used with ipfw) IPFIREWALL_VERBOSE- enable firewall output
IPFIREWALL_VERBOSE_LIMIT- limit firewall output
DUMMYNET- enable
dummynetoperation HZ- set the timer granularity
Generally, the following options are required:
options IPFIREWALL options DUMMYNET options HZ=1000 # strongly recommended
Additionally, one may want to increase the number of mbuf clusters (used to store network packets) according to the sum of the bandwidth-delay products and queue sizes of all configured pipes.
SEE ALSO
setsockopt(2), if_bridge(4), ip(4), pf.conf(5), dnctl(8), ipfw(8), sysctl(8)
HISTORY
The dummynet facility was initially
implemented as a testing tool for TCP congestion control by
Luigi Rizzo
<luigi@iet.unipi.it>,
as described on ACM Computer Communication Review, Jan.97 issue. Later it
has been modified to work at the IP and bridging levels, integrated with the
ipfw(4) packet filter, and extended to support multiple
queueing and scheduling policies.