xref: /freebsd/share/man/man4/dummynet.4 (revision 6e1fc0118033f42b7c0d3623c8f67a89ebecabb2)
12296e7a8SLuigi Rizzo.\"
2cc1ce085SKristof Provost.Dd September 10, 2021
32296e7a8SLuigi Rizzo.Dt DUMMYNET 4
42296e7a8SLuigi Rizzo.Os
52296e7a8SLuigi Rizzo.Sh NAME
62296e7a8SLuigi Rizzo.Nm dummynet
79a96729cSLuigi Rizzo.Nd traffic shaper, bandwidth manager and delay emulator
82296e7a8SLuigi Rizzo.Sh DESCRIPTION
9d962d52aSRuslan ErmilovThe
10d962d52aSRuslan Ermilov.Nm
11d962d52aSRuslan Ermilovsystem facility permits the control of traffic
122296e7a8SLuigi Rizzogoing through the various network interfaces, by applying bandwidth
139a96729cSLuigi Rizzoand queue size limitations, implementing different scheduling and queue
149a96729cSLuigi Rizzomanagement policies, and emulating delays and losses.
152296e7a8SLuigi Rizzo.Pp
169a96729cSLuigi RizzoThe user interface for
174b66483fSRuslan Ermilov.Nm
18d962d52aSRuslan Ermilovis implemented by the
19cc1ce085SKristof Provost.Xr dnctl 8
20d962d52aSRuslan Ermilovutility, so please refer to the
21cc1ce085SKristof Provost.Xr dnctl 8
22d962d52aSRuslan Ermilovmanpage for a complete description of the
23d962d52aSRuslan Ermilov.Nm
24d962d52aSRuslan Ermilovcapabilities and how to use it.
25d962d52aSRuslan Ermilov.Ss Kernel Options
269a96729cSLuigi RizzoThe following options in the kernel configuration file are related to
274b66483fSRuslan Ermilov.Nm
282296e7a8SLuigi Rizzooperation:
29d962d52aSRuslan Ermilov.Pp
30d962d52aSRuslan Ermilov.Bl -tag -width ".Dv IPFIREWALL_VERBOSE_LIMIT" -offset indent -compact
31d962d52aSRuslan Ermilov.It Dv IPFIREWALL
32c8607bf4SKristof Provostenable ipfirewall (if
33c8607bf4SKristof Provost.Nm
34c8607bf4SKristof Provostis to be used with ipfw)
35d962d52aSRuslan Ermilov.It Dv IPFIREWALL_VERBOSE
36d962d52aSRuslan Ermilovenable firewall output
37d962d52aSRuslan Ermilov.It Dv IPFIREWALL_VERBOSE_LIMIT
38d962d52aSRuslan Ermilovlimit firewall output
39d962d52aSRuslan Ermilov.It Dv DUMMYNET
40d962d52aSRuslan Ermilovenable
41d962d52aSRuslan Ermilov.Nm
42d962d52aSRuslan Ermilovoperation
43d962d52aSRuslan Ermilov.It Dv HZ
44d962d52aSRuslan Ermilovset the timer granularity
45d962d52aSRuslan Ermilov.El
462296e7a8SLuigi Rizzo.Pp
472296e7a8SLuigi RizzoGenerally, the following options are required:
48d962d52aSRuslan Ermilov.Bd -literal -offset indent
492296e7a8SLuigi Rizzooptions IPFIREWALL
502296e7a8SLuigi Rizzooptions DUMMYNET
519a96729cSLuigi Rizzooptions HZ=1000		# strongly recommended
522296e7a8SLuigi Rizzo.Ed
533136363fSRuslan Ermilov.Pp
54d962d52aSRuslan ErmilovAdditionally, one may want to increase the number
552296e7a8SLuigi Rizzoof mbuf clusters (used to store network packets) according to the
562296e7a8SLuigi Rizzosum of the bandwidth-delay products and queue sizes of all configured
572296e7a8SLuigi Rizzopipes.
582296e7a8SLuigi Rizzo.Sh SEE ALSO
592296e7a8SLuigi Rizzo.Xr setsockopt 2 ,
60c8b01292SAndrew Thompson.Xr if_bridge 4 ,
612296e7a8SLuigi Rizzo.Xr ip 4 ,
62c8607bf4SKristof Provost.Xr pf.conf 5 ,
63*6e1fc011SGraham Percival.Xr dnctl 8 ,
64*6e1fc011SGraham Percival.Xr ipfw 8 ,
656fe89339SBen Smithurst.Xr sysctl 8
662296e7a8SLuigi Rizzo.Sh HISTORY
67d962d52aSRuslan ErmilovThe
682296e7a8SLuigi Rizzo.Nm
69d962d52aSRuslan Ermilovfacility
70d962d52aSRuslan Ermilovwas initially implemented as a testing tool for
71d962d52aSRuslan Ermilov.Tn TCP
72d962d52aSRuslan Ermilovcongestion control by
736c899950SBaptiste Daroussin.An Luigi Rizzo Aq Mt luigi@iet.unipi.it ,
749a96729cSLuigi Rizzoas described on ACM Computer Communication Review, Jan.97 issue.
75d962d52aSRuslan ErmilovLater it has been modified to work at the
76d962d52aSRuslan Ermilov.Tn IP
77d962d52aSRuslan Ermilovand bridging levels, integrated with the
78d962d52aSRuslan Ermilov.Xr ipfw 4
79d962d52aSRuslan Ermilovpacket filter, and extended to
809a96729cSLuigi Rizzosupport multiple queueing and scheduling policies.
81