[ { "id": "0582", "name": "Create QFQ with default setting", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true" ], "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq", "expExitCode": "0", "verifyCmd": "$TC qdisc show dev $DUMMY", "matchPattern": "qdisc qfq 1: root refcnt [0-9]+", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "c9a3", "name": "Create QFQ with class weight setting", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100", "expExitCode": "0", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:1 root weight 100 maxpkt", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "d364", "name": "Test QFQ with max class weight setting", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 9999", "expExitCode": "2", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:1 root weight 9999 maxpkt", "matchCount": "0", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "8452", "name": "Create QFQ with class maxpkt setting", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 2000", "expExitCode": "0", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:1 root weight 1 maxpkt 2000", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "22df", "name": "Test QFQ class maxpkt setting lower bound", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 128", "expExitCode": "2", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:1 root weight 1 maxpkt 128", "matchCount": "0", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "92ee", "name": "Test QFQ class maxpkt setting upper bound", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 99999", "expExitCode": "2", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:1 root weight 1 maxpkt 99999", "matchCount": "0", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "d920", "name": "Create QFQ with multiple class setting", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq", "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:2 qfq weight 200", "expExitCode": "0", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:[0-9]+ root weight [0-9]+00 maxpkt", "matchCount": "2", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "0548", "name": "Delete QFQ with handle", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq", "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100" ], "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", "expExitCode": "0", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "qdisc qfq 1: root refcnt [0-9]+", "matchCount": "0", "teardown": [ "$IP link del dev $DUMMY type dummy" ] }, { "id": "5901", "name": "Show QFQ class", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true" ], "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq", "expExitCode": "0", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:", "matchCount": "0", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP link del dev $DUMMY type dummy" ] }, { "id": "85ee", "name": "QFQ with big MTU", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$IP link set dev $DUMMY mtu 2147483647 || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100", "expExitCode": "2", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:", "matchCount": "0", "teardown": [ "$IP link del dev $DUMMY type dummy" ] }, { "id": "ddfa", "name": "QFQ with small MTU", "category": [ "qdisc", "qfq" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link add dev $DUMMY type dummy || /bin/true", "$IP link set dev $DUMMY mtu 256 || /bin/true", "$TC qdisc add dev $DUMMY handle 1: root qfq" ], "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100", "expExitCode": "2", "verifyCmd": "$TC class show dev $DUMMY", "matchPattern": "class qfq 1:", "matchCount": "0", "teardown": [ "$IP link del dev $DUMMY type dummy" ] } ]