xref: /freebsd/share/man/man4/dummynet.4 (revision 9a96729c64314fe64d4681d6c27cd84cfdd70592)
12296e7a8SLuigi Rizzo.\"
27f3dea24SPeter Wemm.\" $FreeBSD$
32296e7a8SLuigi Rizzo.\"
49a96729cSLuigi Rizzo.Dd October 28, 2002
52296e7a8SLuigi Rizzo.Dt DUMMYNET 4
62296e7a8SLuigi Rizzo.Os
72296e7a8SLuigi Rizzo.Sh NAME
82296e7a8SLuigi Rizzo.Nm dummynet
99a96729cSLuigi Rizzo.Nd traffic shaper, bandwidth manager and delay emulator
102296e7a8SLuigi Rizzo.Sh DESCRIPTION
119a96729cSLuigi Rizzo.Em dummynet
129a96729cSLuigi Rizzois a system facility that permits the control of traffic
132296e7a8SLuigi Rizzogoing through the various network interfaces, by applying bandwidth
149a96729cSLuigi Rizzoand queue size limitations, implementing different scheduling and queue
159a96729cSLuigi Rizzomanagement policies, and emulating delays and losses.
162296e7a8SLuigi Rizzo.Pp
179a96729cSLuigi RizzoThe user interface for
189a96729cSLuigi Rizzo.Em dummynet
199a96729cSLuigi Rizzois implemented by the
202296e7a8SLuigi Rizzo.Nm ipfw
219a96729cSLuigi Rizzoprogram, so the reader is referred to the
229a96729cSLuigi Rizzo.Xr ipfw 8
239a96729cSLuigi Rizzomanpage for a complete description of the capabilities of
244b66483fSRuslan Ermilov.Nm
259a96729cSLuigi Rizzoand on how to use it.
262296e7a8SLuigi Rizzo.Sh KERNEL OPTIONS
279a96729cSLuigi RizzoThe following options in the kernel configuration file are related to
284b66483fSRuslan Ermilov.Nm
292296e7a8SLuigi Rizzooperation:
302296e7a8SLuigi Rizzo.Bd -literal
312296e7a8SLuigi Rizzo  IPFIREWALL               - enable ipfirewall (required for dummynet).
322296e7a8SLuigi Rizzo  IPFIREWALL_VERBOSE       - enable firewall output.
332296e7a8SLuigi Rizzo  IPFIREWALL_VERBOSE_LIMIT - limit firewall output.
342296e7a8SLuigi Rizzo  DUMMYNET                 - enable dummynet operation.
3595d555deSDima Dorfman  NMBCLUSTERS              - set the amount of network packet buffers
362296e7a8SLuigi Rizzo  HZ                       - sets the timer granularity
372296e7a8SLuigi Rizzo.Ed
382296e7a8SLuigi Rizzo.Pp
392296e7a8SLuigi RizzoGenerally, the following options are required:
402296e7a8SLuigi Rizzo.Bd -literal
412296e7a8SLuigi Rizzo  options IPFIREWALL
422296e7a8SLuigi Rizzo  options DUMMYNET
439a96729cSLuigi Rizzo  options HZ=1000	# strongly recommended
442296e7a8SLuigi Rizzo.Ed
453136363fSRuslan Ermilov.Pp
462296e7a8SLuigi Rizzoadditionally, one may want to increase the number
472296e7a8SLuigi Rizzoof mbuf clusters (used to store network packets) according to the
482296e7a8SLuigi Rizzosum of the bandwidth-delay products and queue sizes of all configured
492296e7a8SLuigi Rizzopipes.
502296e7a8SLuigi Rizzo.Sh SEE ALSO
512296e7a8SLuigi Rizzo.Xr setsockopt 2 ,
524674ae32SDima Dorfman.Xr bridge 4 ,
532296e7a8SLuigi Rizzo.Xr ip 4 ,
542296e7a8SLuigi Rizzo.Xr ipfw 8 ,
556fe89339SBen Smithurst.Xr sysctl 8
562296e7a8SLuigi Rizzo.Sh HISTORY
572296e7a8SLuigi Rizzo.Nm
582296e7a8SLuigi Rizzowas initially implemented as a testing tool for TCP congestion control
5986907e17SMike Pritchardby
6086907e17SMike Pritchard.An Luigi Rizzo Aq luigi@iet.unipi.it ,
619a96729cSLuigi Rizzoas described on ACM Computer Communication Review, Jan.97 issue.
629a96729cSLuigi RizzoLater it has been then modified to work at the ip and bridging
639a96729cSLuigi Rizzolevel, integrated with the IPFW packet filter, and extended to
649a96729cSLuigi Rizzosupport multiple queueing and scheduling policies.
65