On Fri, Sep 16, 2022 at 12:04 AM Zhengchao Shao <shaozhengchao@xxxxxxxxxx> wrote: > > Test 4957: Create FQ_CODEL with default setting > Test 7621: Create FQ_CODEL with limit setting > Test 6872: Create FQ_CODEL with memory_limit setting > Test 5636: Create FQ_CODEL with target setting > Test 630a: Create FQ_CODEL with interval setting > Test 4324: Create FQ_CODEL with quantum setting > Test b190: Create FQ_CODEL with noecn flag > Test c9d2: Create FQ_CODEL with ce_threshold setting > Test 523b: Create FQ_CODEL with multiple setting > Test 9283: Replace FQ_CODEL with noecn setting > Test 3459: Change FQ_CODEL with limit setting > Test 0128: Delete FQ_CODEL with handle > Test 0435: Show FQ_CODEL class > > Signed-off-by: Zhengchao Shao <shaozhengchao@xxxxxxxxxx> > --- > .../tc-testing/tc-tests/qdiscs/fq_codel.json | 326 ++++++++++++++++++ > 1 file changed, 326 insertions(+) > create mode 100644 tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq_codel.json > > diff --git a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq_codel.json b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq_codel.json > new file mode 100644 > index 000000000000..09608677cfee > --- /dev/null > +++ b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fq_codel.json > @@ -0,0 +1,326 @@ > +[ > + { > + "id": "4957", > + "name": "Create FQ_CODEL with default setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "7621", > + "name": "Create FQ_CODEL with limit setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "6872", > + "name": "Create FQ_CODEL with memory_limit setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel memory_limit 100000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "5636", > + "name": "Create FQ_CODEL with target setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel target 2000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "630a", > + "name": "Create FQ_CODEL with interval setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel interval 5000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "4324", > + "name": "Create FQ_CODEL with quantum setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel quantum 9000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "b190", > + "name": "Create FQ_CODEL with noecn flag", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel noecn", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 64", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "c9d2", > + "name": "Create FQ_CODEL with ce_threshold setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel ce_threshold 1024000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "c9d2", Be careful, you are using ID c9d2 in the previous test case. > + "name": "Create FQ_CODEL with drop_batch setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel drop_batch 100", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "523b", > + "name": "Create FQ_CODEL with multiple setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "9283", > + "name": "Replace FQ_CODEL with noecn setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true", > + "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100" > + ], > + "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq_codel noecn", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 100", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "3459", > + "name": "Change FQ_CODEL with limit setting", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true", > + "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100" > + ], > + "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq_codel limit 2000", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "1", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "0128", > + "name": "Delete FQ_CODEL with handle", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true", > + "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100" > + ], > + "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", > + "expExitCode": "0", > + "verifyCmd": "$TC qdisc show dev $DUMMY", > + "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", > + "matchCount": "0", > + "teardown": [ > + "$IP link del dev $DUMMY type dummy" > + ] > + }, > + { > + "id": "0435", > + "name": "Show FQ_CODEL class", > + "category": [ > + "qdisc", > + "fq_codel" > + ], > + "plugins": { > + "requires": "nsPlugin" > + }, > + "setup": [ > + "$IP link add dev $DUMMY type dummy || /bin/true" > + ], > + "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel", > + "expExitCode": "0", > + "verifyCmd": "$TC class show dev $DUMMY", > + "matchPattern": "class fq_codel 1:", > + "matchCount": "0", > + "teardown": [ > + "$TC qdisc del dev $DUMMY handle 1: root", > + "$IP link del dev $DUMMY type dummy" > + ] > + } > +] > -- > 2.17.1 >