1[ 2 { 3 "id": "0582", 4 "name": "Create QFQ with default setting", 5 "category": [ 6 "qdisc", 7 "qfq" 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 qfq", 16 "expExitCode": "0", 17 "verifyCmd": "$TC qdisc show dev $DUMMY", 18 "matchPattern": "qdisc qfq 1: root refcnt [0-9]+", 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": "c9a3", 27 "name": "Create QFQ with class weight setting", 28 "category": [ 29 "qdisc", 30 "qfq" 31 ], 32 "plugins": { 33 "requires": "nsPlugin" 34 }, 35 "setup": [ 36 "$IP link add dev $DUMMY type dummy || /bin/true", 37 "$TC qdisc add dev $DUMMY handle 1: root qfq" 38 ], 39 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100", 40 "expExitCode": "0", 41 "verifyCmd": "$TC class show dev $DUMMY", 42 "matchPattern": "class qfq 1:1 root weight 100 maxpkt", 43 "matchCount": "1", 44 "teardown": [ 45 "$TC qdisc del dev $DUMMY handle 1: root", 46 "$IP link del dev $DUMMY type dummy" 47 ] 48 }, 49 { 50 "id": "8452", 51 "name": "Create QFQ with class maxpkt setting", 52 "category": [ 53 "qdisc", 54 "qfq" 55 ], 56 "plugins": { 57 "requires": "nsPlugin" 58 }, 59 "setup": [ 60 "$IP link add dev $DUMMY type dummy || /bin/true", 61 "$TC qdisc add dev $DUMMY handle 1: root qfq" 62 ], 63 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 2000", 64 "expExitCode": "0", 65 "verifyCmd": "$TC class show dev $DUMMY", 66 "matchPattern": "class qfq 1:1 root weight 1 maxpkt 2000", 67 "matchCount": "1", 68 "teardown": [ 69 "$TC qdisc del dev $DUMMY handle 1: root", 70 "$IP link del dev $DUMMY type dummy" 71 ] 72 }, 73 { 74 "id": "d920", 75 "name": "Create QFQ with multiple class setting", 76 "category": [ 77 "qdisc", 78 "qfq" 79 ], 80 "plugins": { 81 "requires": "nsPlugin" 82 }, 83 "setup": [ 84 "$IP link add dev $DUMMY type dummy || /bin/true", 85 "$TC qdisc add dev $DUMMY handle 1: root qfq", 86 "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100" 87 ], 88 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:2 qfq weight 200", 89 "expExitCode": "0", 90 "verifyCmd": "$TC class show dev $DUMMY", 91 "matchPattern": "class qfq 1:[0-9]+ root weight [0-9]+00 maxpkt", 92 "matchCount": "2", 93 "teardown": [ 94 "$TC qdisc del dev $DUMMY handle 1: root", 95 "$IP link del dev $DUMMY type dummy" 96 ] 97 }, 98 { 99 "id": "0548", 100 "name": "Delete QFQ with handle", 101 "category": [ 102 "qdisc", 103 "qfq" 104 ], 105 "plugins": { 106 "requires": "nsPlugin" 107 }, 108 "setup": [ 109 "$IP link add dev $DUMMY type dummy || /bin/true", 110 "$TC qdisc add dev $DUMMY handle 1: root qfq", 111 "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100" 112 ], 113 "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 114 "expExitCode": "0", 115 "verifyCmd": "$TC class show dev $DUMMY", 116 "matchPattern": "qdisc qfq 1: root refcnt [0-9]+", 117 "matchCount": "0", 118 "teardown": [ 119 "$IP link del dev $DUMMY type dummy" 120 ] 121 }, 122 { 123 "id": "5901", 124 "name": "Show QFQ class", 125 "category": [ 126 "qdisc", 127 "qfq" 128 ], 129 "plugins": { 130 "requires": "nsPlugin" 131 }, 132 "setup": [ 133 "$IP link add dev $DUMMY type dummy || /bin/true" 134 ], 135 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq", 136 "expExitCode": "0", 137 "verifyCmd": "$TC class show dev $DUMMY", 138 "matchPattern": "class qfq 1:", 139 "matchCount": "0", 140 "teardown": [ 141 "$TC qdisc del dev $DUMMY handle 1: root", 142 "$IP link del dev $DUMMY type dummy" 143 ] 144 } 145] 146