281 lines · json
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 ],14 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq",15 "expExitCode": "0",16 "verifyCmd": "$TC qdisc show dev $DUMMY",17 "matchPattern": "qdisc qfq 1: root refcnt [0-9]+",18 "matchCount": "1",19 "teardown": [20 "$TC qdisc del dev $DUMMY handle 1: root"21 ]22 },23 {24 "id": "c9a3",25 "name": "Create QFQ with class weight setting",26 "category": [27 "qdisc",28 "qfq"29 ],30 "plugins": {31 "requires": "nsPlugin"32 },33 "setup": [34 "$TC qdisc add dev $DUMMY handle 1: root qfq"35 ],36 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",37 "expExitCode": "0",38 "verifyCmd": "$TC class show dev $DUMMY",39 "matchPattern": "class qfq 1:1 root weight 100 maxpkt",40 "matchCount": "1",41 "teardown": [42 "$TC qdisc del dev $DUMMY handle 1: root"43 ]44 },45 {46 "id": "d364",47 "name": "Test QFQ with max class weight setting",48 "category": [49 "qdisc",50 "qfq"51 ],52 "plugins": {53 "requires": "nsPlugin"54 },55 "setup": [56 "$TC qdisc add dev $DUMMY handle 1: root qfq"57 ],58 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 9999",59 "expExitCode": "2",60 "verifyCmd": "$TC class show dev $DUMMY",61 "matchPattern": "class qfq 1:1 root weight 9999 maxpkt",62 "matchCount": "0",63 "teardown": [64 "$TC qdisc del dev $DUMMY handle 1: root"65 ]66 },67 {68 "id": "8452",69 "name": "Create QFQ with class maxpkt setting",70 "category": [71 "qdisc",72 "qfq"73 ],74 "plugins": {75 "requires": "nsPlugin"76 },77 "setup": [78 "$TC qdisc add dev $DUMMY handle 1: root qfq"79 ],80 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 2000",81 "expExitCode": "0",82 "verifyCmd": "$TC class show dev $DUMMY",83 "matchPattern": "class qfq 1:1 root weight 1 maxpkt 2000",84 "matchCount": "1",85 "teardown": [86 "$TC qdisc del dev $DUMMY handle 1: root"87 ]88 },89 {90 "id": "22df",91 "name": "Test QFQ class maxpkt setting lower bound",92 "category": [93 "qdisc",94 "qfq"95 ],96 "plugins": {97 "requires": "nsPlugin"98 },99 "setup": [100 "$TC qdisc add dev $DUMMY handle 1: root qfq"101 ],102 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 128",103 "expExitCode": "2",104 "verifyCmd": "$TC class show dev $DUMMY",105 "matchPattern": "class qfq 1:1 root weight 1 maxpkt 128",106 "matchCount": "0",107 "teardown": [108 "$TC qdisc del dev $DUMMY handle 1: root"109 ]110 },111 {112 "id": "92ee",113 "name": "Test QFQ class maxpkt setting upper bound",114 "category": [115 "qdisc",116 "qfq"117 ],118 "plugins": {119 "requires": "nsPlugin"120 },121 "setup": [122 "$TC qdisc add dev $DUMMY handle 1: root qfq"123 ],124 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 99999",125 "expExitCode": "2",126 "verifyCmd": "$TC class show dev $DUMMY",127 "matchPattern": "class qfq 1:1 root weight 1 maxpkt 99999",128 "matchCount": "0",129 "teardown": [130 "$TC qdisc del dev $DUMMY handle 1: root"131 ]132 },133 {134 "id": "d920",135 "name": "Create QFQ with multiple class setting",136 "category": [137 "qdisc",138 "qfq"139 ],140 "plugins": {141 "requires": "nsPlugin"142 },143 "setup": [144 "$TC qdisc add dev $DUMMY handle 1: root qfq",145 "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100"146 ],147 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:2 qfq weight 200",148 "expExitCode": "0",149 "verifyCmd": "$TC class show dev $DUMMY",150 "matchPattern": "class qfq 1:[0-9]+ root weight [0-9]+00 maxpkt",151 "matchCount": "2",152 "teardown": [153 "$TC qdisc del dev $DUMMY handle 1: root"154 ]155 },156 {157 "id": "0548",158 "name": "Delete QFQ with handle",159 "category": [160 "qdisc",161 "qfq"162 ],163 "plugins": {164 "requires": "nsPlugin"165 },166 "setup": [167 "$TC qdisc add dev $DUMMY handle 1: root qfq",168 "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100"169 ],170 "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",171 "expExitCode": "0",172 "verifyCmd": "$TC class show dev $DUMMY",173 "matchPattern": "qdisc qfq 1: root refcnt [0-9]+",174 "matchCount": "0",175 "teardown": [176 ]177 },178 {179 "id": "5901",180 "name": "Show QFQ class",181 "category": [182 "qdisc",183 "qfq"184 ],185 "plugins": {186 "requires": "nsPlugin"187 },188 "setup": [189 ],190 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq",191 "expExitCode": "0",192 "verifyCmd": "$TC class show dev $DUMMY",193 "matchPattern": "class qfq 1:",194 "matchCount": "0",195 "teardown": [196 "$TC qdisc del dev $DUMMY handle 1: root"197 ]198 },199 {200 "id": "85ee",201 "name": "QFQ with big MTU",202 "category": [203 "qdisc",204 "qfq"205 ],206 "plugins": {207 "requires": "nsPlugin"208 },209 "setup": [210 "$IP link set dev $DUMMY mtu 2147483647 || /bin/true",211 "$TC qdisc add dev $DUMMY handle 1: root qfq"212 ],213 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",214 "expExitCode": "2",215 "verifyCmd": "$TC class show dev $DUMMY",216 "matchPattern": "class qfq 1:",217 "matchCount": "0",218 "teardown": [219 ]220 },221 {222 "id": "ddfa",223 "name": "QFQ with small MTU",224 "category": [225 "qdisc",226 "qfq"227 ],228 "plugins": {229 "requires": "nsPlugin"230 },231 "setup": [232 "$IP link set dev $DUMMY mtu 256 || /bin/true",233 "$TC qdisc add dev $DUMMY handle 1: root qfq"234 ],235 "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",236 "expExitCode": "2",237 "verifyCmd": "$TC class show dev $DUMMY",238 "matchPattern": "class qfq 1:",239 "matchCount": "0",240 "teardown": [241 ]242 },243 {244 "id": "5993",245 "name": "QFQ with stab overhead greater than max packet len",246 "category": [247 "qdisc",248 "qfq",249 "scapy"250 ],251 "plugins": {252 "requires": [253 "nsPlugin",254 "scapyPlugin"255 ]256 },257 "setup": [258 "$IP link set dev $DUMMY up || /bin/true",259 "$TC qdisc add dev $DUMMY handle 1: stab mtu 2048 tsize 512 mpu 0 overhead 999999999 linklayer ethernet root qfq",260 "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",261 "$TC qdisc add dev $DEV1 clsact",262 "$TC filter add dev $DEV1 ingress protocol ip flower dst_ip 1.3.3.7/32 action mirred egress mirror dev $DUMMY"263 ],264 "cmdUnderTest": "$TC filter add dev $DUMMY parent 1: matchall classid 1:1",265 "scapy": [266 {267 "iface": "$DEV0",268 "count": 22,269 "packet": "Ether(type=0x800)/IP(src='10.0.0.10',dst='1.3.3.7')/TCP(sport=5000,dport=10)"270 }271 ],272 "expExitCode": "0",273 "verifyCmd": "$TC -s qdisc ls dev $DUMMY",274 "matchPattern": "dropped 22",275 "matchCount": "1",276 "teardown": [277 "$TC qdisc del dev $DUMMY handle 1: root qfq"278 ]279 }280]281