dummynet —
traffic shaper, bandwidth manager and delay
emulator
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
ipfw(8) utility, so please refer to the
ipfw(8) manpage for a complete description of the
dummynet capabilities and how to use it.
The following options in the kernel configuration file are related to
dummynet operation:
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.
setsockopt(2),
if_bridge(4),
ip(4),
ipfw(8),
sysctl(8)
The
dummynet facility was initially implemented as
a testing tool for TCP congestion control by
Luigi
Rizzo
<
[email protected]>,
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.