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
ipfw(8) utility, so please refer to the
ipfw(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 (required for
dummynet)
IPFIREWALL_VERBOSE
- enable firewall output
IPFIREWALL_VERBOSE_LIMIT
- limit firewall output
DUMMYNET
- enable dummynet operation
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),
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.