dummynet.4 (50476) | dummynet.4 (57676) |
---|---|
1.\" | 1.\" |
2.\" $FreeBSD: head/share/man/man4/dummynet.4 50476 1999-08-28 00:22:10Z peter $ | 2.\" $FreeBSD: head/share/man/man4/dummynet.4 57676 2000-03-01 14:50:24Z sheldonh $ |
3.\" 4.Dd Sep 28, 1998 5.Dt DUMMYNET 4 6.Os 7.Sh NAME 8.Nm dummynet 9.Nd Flexible bandwidth manager and delay emulator 10.Sh SYNOPSIS --- 14 unchanged lines hidden (view full) --- 25program, by means of 26.Nm ``pipe'' 27rules. 28A dummynet 29.Nm pipe 30is characterized by a bandwidth, delay, queue size, and loss 31rate, which can be configured with the 32.Nm ipfw | 3.\" 4.Dd Sep 28, 1998 5.Dt DUMMYNET 4 6.Os 7.Sh NAME 8.Nm dummynet 9.Nd Flexible bandwidth manager and delay emulator 10.Sh SYNOPSIS --- 14 unchanged lines hidden (view full) --- 25program, by means of 26.Nm ``pipe'' 27rules. 28A dummynet 29.Nm pipe 30is characterized by a bandwidth, delay, queue size, and loss 31rate, which can be configured with the 32.Nm ipfw |
33program. Pipes are | 33program. 34Pipes are |
34numbered from 1 to 65534, and packets can be passed through multiple 35pipes depending on the ipfw configuration. 36.Pp 37Dummynet operates at the ip level, but if bridging extensions are 38enabled, it is possible to pass bridged packets through pipes as well. 39.Sh USAGE 40Packets are sent to a pipe using the command 41.Bd -literal --- 38 unchanged lines hidden (view full) --- 80The 81.Nm ipfw 82code is used to select packets that must be subject to 83bandwidth/queue/delay/losses, and returns the identifier of 84the ``pipe'' describing such limitations. 85.Pp 86Selected packets are first queued in a bounded size queue, from which 87they are extracted at the programmed rate and passed to a second queue | 35numbered from 1 to 65534, and packets can be passed through multiple 36pipes depending on the ipfw configuration. 37.Pp 38Dummynet operates at the ip level, but if bridging extensions are 39enabled, it is possible to pass bridged packets through pipes as well. 40.Sh USAGE 41Packets are sent to a pipe using the command 42.Bd -literal --- 38 unchanged lines hidden (view full) --- 81The 82.Nm ipfw 83code is used to select packets that must be subject to 84bandwidth/queue/delay/losses, and returns the identifier of 85the ``pipe'' describing such limitations. 86.Pp 87Selected packets are first queued in a bounded size queue, from which 88they are extracted at the programmed rate and passed to a second queue |
88where delay is simulated. At the output from the second queue packets | 89where delay is simulated. 90At the output from the second queue packets |
89are reinjected into the protocol stack at the same point they came 90from (i.e. ip_input(), ip_output(), bdg_forward() ). 91Depending on the setting of the sysctl variable 92 sys.net.inet.ipfw.one_pass 93Packets coming from a pipe can be either forwarded to their 94destination, or passed again through the 95.Nm ipfw 96rules, starting from the one after the matching rule. 97.Pp 98.Nm dummynet | 91are reinjected into the protocol stack at the same point they came 92from (i.e. ip_input(), ip_output(), bdg_forward() ). 93Depending on the setting of the sysctl variable 94 sys.net.inet.ipfw.one_pass 95Packets coming from a pipe can be either forwarded to their 96destination, or passed again through the 97.Nm ipfw 98rules, starting from the one after the matching rule. 99.Pp 100.Nm dummynet |
99performs its task once per timer tick. The granularity of operation is | 101performs its task once per timer tick. 102The granularity of operation is |
100thus controlled by the kernel option 101.Bd -literal 102 options HZ 103.Ed 104 105whose default value (100) means a granularity of 10ms. 106For an accurate simulation of high data rates it might be necessary to | 103thus controlled by the kernel option 104.Bd -literal 105 options HZ 106.Ed 107 108whose default value (100) means a granularity of 10ms. 109For an accurate simulation of high data rates it might be necessary to |
107reduce the timer granularity to 1ms or less. Consider, however, | 110reduce the timer granularity to 1ms or less. 111Consider, however, |
108that some interfaces using programmed I/O may require a considerable | 112that some interfaces using programmed I/O may require a considerable |
109time to output packets. So, reducing the granularity too much might | 113time to output packets. 114So, reducing the granularity too much might |
110actually cause ticks to be missed thus reducing the accuracy of 111operation. 112 113.Sh KERNEL OPTIONS 114The following options in the kernel configuration file are related 115to 116.Nm dummynet 117operation: --- 54 unchanged lines hidden (view full) --- 172.Sh BUGS 173This manpage is not illustrating all the possible ways to use 174dummynet. 175.Sh HISTORY 176.Nm 177dummynet 178was initially implemented as a testing tool for TCP congestion control 179by Luigi Rizzo <luigi@iet.unipi.it>, as described on ACM Computer | 115actually cause ticks to be missed thus reducing the accuracy of 116operation. 117 118.Sh KERNEL OPTIONS 119The following options in the kernel configuration file are related 120to 121.Nm dummynet 122operation: --- 54 unchanged lines hidden (view full) --- 177.Sh BUGS 178This manpage is not illustrating all the possible ways to use 179dummynet. 180.Sh HISTORY 181.Nm 182dummynet 183was initially implemented as a testing tool for TCP congestion control 184by Luigi Rizzo <luigi@iet.unipi.it>, as described on ACM Computer |
180Communication Review, Jan.97 issue. Later it has been then modified | 185Communication Review, Jan.97 issue. 186Later it has been then modified |
181to work at the ip and bridging level, and integrated with the IPFW 182packet filter. | 187to work at the ip and bridging level, and integrated with the IPFW 188packet filter. |