DUMMYNET(4)
π DUMMYNET π
okay so bestie, welcome to the dummynet page from the Kernel Interfaces Manual β yes we're in section 4, we're being β¨technicalβ¨ today.
πΈ NAME πΈ
dummynet β traffic shaper, bandwidth manager and delay emulator
β¨ DESCRIPTION β¨
So the dummynet system facility is literally the main character that lets you control traffic going through all the various network interfaces π
It does this by applying bandwidth and queue size limitations, implementing different scheduling and queue management policies, and emulating delays and losses. It's giving traffic cop, but make it fashion.
Now the user interface for dummynet is implemented by the ipfw(8) utility, so bestie please go read the ipfw(8) manpage for a complete description of the dummynet capabilities and how to use it. I'm not gatekeeping, I'm just saying that's where the full tea is π«
π§ Kernel Options π§
The following options in the kernel configuration file are related to dummynet operation:
IPFIREWALLβ enable ipfirewall (required fordummynet)IPFIREWALL_VERBOSEβ enable firewall outputIPFIREWALL_VERBOSE_LIMITβ limit firewall outputDUMMYNETβ enabledummynetoperationHZβ set the timer granularity
Generally, the following options are required:
options IPFIREWALL
options DUMMYNET
options HZ=1000 # strongly recommended
no cap, that HZ=1000 is strongly recommended, don't skip it π
Additionally, one may want to increase the number of mbuf clusters (used to store network packets) according to the sum of the bandwidth-delay products and queue sizes of all configured pipes. Yes queen, do the math πβ¨
π SEE ALSO π
π HISTORY π
The dummynet facility was initially implemented as a testing tool for TCP congestion control by Luigi Rizzo <luigi@iet.unipi.it>, as described on ACM Computer Communication Review, Jan.97 issue. Later it has been modified to work at the IP and bridging levels, integrated with the ipfw(4) packet filter, and extended to support multiple queueing and scheduling policies. Iconic behaviour honestly, we love a glow-up πβ
and that's the whole page bestie, mwah π this one's from the Debian edition, dated October 28, 2002 β yes it's vintage, yes it still slays, periodt π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms