1[ 2 { 3 "id": "cb28", 4 "name": "Create NETEM with default setting", 5 "category": [ 6 "qdisc", 7 "netem" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 ], 14 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem", 15 "expExitCode": "0", 16 "verifyCmd": "$TC qdisc show dev $DUMMY", 17 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ limit", 18 "matchCount": "1", 19 "teardown": [ 20 "$TC qdisc del dev $DUMMY handle 1: root" 21 ] 22 }, 23 { 24 "id": "a089", 25 "name": "Create NETEM with limit flag", 26 "category": [ 27 "qdisc", 28 "netem" 29 ], 30 "plugins": { 31 "requires": "nsPlugin" 32 }, 33 "setup": [ 34 ], 35 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem limit 200", 36 "expExitCode": "0", 37 "verifyCmd": "$TC qdisc show dev $DUMMY", 38 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ limit 200", 39 "matchCount": "1", 40 "teardown": [ 41 "$TC qdisc del dev $DUMMY handle 1: root" 42 ] 43 }, 44 { 45 "id": "3449", 46 "name": "Create NETEM with delay time", 47 "category": [ 48 "qdisc", 49 "netem" 50 ], 51 "plugins": { 52 "requires": "nsPlugin" 53 }, 54 "setup": [ 55 ], 56 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms", 57 "expExitCode": "0", 58 "verifyCmd": "$TC qdisc show dev $DUMMY", 59 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms", 60 "matchCount": "1", 61 "teardown": [ 62 "$TC qdisc del dev $DUMMY handle 1: root" 63 ] 64 }, 65 { 66 "id": "3782", 67 "name": "Create NETEM with distribution and corrupt flag", 68 "category": [ 69 "qdisc", 70 "netem" 71 ], 72 "plugins": { 73 "requires": "nsPlugin" 74 }, 75 "setup": [ 76 ], 77 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal corrupt 1%", 78 "expExitCode": "0", 79 "verifyCmd": "$TC qdisc show dev $DUMMY", 80 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms corrupt 1%", 81 "matchCount": "1", 82 "teardown": [ 83 "$TC qdisc del dev $DUMMY handle 1: root" 84 ] 85 }, 86 { 87 "id": "2b82", 88 "name": "Create NETEM with distribution and duplicate flag", 89 "category": [ 90 "qdisc", 91 "netem" 92 ], 93 "plugins": { 94 "requires": "nsPlugin" 95 }, 96 "setup": [ 97 ], 98 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal duplicate 1%", 99 "expExitCode": "0", 100 "verifyCmd": "$TC qdisc show dev $DUMMY", 101 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms duplicate 1%", 102 "matchCount": "1", 103 "teardown": [ 104 "$TC qdisc del dev $DUMMY handle 1: root" 105 ] 106 }, 107 { 108 "id": "a932", 109 "name": "Create NETEM with distribution and loss flag", 110 "category": [ 111 "qdisc", 112 "netem" 113 ], 114 "plugins": { 115 "requires": "nsPlugin" 116 }, 117 "setup": [ 118 ], 119 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution pareto loss 1%", 120 "expExitCode": "0", 121 "verifyCmd": "$TC qdisc show dev $DUMMY", 122 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms loss 1%", 123 "matchCount": "1", 124 "teardown": [ 125 "$TC qdisc del dev $DUMMY handle 1: root" 126 ] 127 }, 128 { 129 "id": "e01a", 130 "name": "Create NETEM with distribution and loss state flag", 131 "category": [ 132 "qdisc", 133 "netem" 134 ], 135 "plugins": { 136 "requires": "nsPlugin" 137 }, 138 "setup": [ 139 ], 140 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution paretonormal loss state 1", 141 "expExitCode": "0", 142 "verifyCmd": "$TC qdisc show dev $DUMMY", 143 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms loss state p13 1% p31 99% p32 0% p23 100% p14 0%", 144 "matchCount": "1", 145 "teardown": [ 146 "$TC qdisc del dev $DUMMY handle 1: root" 147 ] 148 }, 149 { 150 "id": "ba29", 151 "name": "Create NETEM with loss gemodel flag", 152 "category": [ 153 "qdisc", 154 "netem" 155 ], 156 "plugins": { 157 "requires": "nsPlugin" 158 }, 159 "setup": [ 160 ], 161 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem loss gemodel 1%", 162 "expExitCode": "0", 163 "verifyCmd": "$TC qdisc show dev $DUMMY", 164 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*loss gemodel p 1%", 165 "matchCount": "1", 166 "teardown": [ 167 "$TC qdisc del dev $DUMMY handle 1: root" 168 ] 169 }, 170 { 171 "id": "0492", 172 "name": "Create NETEM with reorder flag", 173 "category": [ 174 "qdisc", 175 "netem" 176 ], 177 "plugins": { 178 "requires": "nsPlugin" 179 }, 180 "setup": [ 181 ], 182 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms reorder 2% gap 100", 183 "expExitCode": "0", 184 "verifyCmd": "$TC qdisc show dev $DUMMY", 185 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*reorder 2%", 186 "matchCount": "1", 187 "teardown": [ 188 "$TC qdisc del dev $DUMMY handle 1: root" 189 ] 190 }, 191 { 192 "id": "7862", 193 "name": "Create NETEM with rate limit", 194 "category": [ 195 "qdisc", 196 "netem" 197 ], 198 "plugins": { 199 "requires": "nsPlugin" 200 }, 201 "setup": [ 202 ], 203 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem rate 20000", 204 "expExitCode": "0", 205 "verifyCmd": "$TC qdisc show dev $DUMMY", 206 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*rate 20Kbit", 207 "matchCount": "1", 208 "teardown": [ 209 "$TC qdisc del dev $DUMMY handle 1: root" 210 ] 211 }, 212 { 213 "id": "7235", 214 "name": "Create NETEM with multiple slot rate", 215 "category": [ 216 "qdisc", 217 "netem" 218 ], 219 "plugins": { 220 "requires": "nsPlugin" 221 }, 222 "setup": [ 223 ], 224 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem slot 10 200 packets 2000 bytes 9000", 225 "expExitCode": "0", 226 "verifyCmd": "$TC qdisc show dev $DUMMY", 227 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*slot 10ns 200ns packets 2000 bytes 9000", 228 "matchCount": "1", 229 "teardown": [ 230 "$TC qdisc del dev $DUMMY handle 1: root" 231 ] 232 }, 233 { 234 "id": "5439", 235 "name": "Create NETEM with multiple slot setting", 236 "category": [ 237 "qdisc", 238 "netem" 239 ], 240 "plugins": { 241 "requires": "nsPlugin" 242 }, 243 "setup": [ 244 ], 245 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem slot distribution pareto 1ms 0.1ms", 246 "expExitCode": "0", 247 "verifyCmd": "$TC qdisc show dev $DUMMY", 248 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*slot distribution 1ms 100us", 249 "matchCount": "1", 250 "teardown": [ 251 "$TC qdisc del dev $DUMMY handle 1: root" 252 ] 253 }, 254 { 255 "id": "5029", 256 "name": "Change NETEM with loss state", 257 "category": [ 258 "qdisc", 259 "netem" 260 ], 261 "plugins": { 262 "requires": "nsPlugin" 263 }, 264 "setup": [ 265 "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 1%" 266 ], 267 "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 2%", 268 "expExitCode": "0", 269 "verifyCmd": "$TC qdisc show dev $DUMMY", 270 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*loss 2%", 271 "matchCount": "1", 272 "teardown": [ 273 "$TC qdisc del dev $DUMMY handle 1: root" 274 ] 275 }, 276 { 277 "id": "3785", 278 "name": "Replace NETEM with delay time", 279 "category": [ 280 "qdisc", 281 "netem" 282 ], 283 "plugins": { 284 "requires": "nsPlugin" 285 }, 286 "setup": [ 287 "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 1%" 288 ], 289 "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root netem delay 200ms 10ms", 290 "expExitCode": "0", 291 "verifyCmd": "$TC qdisc show dev $DUMMY", 292 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 200ms 10ms", 293 "matchCount": "1", 294 "teardown": [ 295 "$TC qdisc del dev $DUMMY handle 1: root" 296 ] 297 }, 298 { 299 "id": "4502", 300 "name": "Delete NETEM with handle", 301 "category": [ 302 "qdisc", 303 "netem" 304 ], 305 "plugins": { 306 "requires": "nsPlugin" 307 }, 308 "setup": [ 309 "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal" 310 ], 311 "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 312 "expExitCode": "0", 313 "verifyCmd": "$TC qdisc show dev $DUMMY", 314 "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms 10ms", 315 "matchCount": "0", 316 "teardown": [ 317 ] 318 }, 319 { 320 "id": "0785", 321 "name": "Show NETEM class", 322 "category": [ 323 "qdisc", 324 "netem" 325 ], 326 "plugins": { 327 "requires": "nsPlugin" 328 }, 329 "setup": [ 330 ], 331 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem", 332 "expExitCode": "0", 333 "verifyCmd": "$TC class show dev $DUMMY", 334 "matchPattern": "class netem 1:", 335 "matchCount": "0", 336 "teardown": [ 337 "$TC qdisc del dev $DUMMY handle 1: root" 338 ] 339 } 340] 341