]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/blob - man/man8/tc-netem.8
netem: fix man page
[lisovros/iproute2_canprio.git] / man / man8 / tc-netem.8
1 .TH NETEM 8 "25 November 2011" "iproute2" "Linux"
2 .SH NAME
3 NetEm \- Network Emulator
4 .SH SYNOPSIS
5 .B "tc qdisc ... dev" 
6 .IR dev " ] "
7 .BR "add netem" 
8 .I OPTIONS
9
10 .IR OPTIONS " := [ " LIMIT " ] [ " DELAY " ] [ " LOSS \
11 " ] [ " CORRUPT " ] [ " DUPLICATION " ] [ " REORDERING " ]"
12
13 .IR LIMIT " := "
14 .B limit
15 .I packets
16
17 .IR DELAY " := "
18 .BI delay 
19 .IR TIME " [ " JITTER " [ " CORRELATION " ]]]"
20 .br
21        [ 
22 .BR distribution " { "uniform " | " normal " | " pareto " |  " paretonormal " } ]"
23
24 .IR LOSS " := "
25 .BR loss " { "
26 .BI random 
27 .IR PERCENT " [ " CORRELATION " ]  |"
28 .br
29 .RB "               " state
30 .IR p13 " [ " p31 " [ " p32 " [ " p23 " [ " p14 "]]]] |"
31 .br
32 .RB "               " gemodel
33 .IR p " [ " r " [ " 1-h " [ " 1-k " ]]]"
34
35 .IR CORRUPT " := "
36 .B corrupt
37 .IR PERCENT " [ " CORRELATION " ]]"
38
39 .IR DUPLICATION " := "
40 .B duplicate
41 .IR PERCENT " [ " CORRELATION " ]]"
42
43 .IR REODERING " := "
44 .B reorder
45 .IR PERCENT " [ " CORRELATION " ] [ "
46 .B gap 
47 .IR DISTANCE " ]"
48
49 .SH DESCRIPTION
50 NetEm is an enhancement of the Linux traffic control facilities
51 that allow to add delay, packet loss, duplication and more other
52 characteristics to packets outgoing from a selected network
53 interface. NetEm is build using the existing Quality Of Service (QOS)
54 and Differentiated Services (diffserv) facilities in the Linux
55 kernel.
56
57 .SH netem OPTIONS
58 netem has the following options:
59
60 .SS limit packets
61
62 limits the effect of selected options to the indicated number of next packets.
63
64 .SS delay
65 adds the chosen delay to the packets outgoing to chosen network interface. The
66 optional parameters allows to introduce a delay variation and a correlation.
67 Delay and jitter values are expressed in ms while correlation is percentage.
68
69 .SS distribution
70 allow the choose the delay distribution. If not specified, the default
71 distribution is normal. Additional parameters allow to consider situations in
72 which network has variable delays depending on traffic flows concurring on the
73 same path, that causes severeal delay peaks and a tail.
74
75 .SS loss random
76 adds an independent loss probability to the packets outgoing from the chosen
77 network interface. It is also possibile to add a correlation, but this option
78 is now deprecated due to the noticed bad behaviour.
79
80 .SS loss state
81 adds packet losses according to the 4-state Markov using the transition
82 probabilities as input parameters. The parameters p13 is mandatory and if used
83 alone corresponds to the Bernoulli model. The optional parameters allows to
84 extend the model to 2-state (p31), 3-state (p23 and p32) and 4-state (p14).
85 State 1 corresponds to good reception, State 4 to independent losses, State 3
86 to burst losses and State 2 to good reception within a burst.
87
88 .SS loss gemodel
89 adds packet losses according to the Gilbert-Elliot loss model or its special
90 cases (Gilbert, Simple Gilbert and Bernoulli). To use the Bernoulli model, the
91 only needed parameter is p while the the others will be set to the default
92 values r=1-p, 1-h=1 and 1-k=0. The parameters needed for the Simple Gilbert
93 model are two (p and r), while three parameters (p, r, 1-h) are needed for the
94 Gilbert model and four (p, r, 1-h and 1-k) are needed for the Gilbert-Elliot
95 model. As known, p and r are the transition probabilities between the bad and
96 the good states, 1-h is the loss probability in the bad state and 1-k is the
97 loss probability in the good state.
98
99 .SS corrupt
100 allows the emulate the random noise introducing an error in a random position
101 for a chosen percent of packets. It is also possible to add a correlation
102 through the proper parameter.
103
104 .SS duplicate
105 using this option the chosen percent of packets is duplicated before queueing
106 them. It is also possible to add a correlation through the proper parameter.
107
108 .SS reorder
109 there are two ways to use this option:
110
111 .B "reorder gap"
112 .I 5 10
113 .br
114 in this first example every 5th (10th, 15th) packet is sent immediately while
115 other packets are delayed by 10 ms
116
117 .B reorder
118 .I 25% 50%
119 .br
120 in this second example 25% of packets are sent immediately (with correlation of
121 50%) while the other are delayed by 10 ms.
122
123 .SH LIMITATIONS
124 The main known limitation of Netem are related to timer granularity, since
125 Linux is not a real-time operating system.
126
127 .SH SOURCES
128 .IP " 1. " 4
129 Hemminger S. , "Network Emulation with NetEm", Open Source Development Lab,
130 April 2005
131 (http://devresources.linux-foundation.org/shemminger/netem/LCA2005_paper.pdf)
132
133 .IP " 2. " 4
134 Netem page from Linux foundation, (http://www.linuxfoundation.org/en/Net:Netem)
135
136 .IP " 3. " 4
137 Salsano S., Ludovici F., Ordine A., "Definition of a general and intuitive loss
138 model for packet networks and its implementation in the Netem module in the
139 Linux kernel", available at http://netgroup.uniroma2.it/NetemCLG
140
141 .SH SEE ALSO
142 .BR tc (8),
143 .BR tc-tbf (8)
144
145 .SH AUTHOR
146 Netem was written by Stephen Hemminger at Linux foundation and is based on NISTnet.
147 This manpage was created by Fabio Ludovici <fabio.ludovici at yahoo dot it> and
148 Hagen Paul Pfeifer <hagen@jauu.net>