| [ |
| { |
| "id": "2638", |
| "name": "Add matchall and try to get it", |
| "category": [ |
| "filter", |
| "matchall" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| "$TC qdisc add dev $DEV1 clsact", |
| "$TC filter add dev $DEV1 protocol all pref 1 ingress handle 0x1234 matchall action ok" |
| ], |
| "cmdUnderTest": "$TC filter get dev $DEV1 protocol all pref 1 ingress handle 0x1234 matchall", |
| "expExitCode": "0", |
| "verifyCmd": "$TC filter show dev $DEV1 ingress", |
| "matchPattern": "filter protocol all pref 1 matchall chain 0 handle 0x1234", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 clsact" |
| ] |
| }, |
| { |
| "id": "2ff3", |
| "name": "Add flower with max handle and then dump it", |
| "category": [ |
| "filter", |
| "flower" |
| ], |
| "setup": [ |
| "$TC qdisc add dev $DEV2 ingress" |
| ], |
| "cmdUnderTest": "$TC filter add dev $DEV2 protocol ip pref 1 ingress handle 0xffffffff flower action ok", |
| "expExitCode": "0", |
| "verifyCmd": "$TC filter show dev $DEV2 ingress", |
| "matchPattern": "filter protocol ip pref 1 flower.*handle 0xffffffff", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV2 ingress" |
| ] |
| }, |
| { |
| "id": "d052", |
| "name": "Add 1M filters with the same action", |
| "category": [ |
| "filter", |
| "flower" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| "$TC qdisc add dev $DEV2 ingress", |
| "./tdc_batch.py $DEV2 $BATCH_FILE --share_action -n 1000000" |
| ], |
| "cmdUnderTest": "$TC -b $BATCH_FILE", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action gact", |
| "matchPattern": "action order 0: gact action drop.*index 1 ref 1000000 bind 1000000", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV2 ingress", |
| "/bin/rm $BATCH_FILE" |
| ] |
| }, |
| { |
| "id": "4cbd", |
| "name": "Try to add filter with duplicate key", |
| "category": [ |
| "filter", |
| "flower" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| "$TC qdisc add dev $DEV2 ingress", |
| "$TC filter add dev $DEV2 protocol ip prio 1 ingress flower dst_mac e4:11:22:11:4a:51 src_mac e4:11:22:11:4a:50 ip_proto tcp src_ip 1.1.1.1 dst_ip 2.2.2.2 action drop" |
| ], |
| "cmdUnderTest": "$TC filter add dev $DEV2 protocol ip prio 1 ingress flower dst_mac e4:11:22:11:4a:51 src_mac e4:11:22:11:4a:50 ip_proto tcp src_ip 1.1.1.1 dst_ip 2.2.2.2 action drop", |
| "expExitCode": "2", |
| "verifyCmd": "$TC -s filter show dev $DEV2 ingress", |
| "matchPattern": "filter protocol ip pref 1 flower chain 0 handle", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV2 ingress" |
| ] |
| }, |
| { |
| "id": "7c65", |
| "name": "Add flower filter and then terse dump it", |
| "category": [ |
| "filter", |
| "flower" |
| ], |
| "setup": [ |
| "$TC qdisc add dev $DEV2 ingress" |
| ], |
| "cmdUnderTest": "$TC filter add dev $DEV2 protocol ip pref 1 ingress flower dst_mac e4:11:22:11:4a:51 action drop", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -br filter show dev $DEV2 ingress", |
| "matchPattern": "filter protocol ip pref 1 flower.*handle", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV2 ingress" |
| ] |
| }, |
| { |
| "id": "d45e", |
| "name": "Add flower filter and verify that terse dump doesn't output filter key", |
| "category": [ |
| "filter", |
| "flower" |
| ], |
| "setup": [ |
| "$TC qdisc add dev $DEV2 ingress" |
| ], |
| "cmdUnderTest": "$TC filter add dev $DEV2 protocol ip pref 1 ingress flower dst_mac e4:11:22:11:4a:51 action drop", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -br filter show dev $DEV2 ingress", |
| "matchPattern": " dst_mac e4:11:22:11:4a:51", |
| "matchCount": "0", |
| "teardown": [ |
| "$TC qdisc del dev $DEV2 ingress" |
| ] |
| } |
| ] |