xref: /freebsd/share/man/man4/dummynet.4 (revision f4b37ed0f8b307b1f3f0f630ca725d68f1dff30d)
1.\"
2.\" $FreeBSD$
3.\"
4.Dd October 28, 2002
5.Dt DUMMYNET 4
6.Os
7.Sh NAME
8.Nm dummynet
9.Nd traffic shaper, bandwidth manager and delay emulator
10.Sh DESCRIPTION
11The
12.Nm
13system facility permits the control of traffic
14going through the various network interfaces, by applying bandwidth
15and queue size limitations, implementing different scheduling and queue
16management policies, and emulating delays and losses.
17.Pp
18The user interface for
19.Nm
20is implemented by the
21.Xr ipfw 8
22utility, so please refer to the
23.Xr ipfw 8
24manpage for a complete description of the
25.Nm
26capabilities and how to use it.
27.Ss Kernel Options
28The following options in the kernel configuration file are related to
29.Nm
30operation:
31.Pp
32.Bl -tag -width ".Dv IPFIREWALL_VERBOSE_LIMIT" -offset indent -compact
33.It Dv IPFIREWALL
34enable ipfirewall (required for
35.Nm )
36.It Dv IPFIREWALL_VERBOSE
37enable firewall output
38.It Dv IPFIREWALL_VERBOSE_LIMIT
39limit firewall output
40.It Dv DUMMYNET
41enable
42.Nm
43operation
44.It Dv HZ
45set the timer granularity
46.El
47.Pp
48Generally, the following options are required:
49.Bd -literal -offset indent
50options IPFIREWALL
51options DUMMYNET
52options HZ=1000		# strongly recommended
53.Ed
54.Pp
55Additionally, one may want to increase the number
56of mbuf clusters (used to store network packets) according to the
57sum of the bandwidth-delay products and queue sizes of all configured
58pipes.
59.Sh SEE ALSO
60.Xr setsockopt 2 ,
61.Xr if_bridge 4 ,
62.Xr ip 4 ,
63.Xr ipfw 8 ,
64.Xr sysctl 8
65.Sh HISTORY
66The
67.Nm
68facility
69was initially implemented as a testing tool for
70.Tn TCP
71congestion control by
72.An Luigi Rizzo Aq Mt luigi@iet.unipi.it ,
73as described on ACM Computer Communication Review, Jan.97 issue.
74Later it has been modified to work at the
75.Tn IP
76and bridging levels, integrated with the
77.Xr ipfw 4
78packet filter, and extended to
79support multiple queueing and scheduling policies.
80