281 lines
8.2 KiB
JSON
281 lines
8.2 KiB
JSON
|
[
|
||
|
{
|
||
|
"id": "0582",
|
||
|
"name": "Create QFQ with default setting",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
],
|
||
|
"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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "c9a3",
|
||
|
"name": "Create QFQ with class weight setting",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "d364",
|
||
|
"name": "Test QFQ with max class weight setting",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "8452",
|
||
|
"name": "Create QFQ with class maxpkt setting",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "22df",
|
||
|
"name": "Test QFQ class maxpkt setting lower bound",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "92ee",
|
||
|
"name": "Test QFQ class maxpkt setting upper bound",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "d920",
|
||
|
"name": "Create QFQ with multiple class setting",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "0548",
|
||
|
"name": "Delete QFQ with handle",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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": [
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "5901",
|
||
|
"name": "Show QFQ class",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
],
|
||
|
"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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "85ee",
|
||
|
"name": "QFQ with big MTU",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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": [
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "ddfa",
|
||
|
"name": "QFQ with small MTU",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": "nsPlugin"
|
||
|
},
|
||
|
"setup": [
|
||
|
"$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": [
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "5993",
|
||
|
"name": "QFQ with stab overhead greater than max packet len",
|
||
|
"category": [
|
||
|
"qdisc",
|
||
|
"qfq",
|
||
|
"scapy"
|
||
|
],
|
||
|
"plugins": {
|
||
|
"requires": [
|
||
|
"nsPlugin",
|
||
|
"scapyPlugin"
|
||
|
]
|
||
|
},
|
||
|
"setup": [
|
||
|
"$IP link set dev $DUMMY up || /bin/true",
|
||
|
"$TC qdisc add dev $DUMMY handle 1: stab mtu 2048 tsize 512 mpu 0 overhead 999999999 linklayer ethernet root qfq",
|
||
|
"$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",
|
||
|
"$TC qdisc add dev $DEV1 clsact",
|
||
|
"$TC filter add dev $DEV1 ingress protocol ip flower dst_ip 1.3.3.7/32 action mirred egress mirror dev $DUMMY"
|
||
|
],
|
||
|
"cmdUnderTest": "$TC filter add dev $DUMMY parent 1: matchall classid 1:1",
|
||
|
"scapy": [
|
||
|
{
|
||
|
"iface": "$DEV0",
|
||
|
"count": 22,
|
||
|
"packet": "Ether(type=0x800)/IP(src='10.0.0.10',dst='1.3.3.7')/TCP(sport=5000,dport=10)"
|
||
|
}
|
||
|
],
|
||
|
"expExitCode": "0",
|
||
|
"verifyCmd": "$TC -s qdisc ls dev $DUMMY",
|
||
|
"matchPattern": "dropped 22",
|
||
|
"matchCount": "1",
|
||
|
"teardown": [
|
||
|
"$TC qdisc del dev $DUMMY handle 1: root qfq"
|
||
|
]
|
||
|
}
|
||
|
]
|