1[ 2 { 3 "id": "983b", 4 "name": "Create FQ with default setting", 5 "category": [ 6 "qdisc", 7 "fq" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 "$IP link add dev $DUMMY type dummy || /bin/true" 14 ], 15 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq", 16 "expExitCode": "0", 17 "verifyCmd": "$TC qdisc show dev $DUMMY", 18 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit", 19 "matchCount": "1", 20 "teardown": [ 21 "$TC qdisc del dev $DUMMY handle 1: root", 22 "$IP link del dev $DUMMY type dummy" 23 ] 24 }, 25 { 26 "id": "38a1", 27 "name": "Create FQ with limit packet setting", 28 "category": [ 29 "qdisc", 30 "fq" 31 ], 32 "plugins": { 33 "requires": "nsPlugin" 34 }, 35 "setup": [ 36 "$IP link add dev $DUMMY type dummy || /bin/true" 37 ], 38 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq limit 3000", 39 "expExitCode": "0", 40 "verifyCmd": "$TC qdisc show dev $DUMMY", 41 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 3000p", 42 "matchCount": "1", 43 "teardown": [ 44 "$TC qdisc del dev $DUMMY handle 1: root", 45 "$IP link del dev $DUMMY type dummy" 46 ] 47 }, 48 { 49 "id": "0a18", 50 "name": "Create FQ with flow_limit setting", 51 "category": [ 52 "qdisc", 53 "fq" 54 ], 55 "plugins": { 56 "requires": "nsPlugin" 57 }, 58 "setup": [ 59 "$IP link add dev $DUMMY type dummy || /bin/true" 60 ], 61 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq flow_limit 300", 62 "expExitCode": "0", 63 "verifyCmd": "$TC qdisc show dev $DUMMY", 64 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 300p", 65 "matchCount": "1", 66 "teardown": [ 67 "$TC qdisc del dev $DUMMY handle 1: root", 68 "$IP link del dev $DUMMY type dummy" 69 ] 70 }, 71 { 72 "id": "2390", 73 "name": "Create FQ with quantum setting", 74 "category": [ 75 "qdisc", 76 "fq" 77 ], 78 "plugins": { 79 "requires": "nsPlugin" 80 }, 81 "setup": [ 82 "$IP link add dev $DUMMY type dummy || /bin/true" 83 ], 84 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq quantum 9000", 85 "expExitCode": "0", 86 "verifyCmd": "$TC qdisc show dev $DUMMY", 87 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*orphan_mask 1023 quantum 9000b", 88 "matchCount": "1", 89 "teardown": [ 90 "$TC qdisc del dev $DUMMY handle 1: root", 91 "$IP link del dev $DUMMY type dummy" 92 ] 93 }, 94 { 95 "id": "845b", 96 "name": "Create FQ with initial_quantum setting", 97 "category": [ 98 "qdisc", 99 "fq" 100 ], 101 "plugins": { 102 "requires": "nsPlugin" 103 }, 104 "setup": [ 105 "$IP link add dev $DUMMY type dummy || /bin/true" 106 ], 107 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq initial_quantum 900000", 108 "expExitCode": "0", 109 "verifyCmd": "$TC qdisc show dev $DUMMY", 110 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*initial_quantum 900000b", 111 "matchCount": "1", 112 "teardown": [ 113 "$TC qdisc del dev $DUMMY handle 1: root", 114 "$IP link del dev $DUMMY type dummy" 115 ] 116 }, 117 { 118 "id": "9398", 119 "name": "Create FQ with maxrate setting", 120 "category": [ 121 "qdisc", 122 "fq" 123 ], 124 "plugins": { 125 "requires": "nsPlugin" 126 }, 127 "setup": [ 128 "$IP link add dev $DUMMY type dummy || /bin/true" 129 ], 130 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq maxrate 100000", 131 "expExitCode": "0", 132 "verifyCmd": "$TC qdisc show dev $DUMMY", 133 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p buckets.*maxrate 100Kbit", 134 "matchCount": "1", 135 "teardown": [ 136 "$TC qdisc del dev $DUMMY handle 1: root", 137 "$IP link del dev $DUMMY type dummy" 138 ] 139 }, 140 { 141 "id": "342c", 142 "name": "Create FQ with nopacing setting", 143 "category": [ 144 "qdisc", 145 "fq" 146 ], 147 "plugins": { 148 "requires": "nsPlugin" 149 }, 150 "setup": [ 151 "$IP link add dev $DUMMY type dummy || /bin/true" 152 ], 153 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq nopacing", 154 "expExitCode": "0", 155 "verifyCmd": "$TC qdisc show dev $DUMMY", 156 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*nopacing", 157 "matchCount": "1", 158 "teardown": [ 159 "$TC qdisc del dev $DUMMY handle 1: root", 160 "$IP link del dev $DUMMY type dummy" 161 ] 162 }, 163 { 164 "id": "6391", 165 "name": "Create FQ with refill_delay setting", 166 "category": [ 167 "qdisc", 168 "fq" 169 ], 170 "plugins": { 171 "requires": "nsPlugin" 172 }, 173 "setup": [ 174 "$IP link add dev $DUMMY type dummy || /bin/true" 175 ], 176 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq refill_delay 100ms", 177 "expExitCode": "0", 178 "verifyCmd": "$TC qdisc show dev $DUMMY", 179 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*refill_delay 100ms", 180 "matchCount": "1", 181 "teardown": [ 182 "$TC qdisc del dev $DUMMY handle 1: root", 183 "$IP link del dev $DUMMY type dummy" 184 ] 185 }, 186 { 187 "id": "238b", 188 "name": "Create FQ with low_rate_threshold setting", 189 "category": [ 190 "qdisc", 191 "fq" 192 ], 193 "plugins": { 194 "requires": "nsPlugin" 195 }, 196 "setup": [ 197 "$IP link add dev $DUMMY type dummy || /bin/true" 198 ], 199 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq low_rate_threshold 10000", 200 "expExitCode": "0", 201 "verifyCmd": "$TC qdisc show dev $DUMMY", 202 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*low_rate_threshold 10Kbit", 203 "matchCount": "1", 204 "teardown": [ 205 "$TC qdisc del dev $DUMMY handle 1: root", 206 "$IP link del dev $DUMMY type dummy" 207 ] 208 }, 209 { 210 "id": "7582", 211 "name": "Create FQ with orphan_mask setting", 212 "category": [ 213 "qdisc", 214 "fq" 215 ], 216 "plugins": { 217 "requires": "nsPlugin" 218 }, 219 "setup": [ 220 "$IP link add dev $DUMMY type dummy || /bin/true" 221 ], 222 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq orphan_mask 255", 223 "expExitCode": "0", 224 "verifyCmd": "$TC qdisc show dev $DUMMY", 225 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*orphan_mask 255", 226 "matchCount": "1", 227 "teardown": [ 228 "$TC qdisc del dev $DUMMY handle 1: root", 229 "$IP link del dev $DUMMY type dummy" 230 ] 231 }, 232 { 233 "id": "4894", 234 "name": "Create FQ with timer_slack setting", 235 "category": [ 236 "qdisc", 237 "fq" 238 ], 239 "plugins": { 240 "requires": "nsPlugin" 241 }, 242 "setup": [ 243 "$IP link add dev $DUMMY type dummy || /bin/true" 244 ], 245 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq timer_slack 100", 246 "expExitCode": "0", 247 "verifyCmd": "$TC qdisc show dev $DUMMY", 248 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*timer_slack 100ns", 249 "matchCount": "1", 250 "teardown": [ 251 "$TC qdisc del dev $DUMMY handle 1: root", 252 "$IP link del dev $DUMMY type dummy" 253 ] 254 }, 255 { 256 "id": "324c", 257 "name": "Create FQ with ce_threshold setting", 258 "category": [ 259 "qdisc", 260 "fq" 261 ], 262 "plugins": { 263 "requires": "nsPlugin" 264 }, 265 "setup": [ 266 "$IP link add dev $DUMMY type dummy || /bin/true" 267 ], 268 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq ce_threshold 100", 269 "expExitCode": "0", 270 "verifyCmd": "$TC qdisc show dev $DUMMY", 271 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p", 272 "matchCount": "1", 273 "teardown": [ 274 "$TC qdisc del dev $DUMMY handle 1: root", 275 "$IP link del dev $DUMMY type dummy" 276 ] 277 }, 278 { 279 "id": "424a", 280 "name": "Create FQ with horizon time setting", 281 "category": [ 282 "qdisc", 283 "fq" 284 ], 285 "plugins": { 286 "requires": "nsPlugin" 287 }, 288 "setup": [ 289 "$IP link add dev $DUMMY type dummy || /bin/true" 290 ], 291 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq horizon 100", 292 "expExitCode": "0", 293 "verifyCmd": "$TC qdisc show dev $DUMMY", 294 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*horizon 100us", 295 "matchCount": "1", 296 "teardown": [ 297 "$TC qdisc del dev $DUMMY handle 1: root", 298 "$IP link del dev $DUMMY type dummy" 299 ] 300 }, 301 { 302 "id": "89e1", 303 "name": "Create FQ with horizon_cap setting", 304 "category": [ 305 "qdisc", 306 "fq" 307 ], 308 "plugins": { 309 "requires": "nsPlugin" 310 }, 311 "setup": [ 312 "$IP link add dev $DUMMY type dummy || /bin/true" 313 ], 314 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq horizon_cap", 315 "expExitCode": "0", 316 "verifyCmd": "$TC qdisc show dev $DUMMY", 317 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p flow_limit 100p.*horizon_cap", 318 "matchCount": "1", 319 "teardown": [ 320 "$TC qdisc del dev $DUMMY handle 1: root", 321 "$IP link del dev $DUMMY type dummy" 322 ] 323 }, 324 { 325 "id": "32e1", 326 "name": "Delete FQ with valid handle", 327 "category": [ 328 "qdisc", 329 "fq" 330 ], 331 "plugins": { 332 "requires": "nsPlugin" 333 }, 334 "setup": [ 335 "$IP link add dev $DUMMY type dummy || /bin/true", 336 "$TC qdisc add dev $DUMMY handle 1: root fq" 337 ], 338 "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 339 "expExitCode": "0", 340 "verifyCmd": "$TC qdisc show dev $DUMMY", 341 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 10000p", 342 "matchCount": "0", 343 "teardown": [ 344 "$IP link del dev $DUMMY type dummy" 345 ] 346 }, 347 { 348 "id": "49b0", 349 "name": "Replace FQ with limit setting", 350 "category": [ 351 "qdisc", 352 "fq" 353 ], 354 "plugins": { 355 "requires": "nsPlugin" 356 }, 357 "setup": [ 358 "$IP link add dev $DUMMY type dummy || /bin/true", 359 "$TC qdisc add dev $DUMMY handle 1: root fq" 360 ], 361 "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq limit 5000", 362 "expExitCode": "0", 363 "verifyCmd": "$TC qdisc show dev $DUMMY", 364 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 5000p", 365 "matchCount": "1", 366 "teardown": [ 367 "$TC qdisc del dev $DUMMY handle 1: root", 368 "$IP link del dev $DUMMY type dummy" 369 ] 370 }, 371 { 372 "id": "9478", 373 "name": "Change FQ with limit setting", 374 "category": [ 375 "qdisc", 376 "fq" 377 ], 378 "plugins": { 379 "requires": "nsPlugin" 380 }, 381 "setup": [ 382 "$IP link add dev $DUMMY type dummy || /bin/true", 383 "$TC qdisc add dev $DUMMY handle 1: root fq" 384 ], 385 "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq limit 100", 386 "expExitCode": "0", 387 "verifyCmd": "$TC qdisc show dev $DUMMY", 388 "matchPattern": "qdisc fq 1: root refcnt [0-9]+ limit 100p", 389 "matchCount": "1", 390 "teardown": [ 391 "$TC qdisc del dev $DUMMY handle 1: root", 392 "$IP link del dev $DUMMY type dummy" 393 ] 394 } 395] 396