1[ 2 { 3 "id": "4957", 4 "name": "Create FQ_CODEL with default setting", 5 "category": [ 6 "qdisc", 7 "fq_codel" 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_codel", 16 "expExitCode": "0", 17 "verifyCmd": "$TC qdisc show dev $DUMMY", 18 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64", 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": "7621", 27 "name": "Create FQ_CODEL with limit setting", 28 "category": [ 29 "qdisc", 30 "fq_codel" 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_codel limit 1000", 39 "expExitCode": "0", 40 "verifyCmd": "$TC qdisc show dev $DUMMY", 41 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64", 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": "6871", 50 "name": "Create FQ_CODEL with memory_limit setting", 51 "category": [ 52 "qdisc", 53 "fq_codel" 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_codel memory_limit 100000", 62 "expExitCode": "0", 63 "verifyCmd": "$TC qdisc show dev $DUMMY", 64 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 100000b ecn drop_batch 64", 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": "5636", 73 "name": "Create FQ_CODEL with target setting", 74 "category": [ 75 "qdisc", 76 "fq_codel" 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_codel target 2000", 85 "expExitCode": "0", 86 "verifyCmd": "$TC qdisc show dev $DUMMY", 87 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 2ms interval 100ms memory_limit 32Mb ecn drop_batch 64", 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": "630a", 96 "name": "Create FQ_CODEL with interval setting", 97 "category": [ 98 "qdisc", 99 "fq_codel" 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_codel interval 5000", 108 "expExitCode": "0", 109 "verifyCmd": "$TC qdisc show dev $DUMMY", 110 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 5ms memory_limit 32Mb ecn drop_batch 64", 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": "4324", 119 "name": "Create FQ_CODEL with quantum setting", 120 "category": [ 121 "qdisc", 122 "fq_codel" 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_codel quantum 9000", 131 "expExitCode": "0", 132 "verifyCmd": "$TC qdisc show dev $DUMMY", 133 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum 9000 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64", 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": "b190", 142 "name": "Create FQ_CODEL with noecn flag", 143 "category": [ 144 "qdisc", 145 "fq_codel" 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_codel noecn", 154 "expExitCode": "0", 155 "verifyCmd": "$TC qdisc show dev $DUMMY", 156 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 64", 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": "5381", 165 "name": "Create FQ_CODEL with ce_threshold setting", 166 "category": [ 167 "qdisc", 168 "fq_codel" 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_codel ce_threshold 1024000", 177 "expExitCode": "0", 178 "verifyCmd": "$TC qdisc show dev $DUMMY", 179 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms ce_threshold 1.02s interval 100ms memory_limit 32Mb ecn drop_batch 64", 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": "c9d2", 188 "name": "Create FQ_CODEL with drop_batch setting", 189 "category": [ 190 "qdisc", 191 "fq_codel" 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_codel drop_batch 100", 200 "expExitCode": "0", 201 "verifyCmd": "$TC qdisc show dev $DUMMY", 202 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100", 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": "523b", 211 "name": "Create FQ_CODEL with multiple setting", 212 "category": [ 213 "qdisc", 214 "fq_codel" 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_codel limit 1000 flows 256 drop_batch 100", 223 "expExitCode": "0", 224 "verifyCmd": "$TC qdisc show dev $DUMMY", 225 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100", 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": "9283", 234 "name": "Replace FQ_CODEL with noecn setting", 235 "category": [ 236 "qdisc", 237 "fq_codel" 238 ], 239 "plugins": { 240 "requires": "nsPlugin" 241 }, 242 "setup": [ 243 "$IP link add dev $DUMMY type dummy || /bin/true", 244 "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100" 245 ], 246 "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq_codel noecn", 247 "expExitCode": "0", 248 "verifyCmd": "$TC qdisc show dev $DUMMY", 249 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 100", 250 "matchCount": "1", 251 "teardown": [ 252 "$TC qdisc del dev $DUMMY handle 1: root", 253 "$IP link del dev $DUMMY type dummy" 254 ] 255 }, 256 { 257 "id": "3459", 258 "name": "Change FQ_CODEL with limit setting", 259 "category": [ 260 "qdisc", 261 "fq_codel" 262 ], 263 "plugins": { 264 "requires": "nsPlugin" 265 }, 266 "setup": [ 267 "$IP link add dev $DUMMY type dummy || /bin/true", 268 "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100" 269 ], 270 "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq_codel limit 2000", 271 "expExitCode": "0", 272 "verifyCmd": "$TC qdisc show dev $DUMMY", 273 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 2000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100", 274 "matchCount": "1", 275 "teardown": [ 276 "$TC qdisc del dev $DUMMY handle 1: root", 277 "$IP link del dev $DUMMY type dummy" 278 ] 279 }, 280 { 281 "id": "0128", 282 "name": "Delete FQ_CODEL with handle", 283 "category": [ 284 "qdisc", 285 "fq_codel" 286 ], 287 "plugins": { 288 "requires": "nsPlugin" 289 }, 290 "setup": [ 291 "$IP link add dev $DUMMY type dummy || /bin/true", 292 "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100" 293 ], 294 "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 295 "expExitCode": "0", 296 "verifyCmd": "$TC qdisc show dev $DUMMY", 297 "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb noecn drop_batch 100", 298 "matchCount": "0", 299 "teardown": [ 300 "$IP link del dev $DUMMY type dummy" 301 ] 302 }, 303 { 304 "id": "0435", 305 "name": "Show FQ_CODEL class", 306 "category": [ 307 "qdisc", 308 "fq_codel" 309 ], 310 "plugins": { 311 "requires": "nsPlugin" 312 }, 313 "setup": [ 314 "$IP link add dev $DUMMY type dummy || /bin/true" 315 ], 316 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel", 317 "expExitCode": "0", 318 "verifyCmd": "$TC class show dev $DUMMY", 319 "matchPattern": "class fq_codel 1:", 320 "matchCount": "0", 321 "teardown": [ 322 "$TC qdisc del dev $DUMMY handle 1: root", 323 "$IP link del dev $DUMMY type dummy" 324 ] 325 } 326] 327