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