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