xref: /freebsd/share/man/man4/dummynet.4 (revision 81b22a98)
1.\"
2.\" $FreeBSD$
3.\"
4.Dd September 10, 2021
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 dnctl 8
22utility, so please refer to the
23.Xr dnctl 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 (if
35.Nm
36is to be used with ipfw)
37.It Dv IPFIREWALL_VERBOSE
38enable firewall output
39.It Dv IPFIREWALL_VERBOSE_LIMIT
40limit firewall output
41.It Dv DUMMYNET
42enable
43.Nm
44operation
45.It Dv HZ
46set the timer granularity
47.El
48.Pp
49Generally, the following options are required:
50.Bd -literal -offset indent
51options IPFIREWALL
52options DUMMYNET
53options HZ=1000		# strongly recommended
54.Ed
55.Pp
56Additionally, one may want to increase the number
57of mbuf clusters (used to store network packets) according to the
58sum of the bandwidth-delay products and queue sizes of all configured
59pipes.
60.Sh SEE ALSO
61.Xr setsockopt 2 ,
62.Xr if_bridge 4 ,
63.Xr ip 4 ,
64.Xr ipfw 8 ,
65.Xr dnctl 8 ,
66.Xr pf.conf 5 ,
67.Xr sysctl 8
68.Sh HISTORY
69The
70.Nm
71facility
72was initially implemented as a testing tool for
73.Tn TCP
74congestion control by
75.An Luigi Rizzo Aq Mt luigi@iet.unipi.it ,
76as described on ACM Computer Communication Review, Jan.97 issue.
77Later it has been modified to work at the
78.Tn IP
79and bridging levels, integrated with the
80.Xr ipfw 4
81packet filter, and extended to
82support multiple queueing and scheduling policies.
83