4 "name": "Add fw filter with prio at 32-bit maxixum",
10 "$TC qdisc add dev $DEV1 ingress"
12 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65535 fw action ok",
14 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 65535 protocol all fw",
15 "matchPattern": "pref 65535 fw.*handle 0x1.*gact action pass",
18 "$TC qdisc del dev $DEV1 ingress"
23 "name": "Add fw filter with prio exceeding 32-bit maxixum",
29 "$TC qdisc add dev $DEV1 ingress"
31 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65536 fw action ok",
33 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 65536 protocol all fw",
34 "matchPattern": "pref 65536 fw.*handle 0x1.*gact action pass",
37 "$TC qdisc del dev $DEV1 ingress"
42 "name": "Add fw filter with action ok",
48 "$TC qdisc add dev $DEV1 ingress"
50 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action ok",
52 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
53 "matchPattern": "handle 0x1.*gact action pass",
56 "$TC qdisc del dev $DEV1 ingress"
61 "name": "Add fw filter with action continue",
67 "$TC qdisc add dev $DEV1 ingress"
69 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action continue",
71 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
72 "matchPattern": "handle 0x1.*gact action continue",
75 "$TC qdisc del dev $DEV1 ingress"
80 "name": "Add fw filter with action pipe",
86 "$TC qdisc add dev $DEV1 ingress"
88 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action pipe",
90 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
91 "matchPattern": "handle 0x1.*gact action pipe",
94 "$TC qdisc del dev $DEV1 ingress"
99 "name": "Add fw filter with action drop",
105 "$TC qdisc add dev $DEV1 ingress"
107 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action drop",
109 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 protocol all prio 1 fw",
110 "matchPattern": "handle 0x1.*gact action drop",
113 "$TC qdisc del dev $DEV1 ingress"
118 "name": "Add fw filter with action reclassify",
124 "$TC qdisc add dev $DEV1 ingress"
126 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action reclassify",
128 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
129 "matchPattern": "handle 0x1.*gact action reclassify",
132 "$TC qdisc del dev $DEV1 ingress"
137 "name": "Add fw filter with action jump 10",
143 "$TC qdisc add dev $DEV1 ingress"
145 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action jump 10",
147 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
148 "matchPattern": "handle 0x1.*gact action jump 10",
151 "$TC qdisc del dev $DEV1 ingress"
156 "name": "Add fw filter with action goto chain 5",
162 "$TC qdisc add dev $DEV1 ingress"
164 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action goto chain 5",
166 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
167 "matchPattern": "handle 0x1.*gact action goto chain 5",
170 "$TC qdisc del dev $DEV1 ingress"
175 "name": "Add fw filter with invalid action",
181 "$TC qdisc add dev $DEV1 ingress"
183 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action pump",
184 "expExitCode": "255",
185 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
186 "matchPattern": "handle 0x1.*gact action pump",
189 "$TC qdisc del dev $DEV1 ingress"
194 "name": "Add fw filter with missing mandatory action",
200 "$TC qdisc add dev $DEV1 ingress"
202 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw",
204 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
205 "matchPattern": "filter protocol all pref [0-9]+ fw.*handle 0x1",
208 "$TC qdisc del dev $DEV1 ingress"
213 "name": "Add fw filter with cookie",
219 "$TC qdisc add dev $DEV1 ingress"
221 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action pipe cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
223 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 2 protocol all fw",
224 "matchPattern": "pref 2 fw.*handle 0x1.*gact action pipe.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
227 "$TC qdisc del dev $DEV1 ingress"
232 "name": "Add fw filter with invalid cookie",
238 "$TC qdisc add dev $DEV1 ingress"
240 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action continue cookie aa11bb22cc33dd44ee55ff66aa11b1b2777888",
241 "expExitCode": "255",
242 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 2 protocol all fw",
243 "matchPattern": "pref 2 fw.*handle 0x1.*gact action continue.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2777888",
246 "$TC qdisc del dev $DEV1 ingress"
251 "name": "Add fw filter with handle in hex",
257 "$TC qdisc add dev $DEV1 ingress"
259 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0xa1b2ff prio 1 fw action ok",
261 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xa1b2ff prio 1 protocol all fw",
262 "matchPattern": "fw.*handle 0xa1b2ff.*gact action pass",
265 "$TC qdisc del dev $DEV1 ingress"
270 "name": "Add fw filter with handle at 32-bit maximum",
276 "$TC qdisc add dev $DEV1 ingress"
278 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967295 prio 1 fw action ok",
280 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4294967295 prio 1 protocol all fw",
281 "matchPattern": "fw.*handle 0xffffffff.*gact action pass",
284 "$TC qdisc del dev $DEV1 ingress"
289 "name": "Add fw filter with handle exceeding 32-bit maximum",
295 "$TC qdisc add dev $DEV1 ingress"
297 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967296 prio 1 fw action ok",
299 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4294967296 prio 1 protocol all fw",
300 "matchPattern": "fw.*handle 0x.*gact action pass",
303 "$TC qdisc del dev $DEV1 ingress"
308 "name": "Add fw filter with mask in hex",
314 "$TC qdisc add dev $DEV1 ingress"
316 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10/0xa1b2f prio 1 fw action ok",
318 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
319 "matchPattern": "fw.*handle 0xa/0xa1b2f",
322 "$TC qdisc del dev $DEV1 ingress"
327 "name": "Add fw filter with mask at 32-bit maximum",
333 "$TC qdisc add dev $DEV1 ingress"
335 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10/4294967295 prio 1 fw action ok",
337 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
338 "matchPattern": "fw.*handle 0xa[^/]",
341 "$TC qdisc del dev $DEV1 ingress"
346 "name": "Add fw filter with mask exceeding 32-bit maximum",
352 "$TC qdisc add dev $DEV1 ingress"
354 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10/4294967296 prio 1 fw action ok",
356 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
357 "matchPattern": "fw.*handle 0xa",
360 "$TC qdisc del dev $DEV1 ingress"
365 "name": "Add fw filter with handle/mask in hex",
371 "$TC qdisc add dev $DEV1 ingress"
373 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0xa1b2cdff/0x1a2bffdc prio 1 fw action ok",
375 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xa1b2cdff prio 1 protocol all fw",
376 "matchPattern": "fw.*handle 0xa1b2cdff/0x1a2bffdc",
379 "$TC qdisc del dev $DEV1 ingress"
384 "name": "Add fw filter with handle/mask at 32-bit maximum",
390 "$TC qdisc add dev $DEV1 ingress"
392 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967295/4294967295 prio 1 fw action ok",
394 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xffffffff prio 1 protocol all fw",
395 "matchPattern": "fw.*handle 0xffffffff[^/]",
398 "$TC qdisc del dev $DEV1 ingress"
403 "name": "Add fw filter with handle/mask exceeding 32-bit maximum",
409 "$TC qdisc add dev $DEV1 ingress"
411 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967296/4294967296 prio 1 fw action ok",
413 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
414 "matchPattern": "fw.*handle",
417 "$TC qdisc del dev $DEV1 ingress"
422 "name": "Add fw filter with missing mandatory handle",
428 "$TC qdisc add dev $DEV1 ingress"
430 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 1 fw action ok",
432 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
433 "matchPattern": "filter protocol all.*fw.*handle.*gact action pass",
436 "$TC qdisc del dev $DEV1 ingress"
441 "name": "Add fw filter with invalid parent",
447 "$TC qdisc add dev $DEV1 ingress"
449 "cmdUnderTest": "$TC filter add dev $DEV1 parent aa11b1b2: handle 1 prio 1 fw action ok",
450 "expExitCode": "255",
451 "verifyCmd": "$TC filter dev $DEV1 parent aa11b1b2: handle 1 prio 1 protocol all fw",
452 "matchPattern": "filter protocol all pref 1 fw.*handle 0x1.*gact action pass",
455 "$TC qdisc del dev $DEV1 ingress"
460 "name": "Add fw filter with missing mandatory parent id",
466 "$TC qdisc add dev $DEV1 ingress"
468 "cmdUnderTest": "$TC filter add dev $DEV1 handle 1 prio 1 fw action ok",
470 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
471 "matchPattern": "pref [0-9]+ fw.*handle 0x1.*gact action pass",
474 "$TC qdisc del dev $DEV1 ingress"
479 "name": "Add fw filter with classid",
485 "$TC qdisc add dev $DEV1 ingress"
487 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid 3 action ok",
489 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
490 "matchPattern": "fw.*handle 0x1 classid :3.*gact action pass",
493 "$TC qdisc del dev $DEV1 ingress"
498 "name": "Add fw filter with classid at root",
504 "$TC qdisc add dev $DEV1 ingress"
506 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid ffff:ffff action ok",
508 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
509 "matchPattern": "pref 1 fw.*handle 0x1 classid root.*gact action pass",
512 "$TC qdisc del dev $DEV1 ingress"
517 "name": "Add fw filter with classid - keeps last 8 (hex) digits",
523 "$TC qdisc add dev $DEV1 ingress"
525 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid 98765fedcb action ok",
527 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
528 "matchPattern": "fw.*handle 0x1 classid 765f:edcb.*gact action pass",
531 "$TC qdisc del dev $DEV1 ingress"
536 "name": "Add fw filter with invalid classid",
542 "$TC qdisc add dev $DEV1 ingress"
544 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid 6789defg action ok",
546 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
547 "matchPattern": "fw.*handle 0x1 classid 6789:defg.*gact action pass",
550 "$TC qdisc del dev $DEV1 ingress"
555 "name": "Add fw filter with flowid",
561 "$TC qdisc add dev $DEV1 ingress"
563 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10 prio 1 fw flowid 1:10 action ok",
565 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
566 "matchPattern": "filter parent ffff: protocol all pref 1 fw.*handle 0xa classid 1:10.*gact action pass",
569 "$TC qdisc del dev $DEV1 ingress"
574 "name": "Add fw filter with flowid then classid (same arg, takes second)",
580 "$TC qdisc add dev $DEV1 ingress"
582 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 11 prio 1 fw flowid 10 classid 4 action ok",
584 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 11 prio 1 protocol all fw",
585 "matchPattern": "filter parent ffff: protocol all pref 1 fw.*handle 0xb classid :4.*gact action pass",
588 "$TC qdisc del dev $DEV1 ingress"
593 "name": "Add fw filter with classid then flowid (same arg, takes second)",
599 "$TC qdisc add dev $DEV1 ingress"
601 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 11 prio 1 fw classid 4 flowid 10 action ok",
603 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 11 prio 1 protocol all fw",
604 "matchPattern": "filter parent ffff: protocol all pref 1 fw.*handle 0xb classid :10.*gact action pass",
607 "$TC qdisc del dev $DEV1 ingress"
612 "name": "Add fw filter with handle val/mask and flowid 10:1000",
618 "$TC qdisc add dev $DEV1 ingress"
620 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 handle 10/0xff fw flowid 10:1000 action ok",
622 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 3 protocol all fw",
623 "matchPattern": "filter parent ffff: protocol all pref 3 fw.*handle 0xa/0xff classid 10:1000.*gact action pass",
626 "$TC qdisc del dev $DEV1 ingress"
631 "name": "Add fw filter with protocol ip",
637 "$TC qdisc add dev $DEV1 ingress"
639 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol ip prio 1 handle 3 fw action ok",
641 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 3 prio 1 protocol ip fw",
642 "matchPattern": "filter parent ffff: protocol ip pref 1 fw.*handle 0x3.*gact action pass.*index [0-9]+ ref [0-9]+ bind [0-9]+",
645 "$TC qdisc del dev $DEV1 ingress"
650 "name": "Add fw filter with protocol ipv6",
656 "$TC qdisc add dev $DEV1 ingress"
658 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol ipv6 prio 2 handle 4 fw action ok",
660 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 2 protocol ipv6 fw",
661 "matchPattern": "filter parent ffff: protocol ipv6 pref 2 fw.*handle 0x4.*gact action pass.*index [0-9]+ ref [0-9]+ bind [0-9]+",
664 "$TC qdisc del dev $DEV1 ingress"
669 "name": "Add fw filter with protocol arp",
675 "$TC qdisc add dev $DEV1 ingress"
677 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol arp prio 5 handle 7 fw action drop",
679 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 7 prio 5 protocol arp fw",
680 "matchPattern": "filter parent ffff: protocol arp pref 5 fw.*handle 0x7.*gact action drop.*index [0-9]+ ref [0-9]+ bind [0-9]+",
683 "$TC qdisc del dev $DEV1 ingress"
688 "name": "Add fw filter with protocol 802_3",
694 "$TC qdisc add dev $DEV1 ingress"
696 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol 802_3 handle 1 prio 1 fw action ok",
698 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol 802_3 fw",
699 "matchPattern": "filter parent ffff: protocol 802_3 pref 1 fw.*handle 0x1.*gact action pass",
702 "$TC qdisc del dev $DEV1 ingress"
707 "name": "Add fw filter with invalid protocol",
713 "$TC qdisc add dev $DEV1 ingress"
715 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol igmp handle 1 prio 1 fw action ok",
716 "expExitCode": "255",
717 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol igmp fw",
718 "matchPattern": "filter parent ffff: protocol igmp pref 1 fw.*handle 0x1.*gact action pass",
721 "$TC qdisc del dev $DEV1 ingress"
726 "name": "Add fw filters protocol 802_3 and ip with conflicting priorities",
732 "$TC qdisc add dev $DEV1 ingress",
733 "$TC filter add dev $DEV1 parent ffff: protocol 802_3 prio 3 handle 7 fw action ok"
735 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol ip prio 3 handle 8 fw action ok",
737 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 8 prio 3 protocol ip fw",
738 "matchPattern": "filter parent ffff: protocol ip pref 3 fw.*handle 0x8",
741 "$TC qdisc del dev $DEV1 ingress"
746 "name": "Add fw filters with same index, same action",
752 "$TC qdisc add dev $DEV1 ingress",
753 "$TC filter add dev $DEV1 parent ffff: prio 6 handle 2 fw action continue index 5"
755 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 8 handle 4 fw action continue index 5",
757 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 8 protocol all fw",
758 "matchPattern": "filter parent ffff: protocol all pref 8 fw.*handle 0x4.*gact action continue.*index 5 ref 2 bind 2",
761 "$TC qdisc del dev $DEV1 ingress"
766 "name": "Add fw filters with action police",
772 "$TC qdisc add dev $DEV1 ingress"
774 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 handle 4 fw action police rate 1kbit burst 10k index 5",
776 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 3 protocol all fw",
777 "matchPattern": "filter parent ffff: protocol all pref 3 fw.*handle 0x4.*police 0x5 rate 1Kbit burst 10Kb mtu 2Kb action reclassify overhead 0b.*ref 1 bind 1",
780 "$TC qdisc del dev $DEV1 ingress"
785 "name": "Add fw filters with action police linklayer atm",
791 "$TC qdisc add dev $DEV1 ingress"
793 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 handle 4 fw action police rate 2mbit burst 200k linklayer atm index 8",
795 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 3 protocol all fw",
796 "matchPattern": "filter parent ffff: protocol all pref 3 fw.*handle 0x4.*police 0x8 rate 2Mbit burst 200Kb mtu 2Kb action reclassify overhead 0b linklayer atm.*ref 1 bind 1",
799 "$TC qdisc del dev $DEV1 ingress"
804 "name": "Del entire fw filter",
810 "$TC qdisc add dev $DEV1 ingress",
811 "$TC filter add dev $DEV1 parent ffff: handle 5 prio 7 fw action pass",
812 "$TC filter add dev $DEV1 parent ffff: handle 3 prio 9 fw action pass"
814 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff:",
816 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
817 "matchPattern": "protocol all pref.*handle.*gact action pass",
820 "$TC qdisc del dev $DEV1 ingress"
825 "name": "Del single fw filter x1",
826 "__comment__": "First of two tests to check that one filter is there and the other isn't",
832 "$TC qdisc add dev $DEV1 ingress",
833 "$TC filter add dev $DEV1 parent ffff: handle 5 prio 7 fw action pass",
834 "$TC filter add dev $DEV1 parent ffff: handle 3 prio 9 fw action pass"
836 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: handle 3 prio 9 fw action pass",
838 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
839 "matchPattern": "protocol all pref 7.*handle 0x5.*gact action pass",
842 "$TC qdisc del dev $DEV1 ingress"
847 "name": "Del single fw filter x2",
848 "__comment__": "Second of two tests to check that one filter is there and the other isn't",
854 "$TC qdisc add dev $DEV1 ingress",
855 "$TC filter add dev $DEV1 parent ffff: handle 5 prio 7 fw action pass",
856 "$TC filter add dev $DEV1 parent ffff: handle 3 prio 9 fw action pass"
858 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: handle 3 prio 9 fw action pass",
860 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
861 "matchPattern": "protocol all pref 9.*handle 0x3.*gact action pass",
864 "$TC qdisc del dev $DEV1 ingress"
869 "name": "Del fw filter by prio",
875 "$TC qdisc add dev $DEV1 ingress",
876 "$TC filter add dev $DEV1 parent ffff: handle 1 prio 4 fw action ok",
877 "$TC filter add dev $DEV1 parent ffff: handle 2 prio 4 fw action ok"
879 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: prio 4",
881 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
882 "matchPattern": "pref 4 fw.*gact action pass",
885 "$TC qdisc del dev $DEV1 ingress"
890 "name": "Del fw filter by chain",
896 "$TC qdisc add dev $DEV1 ingress",
897 "$TC filter add dev $DEV1 parent ffff: handle 4 prio 2 chain 13 fw action pipe",
898 "$TC filter add dev $DEV1 parent ffff: handle 3 prio 5 chain 13 fw action pipe"
900 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: chain 13",
902 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
903 "matchPattern": "fw chain 13 handle.*gact action pipe",
906 "$TC qdisc del dev $DEV1 ingress"
911 "name": "Del fw filter by action (invalid)",
917 "$TC qdisc add dev $DEV1 ingress",
918 "$TC filter add dev $DEV1 parent ffff: handle 2 prio 4 fw action drop"
920 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: fw action drop",
922 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 2 prio 4 protocol all fw",
923 "matchPattern": "handle 0x2.*gact action drop",
926 "$TC qdisc del dev $DEV1 ingress"
931 "name": "Del fw filter by handle (invalid)",
937 "$TC qdisc add dev $DEV1 ingress",
938 "$TC filter add dev $DEV1 parent ffff: handle 3 prio 4 fw action continue"
940 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: handle 3 fw",
942 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 3 prio 4 protocol all fw",
943 "matchPattern": "handle 0x3.*gact action continue",
946 "$TC qdisc del dev $DEV1 ingress"
951 "name": "Del fw filter by protocol (invalid)",
957 "$TC qdisc add dev $DEV1 ingress",
958 "$TC filter add dev $DEV1 parent ffff: handle 4 prio 2 protocol arp fw action pipe"
960 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: protocol arp fw",
962 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 2 protocol arp fw",
963 "matchPattern": "filter parent ffff: protocol arp.*handle 0x4.*gact action pipe",
966 "$TC qdisc del dev $DEV1 ingress"
971 "name": "Del fw filter by flowid (invalid)",
977 "$TC qdisc add dev $DEV1 ingress",
978 "$TC filter add dev $DEV1 parent ffff: handle 4 prio 2 fw action pipe flowid 45"
980 "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: fw flowid 45",
982 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
983 "matchPattern": "handle 0x4.*gact action pipe",
986 "$TC qdisc del dev $DEV1 ingress"
991 "name": "Replace fw filter action",
997 "$TC qdisc add dev $DEV1 ingress",
998 "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action ok"
1000 "cmdUnderTest": "$TC filter replace dev $DEV1 parent ffff: handle 1 prio 2 fw action pipe",
1002 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1003 "matchPattern": "pref 2 fw.*handle 0x1.*gact action pipe",
1006 "$TC qdisc del dev $DEV1 ingress"
1011 "name": "Replace fw filter classid",
1017 "$TC qdisc add dev $DEV1 ingress",
1018 "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action ok"
1020 "cmdUnderTest": "$TC filter replace dev $DEV1 parent ffff: handle 1 prio 2 fw action pipe classid 2",
1022 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1023 "matchPattern": "pref 2 fw.*handle 0x1 classid :2.*gact action pipe",
1026 "$TC qdisc del dev $DEV1 ingress"
1031 "name": "Replace fw filter index",
1037 "$TC qdisc add dev $DEV1 ingress",
1038 "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action ok index 3"
1040 "cmdUnderTest": "$TC filter replace dev $DEV1 parent ffff: handle 1 prio 2 fw action ok index 16",
1042 "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1043 "matchPattern": "pref 2 fw.*handle 0x1.*gact action pass.*index 16",
1046 "$TC qdisc del dev $DEV1 ingress"