14717b053SRoman Mashak[
24717b053SRoman Mashak    {
34717b053SRoman Mashak        "id": "7a92",
44717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u8/link layer and default action",
54717b053SRoman Mashak        "category": [
64717b053SRoman Mashak            "filter",
74717b053SRoman Mashak            "basic"
84717b053SRoman Mashak        ],
9e9ed4fa7SDavide Caratti        "plugins": {
10e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
11e9ed4fa7SDavide Caratti        },
124717b053SRoman Mashak        "setup": [
134717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
144717b053SRoman Mashak        ],
154717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff gt 10)' classid 1:1",
164717b053SRoman Mashak        "expExitCode": "0",
174717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
184717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*cmp\\(u8 at 0 layer 0 mask 0xff gt 10\\)",
194717b053SRoman Mashak        "matchCount": "1",
204717b053SRoman Mashak        "teardown": [
214717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
224717b053SRoman Mashak        ]
234717b053SRoman Mashak    },
244717b053SRoman Mashak    {
254717b053SRoman Mashak        "id": "2e8a",
264717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u8/link layer with trans flag and default action",
274717b053SRoman Mashak        "category": [
284717b053SRoman Mashak            "filter",
294717b053SRoman Mashak            "basic"
304717b053SRoman Mashak        ],
31e9ed4fa7SDavide Caratti        "plugins": {
32e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
33e9ed4fa7SDavide Caratti        },
344717b053SRoman Mashak        "setup": [
354717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
364717b053SRoman Mashak        ],
374717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff trans gt 10)' classid 1:1",
384717b053SRoman Mashak        "expExitCode": "0",
394717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
404717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*cmp\\(u8 at 0 layer 0 mask 0xff trans gt 10\\)",
414717b053SRoman Mashak        "matchCount": "1",
424717b053SRoman Mashak        "teardown": [
434717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
444717b053SRoman Mashak        ]
454717b053SRoman Mashak    },
464717b053SRoman Mashak    {
474717b053SRoman Mashak        "id": "4d9f",
484717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u16/link layer and a single action",
494717b053SRoman Mashak        "category": [
504717b053SRoman Mashak            "filter",
514717b053SRoman Mashak            "basic"
524717b053SRoman Mashak        ],
53e9ed4fa7SDavide Caratti        "plugins": {
54e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
55e9ed4fa7SDavide Caratti        },
564717b053SRoman Mashak        "setup": [
574717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
584717b053SRoman Mashak        ],
594717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u16 at 0 layer 0 mask 0xff00 lt 3)' action pass",
604717b053SRoman Mashak        "expExitCode": "0",
614717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
624717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u16 at 0 layer 0 mask 0xff00 lt 3\\).*action.*gact action pass",
634717b053SRoman Mashak        "matchCount": "1",
644717b053SRoman Mashak        "teardown": [
654717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
664717b053SRoman Mashak        ]
674717b053SRoman Mashak    },
684717b053SRoman Mashak    {
694717b053SRoman Mashak        "id": "4943",
704717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u32/link layer and miltiple actions",
714717b053SRoman Mashak        "category": [
724717b053SRoman Mashak            "filter",
734717b053SRoman Mashak            "basic"
744717b053SRoman Mashak        ],
75e9ed4fa7SDavide Caratti        "plugins": {
76e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
77e9ed4fa7SDavide Caratti        },
784717b053SRoman Mashak        "setup": [
794717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
804717b053SRoman Mashak        ],
814717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u32 at 4 layer link mask 0xff00ff00 eq 3)' action skbedit mark 7 pipe action gact drop",
824717b053SRoman Mashak        "expExitCode": "0",
834717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
844717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u32 at 4 layer 0 mask 0xff00ff00 eq 3\\).*action.*skbedit.*mark 7 pipe.*action.*gact action drop",
854717b053SRoman Mashak        "matchCount": "1",
864717b053SRoman Mashak        "teardown": [
874717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
884717b053SRoman Mashak        ]
894717b053SRoman Mashak    },
904717b053SRoman Mashak    {
914717b053SRoman Mashak        "id": "7559",
924717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u8/network layer and default action",
934717b053SRoman Mashak        "category": [
944717b053SRoman Mashak            "filter",
954717b053SRoman Mashak            "basic"
964717b053SRoman Mashak        ],
97e9ed4fa7SDavide Caratti        "plugins": {
98e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
99e9ed4fa7SDavide Caratti        },
1004717b053SRoman Mashak        "setup": [
1014717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
1024717b053SRoman Mashak        ],
1034717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0xab protocol ip prio 11 basic match 'cmp(u8 at 0 layer 1 mask 0xff gt 10)' classid 1:1",
1044717b053SRoman Mashak        "expExitCode": "0",
1054717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xab prio 11 protocol ip basic",
1064717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 11 basic.*handle 0xab flowid 1:1.*cmp\\(u8 at 0 layer 1 mask 0xff gt 10\\)",
1074717b053SRoman Mashak        "matchCount": "1",
1084717b053SRoman Mashak        "teardown": [
1094717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
1104717b053SRoman Mashak        ]
1114717b053SRoman Mashak    },
1124717b053SRoman Mashak    {
1134717b053SRoman Mashak        "id": "aff4",
1144717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u8/network layer with trans flag and default action",
1154717b053SRoman Mashak        "category": [
1164717b053SRoman Mashak            "filter",
1174717b053SRoman Mashak            "basic"
1184717b053SRoman Mashak        ],
119e9ed4fa7SDavide Caratti        "plugins": {
120e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
121e9ed4fa7SDavide Caratti        },
1224717b053SRoman Mashak        "setup": [
1234717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
1244717b053SRoman Mashak        ],
1254717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0xab protocol ip prio 11 basic match 'cmp(u8 at 0 layer 1 mask 0xff trans gt 10)' classid 1:1",
1264717b053SRoman Mashak        "expExitCode": "0",
1274717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xab prio 11 protocol ip basic",
1284717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 11 basic.*handle 0xab flowid 1:1.*cmp\\(u8 at 0 layer 1 mask 0xff trans gt 10\\)",
1294717b053SRoman Mashak        "matchCount": "1",
1304717b053SRoman Mashak        "teardown": [
1314717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
1324717b053SRoman Mashak        ]
1334717b053SRoman Mashak    },
1344717b053SRoman Mashak    {
1354717b053SRoman Mashak        "id": "c732",
1364717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u16/network layer and a single action",
1374717b053SRoman Mashak        "category": [
1384717b053SRoman Mashak            "filter",
1394717b053SRoman Mashak            "basic"
1404717b053SRoman Mashak        ],
141e9ed4fa7SDavide Caratti        "plugins": {
142e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
143e9ed4fa7SDavide Caratti        },
1444717b053SRoman Mashak        "setup": [
1454717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
1464717b053SRoman Mashak        ],
1474717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0x100 protocol ip prio 100 basic match 'cmp(u16 at 0 layer network mask 0xff00 lt 3)' action pass",
1484717b053SRoman Mashak        "expExitCode": "0",
1494717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0x100 prio 100 protocol ip basic",
1504717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 100 basic.*handle 0x100.*cmp\\(u16 at 0 layer 1 mask 0xff00 lt 3\\).*action.*gact action pass",
1514717b053SRoman Mashak        "matchCount": "1",
1524717b053SRoman Mashak        "teardown": [
1534717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
1544717b053SRoman Mashak        ]
1554717b053SRoman Mashak    },
1564717b053SRoman Mashak    {
1574717b053SRoman Mashak        "id": "32d8",
1584717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u32/network layer and miltiple actions",
1594717b053SRoman Mashak        "category": [
1604717b053SRoman Mashak            "filter",
1614717b053SRoman Mashak            "basic"
1624717b053SRoman Mashak        ],
163e9ed4fa7SDavide Caratti        "plugins": {
164e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
165e9ed4fa7SDavide Caratti        },
1664717b053SRoman Mashak        "setup": [
1674717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
1684717b053SRoman Mashak        ],
1694717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0x112233 protocol ip prio 7 basic match 'cmp(u32 at 4 layer network mask 0xff00ff00 eq 3)' action skbedit mark 7 pipe action gact drop",
1704717b053SRoman Mashak        "expExitCode": "0",
1714717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0x112233 prio 7 protocol ip basic",
1724717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 7 basic.*handle 0x112233.*cmp\\(u32 at 4 layer 1 mask 0xff00ff00 eq 3\\).*action.*skbedit.*mark 7 pipe.*action.*gact action drop",
1734717b053SRoman Mashak        "matchCount": "1",
1744717b053SRoman Mashak        "teardown": [
1754717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
1764717b053SRoman Mashak        ]
1774717b053SRoman Mashak    },
1784717b053SRoman Mashak    {
179991a3459SDavide Caratti        "id": "b99c",
1804717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u8/transport layer and default action",
1814717b053SRoman Mashak        "category": [
1824717b053SRoman Mashak            "filter",
1834717b053SRoman Mashak            "basic"
1844717b053SRoman Mashak        ],
185e9ed4fa7SDavide Caratti        "plugins": {
186e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
187e9ed4fa7SDavide Caratti        },
1884717b053SRoman Mashak        "setup": [
1894717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
1904717b053SRoman Mashak        ],
1914717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer transport mask 0xff gt 10)' classid 1:1",
1924717b053SRoman Mashak        "expExitCode": "0",
1934717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
1944717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*cmp\\(u8 at 0 layer 2 mask 0xff gt 10\\)",
1954717b053SRoman Mashak        "matchCount": "1",
1964717b053SRoman Mashak        "teardown": [
1974717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
1984717b053SRoman Mashak        ]
1994717b053SRoman Mashak    },
2004717b053SRoman Mashak    {
2014717b053SRoman Mashak        "id": "0752",
2024717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u8/transport layer with trans flag and default action",
2034717b053SRoman Mashak        "category": [
2044717b053SRoman Mashak            "filter",
2054717b053SRoman Mashak            "basic"
2064717b053SRoman Mashak        ],
207e9ed4fa7SDavide Caratti        "plugins": {
208e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
209e9ed4fa7SDavide Caratti        },
2104717b053SRoman Mashak        "setup": [
2114717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
2124717b053SRoman Mashak        ],
2134717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer transport mask 0xff trans gt 10)' classid 1:1",
2144717b053SRoman Mashak        "expExitCode": "0",
2154717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
2164717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*cmp\\(u8 at 0 layer 2 mask 0xff trans gt 10\\)",
2174717b053SRoman Mashak        "matchCount": "1",
2184717b053SRoman Mashak        "teardown": [
2194717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
2204717b053SRoman Mashak        ]
2214717b053SRoman Mashak    },
2224717b053SRoman Mashak    {
2234717b053SRoman Mashak        "id": "7e07",
2244717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u16/transport layer and a single action",
2254717b053SRoman Mashak        "category": [
2264717b053SRoman Mashak            "filter",
2274717b053SRoman Mashak            "basic"
2284717b053SRoman Mashak        ],
229e9ed4fa7SDavide Caratti        "plugins": {
230e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
231e9ed4fa7SDavide Caratti        },
2324717b053SRoman Mashak        "setup": [
2334717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
2344717b053SRoman Mashak        ],
2354717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u16 at 0 layer 2 mask 0xff00 lt 3)' action pass",
2364717b053SRoman Mashak        "expExitCode": "0",
2374717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
2384717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u16 at 0 layer 2 mask 0xff00 lt 3\\).*action.*gact action pass",
2394717b053SRoman Mashak        "matchCount": "1",
2404717b053SRoman Mashak        "teardown": [
2414717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
2424717b053SRoman Mashak        ]
2434717b053SRoman Mashak    },
2444717b053SRoman Mashak    {
2454717b053SRoman Mashak        "id": "62d7",
2464717b053SRoman Mashak        "name": "Add basic filter with cmp ematch u32/transport layer and miltiple actions",
2474717b053SRoman Mashak        "category": [
2484717b053SRoman Mashak            "filter",
2494717b053SRoman Mashak            "basic"
2504717b053SRoman Mashak        ],
251e9ed4fa7SDavide Caratti        "plugins": {
252e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
253e9ed4fa7SDavide Caratti        },
2544717b053SRoman Mashak        "setup": [
2554717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
2564717b053SRoman Mashak        ],
2574717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u32 at 4 layer transport mask 0xff00ff00 eq 3)' action skbedit mark 7 pipe action gact drop",
2584717b053SRoman Mashak        "expExitCode": "0",
2594717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
2604717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u32 at 4 layer 2 mask 0xff00ff00 eq 3\\).*action.*skbedit.*mark 7 pipe.*action.*gact action drop",
2614717b053SRoman Mashak        "matchCount": "1",
2624717b053SRoman Mashak        "teardown": [
2634717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
2644717b053SRoman Mashak        ]
2654717b053SRoman Mashak    },
2664717b053SRoman Mashak    {
2674717b053SRoman Mashak        "id": "304b",
2684717b053SRoman Mashak        "name": "Add basic filter with NOT cmp ematch rule and default action",
2694717b053SRoman Mashak        "category": [
2704717b053SRoman Mashak            "filter",
2714717b053SRoman Mashak            "basic"
2724717b053SRoman Mashak        ],
273e9ed4fa7SDavide Caratti        "plugins": {
274e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
275e9ed4fa7SDavide Caratti        },
2764717b053SRoman Mashak        "setup": [
2774717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
2784717b053SRoman Mashak        ],
2794717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'not cmp(u8 at 0 layer link mask 0xff eq 3)' classid 1:1",
2804717b053SRoman Mashak        "expExitCode": "0",
2814717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
2824717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*NOT cmp\\(u8 at 0 layer 0 mask 0xff eq 3\\)",
2834717b053SRoman Mashak        "matchCount": "1",
2844717b053SRoman Mashak        "teardown": [
2854717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
2864717b053SRoman Mashak        ]
2874717b053SRoman Mashak    },
2884717b053SRoman Mashak    {
2894717b053SRoman Mashak        "id": "8ecb",
2904717b053SRoman Mashak        "name": "Add basic filter with two ANDed cmp ematch rules and single action",
2914717b053SRoman Mashak        "category": [
2924717b053SRoman Mashak            "filter",
2934717b053SRoman Mashak            "basic"
2944717b053SRoman Mashak        ],
295e9ed4fa7SDavide Caratti        "plugins": {
296e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
297e9ed4fa7SDavide Caratti        },
2984717b053SRoman Mashak        "setup": [
2994717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
3004717b053SRoman Mashak        ],
3014717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff eq 3) and cmp(u16 at 8 layer link mask 0x00ff gt 7)' action gact drop",
3024717b053SRoman Mashak        "expExitCode": "0",
3034717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
3044717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u8 at 0 layer 0 mask 0xff eq 3\\).*AND cmp\\(u16 at 8 layer 0 mask 0xff gt 7\\).*action.*gact action drop",
3054717b053SRoman Mashak        "matchCount": "1",
3064717b053SRoman Mashak        "teardown": [
3074717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
3084717b053SRoman Mashak        ]
3094717b053SRoman Mashak    },
3104717b053SRoman Mashak    {
3114717b053SRoman Mashak        "id": "b1ad",
3124717b053SRoman Mashak        "name": "Add basic filter with two ORed cmp ematch rules and single action",
3134717b053SRoman Mashak        "category": [
3144717b053SRoman Mashak            "filter",
3154717b053SRoman Mashak            "basic"
3164717b053SRoman Mashak        ],
317e9ed4fa7SDavide Caratti        "plugins": {
318e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
319e9ed4fa7SDavide Caratti        },
3204717b053SRoman Mashak        "setup": [
3214717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
3224717b053SRoman Mashak        ],
3234717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff eq 3) or cmp(u16 at 8 layer link mask 0x00ff gt 7)' action gact drop",
3244717b053SRoman Mashak        "expExitCode": "0",
3254717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
3264717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u8 at 0 layer 0 mask 0xff eq 3\\).*OR cmp\\(u16 at 8 layer 0 mask 0xff gt 7\\).*action.*gact action drop",
3274717b053SRoman Mashak        "matchCount": "1",
3284717b053SRoman Mashak        "teardown": [
3294717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
3304717b053SRoman Mashak        ]
3314717b053SRoman Mashak    },
3324717b053SRoman Mashak    {
3334717b053SRoman Mashak        "id": "4600",
3344717b053SRoman Mashak        "name": "Add basic filter with two ANDed cmp ematch rules and one ORed ematch rule and single action",
3354717b053SRoman Mashak        "category": [
3364717b053SRoman Mashak            "filter",
3374717b053SRoman Mashak            "basic"
3384717b053SRoman Mashak        ],
339e9ed4fa7SDavide Caratti        "plugins": {
340e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
341e9ed4fa7SDavide Caratti        },
3424717b053SRoman Mashak        "setup": [
3434717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
3444717b053SRoman Mashak        ],
3454717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff eq 3) and cmp(u16 at 8 layer link mask 0x00ff gt 7) or cmp(u32 at 4 layer network mask 0xa0a0 lt 3)' action gact drop",
3464717b053SRoman Mashak        "expExitCode": "0",
3474717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
3484717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u8 at 0 layer 0 mask 0xff eq 3\\).*AND cmp\\(u16 at 8 layer 0 mask 0xff gt 7\\).*OR cmp\\(u32 at 4 layer 1 mask 0xa0a0 lt 3\\).*action.*gact action drop",
3494717b053SRoman Mashak        "matchCount": "1",
3504717b053SRoman Mashak        "teardown": [
3514717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
3524717b053SRoman Mashak        ]
3534717b053SRoman Mashak    },
3544717b053SRoman Mashak    {
3554717b053SRoman Mashak        "id": "bc59",
3564717b053SRoman Mashak        "name": "Add basic filter with two ANDed cmp ematch rules and one NOT ORed ematch rule and single action",
3574717b053SRoman Mashak        "category": [
3584717b053SRoman Mashak            "filter",
3594717b053SRoman Mashak            "basic"
3604717b053SRoman Mashak        ],
361e9ed4fa7SDavide Caratti        "plugins": {
362e9ed4fa7SDavide Caratti            "requires": "nsPlugin"
363e9ed4fa7SDavide Caratti        },
3644717b053SRoman Mashak        "setup": [
3654717b053SRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
3664717b053SRoman Mashak        ],
3674717b053SRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff eq 3) and cmp(u16 at 8 layer link mask 0x00ff gt 7) or not cmp(u32 at 4 layer network mask 0xa0a0 lt 3)' action gact drop",
3684717b053SRoman Mashak        "expExitCode": "0",
3694717b053SRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
3704717b053SRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1.*cmp\\(u8 at 0 layer 0 mask 0xff eq 3\\).*AND cmp\\(u16 at 8 layer 0 mask 0xff gt 7\\).*OR NOT cmp\\(u32 at 4 layer 1 mask 0xa0a0 lt 3\\).*action.*gact action drop",
3714717b053SRoman Mashak        "matchCount": "1",
3724717b053SRoman Mashak        "teardown": [
3734717b053SRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
3744717b053SRoman Mashak        ]
3752bb07f4eSRoman Mashak    },
3762bb07f4eSRoman Mashak    {
3772bb07f4eSRoman Mashak        "id": "bae4",
3782bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/zero offset and default action",
3792bb07f4eSRoman Mashak        "category": [
3802bb07f4eSRoman Mashak            "filter",
3812bb07f4eSRoman Mashak            "basic"
3822bb07f4eSRoman Mashak        ],
3832bb07f4eSRoman Mashak        "plugins": {
3842bb07f4eSRoman Mashak            "requires": "nsPlugin"
3852bb07f4eSRoman Mashak        },
3862bb07f4eSRoman Mashak        "setup": [
3872bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
3882bb07f4eSRoman Mashak        ],
3892bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x11 0x0f at 0)' classid 1:1",
3902bb07f4eSRoman Mashak        "expExitCode": "0",
3912bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
3922bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(01000000/0f000000 at 0\\)",
3932bb07f4eSRoman Mashak        "matchCount": "1",
3942bb07f4eSRoman Mashak        "teardown": [
3952bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
3962bb07f4eSRoman Mashak        ]
3972bb07f4eSRoman Mashak    },
3982bb07f4eSRoman Mashak    {
3992bb07f4eSRoman Mashak        "id": "e6cb",
4002bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/zero offset and invalid value >0xFF",
4012bb07f4eSRoman Mashak        "category": [
4022bb07f4eSRoman Mashak            "filter",
4032bb07f4eSRoman Mashak            "basic"
4042bb07f4eSRoman Mashak        ],
4052bb07f4eSRoman Mashak        "plugins": {
4062bb07f4eSRoman Mashak            "requires": "nsPlugin"
4072bb07f4eSRoman Mashak        },
4082bb07f4eSRoman Mashak        "setup": [
4092bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
4102bb07f4eSRoman Mashak        ],
4112bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x1122 0x0f at 0)' classid 1:1",
4122bb07f4eSRoman Mashak        "expExitCode": "1",
4132bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
4142bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11220000/0f000000 at 0\\)",
4152bb07f4eSRoman Mashak        "matchCount": "0",
4162bb07f4eSRoman Mashak        "teardown": [
4172bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
4182bb07f4eSRoman Mashak        ]
4192bb07f4eSRoman Mashak    },
4202bb07f4eSRoman Mashak    {
4212bb07f4eSRoman Mashak        "id": "7727",
4222bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/positive offset and default action",
4232bb07f4eSRoman Mashak        "category": [
4242bb07f4eSRoman Mashak            "filter",
4252bb07f4eSRoman Mashak            "basic"
4262bb07f4eSRoman Mashak        ],
4272bb07f4eSRoman Mashak        "plugins": {
4282bb07f4eSRoman Mashak            "requires": "nsPlugin"
4292bb07f4eSRoman Mashak        },
4302bb07f4eSRoman Mashak        "setup": [
4312bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
4322bb07f4eSRoman Mashak        ],
4332bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x77 0x1f at 12)' classid 1:1",
4342bb07f4eSRoman Mashak        "expExitCode": "0",
4352bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
4362bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(17000000/1f000000 at 12\\)",
4372bb07f4eSRoman Mashak        "matchCount": "1",
4382bb07f4eSRoman Mashak        "teardown": [
4392bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
4402bb07f4eSRoman Mashak        ]
4412bb07f4eSRoman Mashak    },
4422bb07f4eSRoman Mashak    {
4432bb07f4eSRoman Mashak        "id": "a429",
4442bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/invalid mask >0xFF",
4452bb07f4eSRoman Mashak        "category": [
4462bb07f4eSRoman Mashak            "filter",
4472bb07f4eSRoman Mashak            "basic"
4482bb07f4eSRoman Mashak        ],
4492bb07f4eSRoman Mashak        "plugins": {
4502bb07f4eSRoman Mashak            "requires": "nsPlugin"
4512bb07f4eSRoman Mashak        },
4522bb07f4eSRoman Mashak        "setup": [
4532bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
4542bb07f4eSRoman Mashak        ],
4552bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x77 0xff00 at 12)' classid 1:1",
4562bb07f4eSRoman Mashak        "expExitCode": "1",
4572bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
4582bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77000000/ff000000 at 12\\)",
4592bb07f4eSRoman Mashak        "matchCount": "0",
4602bb07f4eSRoman Mashak        "teardown": [
4612bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
4622bb07f4eSRoman Mashak        ]
4632bb07f4eSRoman Mashak    },
4642bb07f4eSRoman Mashak    {
4652bb07f4eSRoman Mashak        "id": "8373",
4662bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/missing offset",
4672bb07f4eSRoman Mashak        "category": [
4682bb07f4eSRoman Mashak            "filter",
4692bb07f4eSRoman Mashak            "basic"
4702bb07f4eSRoman Mashak        ],
4712bb07f4eSRoman Mashak        "plugins": {
4722bb07f4eSRoman Mashak            "requires": "nsPlugin"
4732bb07f4eSRoman Mashak        },
4742bb07f4eSRoman Mashak        "setup": [
4752bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
4762bb07f4eSRoman Mashak        ],
4772bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x77 0xff at)' classid 1:1",
4782bb07f4eSRoman Mashak        "expExitCode": "1",
4792bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
4802bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77000000 at 12\\)",
4812bb07f4eSRoman Mashak        "matchCount": "0",
4822bb07f4eSRoman Mashak        "teardown": [
4832bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
4842bb07f4eSRoman Mashak        ]
4852bb07f4eSRoman Mashak    },
4862bb07f4eSRoman Mashak    {
4872bb07f4eSRoman Mashak        "id": "ab8e",
4882bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/missing AT keyword",
4892bb07f4eSRoman Mashak        "category": [
4902bb07f4eSRoman Mashak            "filter",
4912bb07f4eSRoman Mashak            "basic"
4922bb07f4eSRoman Mashak        ],
4932bb07f4eSRoman Mashak        "plugins": {
4942bb07f4eSRoman Mashak            "requires": "nsPlugin"
4952bb07f4eSRoman Mashak        },
4962bb07f4eSRoman Mashak        "setup": [
4972bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
4982bb07f4eSRoman Mashak        ],
4992bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x77 0xff 0)' classid 1:1",
5002bb07f4eSRoman Mashak        "expExitCode": "1",
5012bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
5022bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77000000 at 12\\)",
5032bb07f4eSRoman Mashak        "matchCount": "0",
5042bb07f4eSRoman Mashak        "teardown": [
5052bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
5062bb07f4eSRoman Mashak        ]
5072bb07f4eSRoman Mashak    },
5082bb07f4eSRoman Mashak    {
5092bb07f4eSRoman Mashak        "id": "712d",
5102bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/missing value",
5112bb07f4eSRoman Mashak        "category": [
5122bb07f4eSRoman Mashak            "filter",
5132bb07f4eSRoman Mashak            "basic"
5142bb07f4eSRoman Mashak        ],
5152bb07f4eSRoman Mashak        "plugins": {
5162bb07f4eSRoman Mashak            "requires": "nsPlugin"
5172bb07f4eSRoman Mashak        },
5182bb07f4eSRoman Mashak        "setup": [
5192bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
5202bb07f4eSRoman Mashak        ],
5212bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 at 12)' classid 1:1",
5222bb07f4eSRoman Mashak        "expExitCode": "1",
5232bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
5242bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(at 12\\)",
5252bb07f4eSRoman Mashak        "matchCount": "0",
5262bb07f4eSRoman Mashak        "teardown": [
5272bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
5282bb07f4eSRoman Mashak        ]
5292bb07f4eSRoman Mashak    },
5302bb07f4eSRoman Mashak    {
5312bb07f4eSRoman Mashak        "id": "350f",
5322bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/non-numeric value",
5332bb07f4eSRoman Mashak        "category": [
5342bb07f4eSRoman Mashak            "filter",
5352bb07f4eSRoman Mashak            "basic"
5362bb07f4eSRoman Mashak        ],
5372bb07f4eSRoman Mashak        "plugins": {
5382bb07f4eSRoman Mashak            "requires": "nsPlugin"
5392bb07f4eSRoman Mashak        },
5402bb07f4eSRoman Mashak        "setup": [
5412bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
5422bb07f4eSRoman Mashak        ],
5432bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 zero 0xff at 0)' classid 1:1",
5442bb07f4eSRoman Mashak        "expExitCode": "1",
5452bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
5462bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(00000000/ff000000 at 0\\)",
5472bb07f4eSRoman Mashak        "matchCount": "0",
5482bb07f4eSRoman Mashak        "teardown": [
5492bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
5502bb07f4eSRoman Mashak        ]
5512bb07f4eSRoman Mashak    },
5522bb07f4eSRoman Mashak    {
5532bb07f4eSRoman Mashak        "id": "e28f",
5542bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/non-numeric mask",
5552bb07f4eSRoman Mashak        "category": [
5562bb07f4eSRoman Mashak            "filter",
5572bb07f4eSRoman Mashak            "basic"
5582bb07f4eSRoman Mashak        ],
5592bb07f4eSRoman Mashak        "plugins": {
5602bb07f4eSRoman Mashak            "requires": "nsPlugin"
5612bb07f4eSRoman Mashak        },
5622bb07f4eSRoman Mashak        "setup": [
5632bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
5642bb07f4eSRoman Mashak        ],
5652bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x11 mask at 0)' classid 1:1",
5662bb07f4eSRoman Mashak        "expExitCode": "1",
5672bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
5682bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11000000/00000000 at 0\\)",
5692bb07f4eSRoman Mashak        "matchCount": "0",
5702bb07f4eSRoman Mashak        "teardown": [
5712bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
5722bb07f4eSRoman Mashak        ]
5732bb07f4eSRoman Mashak    },
5742bb07f4eSRoman Mashak    {
5752bb07f4eSRoman Mashak        "id": "6d5f",
5762bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/negative offset and default action",
5772bb07f4eSRoman Mashak        "category": [
5782bb07f4eSRoman Mashak            "filter",
5792bb07f4eSRoman Mashak            "basic"
5802bb07f4eSRoman Mashak        ],
5812bb07f4eSRoman Mashak        "plugins": {
5822bb07f4eSRoman Mashak            "requires": "nsPlugin"
5832bb07f4eSRoman Mashak        },
5842bb07f4eSRoman Mashak        "setup": [
5852bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
5862bb07f4eSRoman Mashak        ],
5872bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0xaa 0xf0 at -14)' classid 1:1",
5882bb07f4eSRoman Mashak        "expExitCode": "0",
5892bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
5902bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(0000a000/0000f000 at -16\\)",
5912bb07f4eSRoman Mashak        "matchCount": "1",
5922bb07f4eSRoman Mashak        "teardown": [
5932bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
5942bb07f4eSRoman Mashak        ]
5952bb07f4eSRoman Mashak    },
5962bb07f4eSRoman Mashak    {
5972bb07f4eSRoman Mashak        "id": "12dc",
5982bb07f4eSRoman Mashak        "name": "Add basic filter with u32 ematch u8/nexthdr+ offset and default action",
5992bb07f4eSRoman Mashak        "category": [
6002bb07f4eSRoman Mashak            "filter",
6012bb07f4eSRoman Mashak            "basic"
6022bb07f4eSRoman Mashak        ],
6032bb07f4eSRoman Mashak        "plugins": {
6042bb07f4eSRoman Mashak            "requires": "nsPlugin"
6052bb07f4eSRoman Mashak        },
6062bb07f4eSRoman Mashak        "setup": [
6072bb07f4eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
6082bb07f4eSRoman Mashak        ],
6092bb07f4eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0xaa 0xf0 at nexthdr+0)' classid 1:1",
6102bb07f4eSRoman Mashak        "expExitCode": "0",
6112bb07f4eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
6122bb07f4eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(a0000000/f0000000 at nexthdr\\+0\\)",
6132bb07f4eSRoman Mashak        "matchCount": "1",
6142bb07f4eSRoman Mashak        "teardown": [
6152bb07f4eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
6162bb07f4eSRoman Mashak        ]
6175c4b513eSRoman Mashak    },
6185c4b513eSRoman Mashak    {
6195c4b513eSRoman Mashak        "id": "1d85",
6205c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/zero offset and default action",
6215c4b513eSRoman Mashak        "category": [
6225c4b513eSRoman Mashak            "filter",
6235c4b513eSRoman Mashak            "basic"
6245c4b513eSRoman Mashak        ],
6255c4b513eSRoman Mashak        "plugins": {
6265c4b513eSRoman Mashak            "requires": "nsPlugin"
6275c4b513eSRoman Mashak        },
6285c4b513eSRoman Mashak        "setup": [
6295c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
6305c4b513eSRoman Mashak        ],
6315c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0x1122 0xffff at 0)' classid 1:1",
6325c4b513eSRoman Mashak        "expExitCode": "0",
6335c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
6345c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11220000/ffff0000 at 0\\)",
6355c4b513eSRoman Mashak        "matchCount": "1",
6365c4b513eSRoman Mashak        "teardown": [
6375c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
6385c4b513eSRoman Mashak        ]
6395c4b513eSRoman Mashak    },
6405c4b513eSRoman Mashak    {
6415c4b513eSRoman Mashak        "id": "3672",
6425c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/zero offset and invalid value >0xFFFF",
6435c4b513eSRoman Mashak        "category": [
6445c4b513eSRoman Mashak            "filter",
6455c4b513eSRoman Mashak            "basic"
6465c4b513eSRoman Mashak        ],
6475c4b513eSRoman Mashak        "plugins": {
6485c4b513eSRoman Mashak            "requires": "nsPlugin"
6495c4b513eSRoman Mashak        },
6505c4b513eSRoman Mashak        "setup": [
6515c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
6525c4b513eSRoman Mashak        ],
6535c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0x112233 0xffff at 0)' classid 1:1",
6545c4b513eSRoman Mashak        "expExitCode": "1",
6555c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
6565c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11223300/ffff0000 at 0\\)",
6575c4b513eSRoman Mashak        "matchCount": "0",
6585c4b513eSRoman Mashak        "teardown": [
6595c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
6605c4b513eSRoman Mashak        ]
6615c4b513eSRoman Mashak    },
6625c4b513eSRoman Mashak    {
6635c4b513eSRoman Mashak        "id": "7fb0",
6645c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/positive offset and default action",
6655c4b513eSRoman Mashak        "category": [
6665c4b513eSRoman Mashak            "filter",
6675c4b513eSRoman Mashak            "basic"
6685c4b513eSRoman Mashak        ],
6695c4b513eSRoman Mashak        "plugins": {
6705c4b513eSRoman Mashak            "requires": "nsPlugin"
6715c4b513eSRoman Mashak        },
6725c4b513eSRoman Mashak        "setup": [
6735c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
6745c4b513eSRoman Mashak        ],
6755c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0x7788 0x1fff at 12)' classid 1:1",
6765c4b513eSRoman Mashak        "expExitCode": "0",
6775c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
6785c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(17880000/1fff0000 at 12\\)",
6795c4b513eSRoman Mashak        "matchCount": "1",
6805c4b513eSRoman Mashak        "teardown": [
6815c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
6825c4b513eSRoman Mashak        ]
6835c4b513eSRoman Mashak    },
6845c4b513eSRoman Mashak    {
6855c4b513eSRoman Mashak        "id": "19af",
6865c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/invalid mask >0xFFFF",
6875c4b513eSRoman Mashak        "category": [
6885c4b513eSRoman Mashak            "filter",
6895c4b513eSRoman Mashak            "basic"
6905c4b513eSRoman Mashak        ],
6915c4b513eSRoman Mashak        "plugins": {
6925c4b513eSRoman Mashak            "requires": "nsPlugin"
6935c4b513eSRoman Mashak        },
6945c4b513eSRoman Mashak        "setup": [
6955c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
6965c4b513eSRoman Mashak        ],
6975c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0x7788 0xffffffff at 12)' classid 1:1",
6985c4b513eSRoman Mashak        "expExitCode": "1",
6995c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
7005c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77880000/ffffffff at 12\\)",
7015c4b513eSRoman Mashak        "matchCount": "0",
7025c4b513eSRoman Mashak        "teardown": [
7035c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
7045c4b513eSRoman Mashak        ]
7055c4b513eSRoman Mashak    },
7065c4b513eSRoman Mashak    {
7075c4b513eSRoman Mashak        "id": "446d",
7085c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/missing offset",
7095c4b513eSRoman Mashak        "category": [
7105c4b513eSRoman Mashak            "filter",
7115c4b513eSRoman Mashak            "basic"
7125c4b513eSRoman Mashak        ],
7135c4b513eSRoman Mashak        "plugins": {
7145c4b513eSRoman Mashak            "requires": "nsPlugin"
7155c4b513eSRoman Mashak        },
7165c4b513eSRoman Mashak        "setup": [
7175c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
7185c4b513eSRoman Mashak        ],
7195c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0x7788 0xffff at)' classid 1:1",
7205c4b513eSRoman Mashak        "expExitCode": "1",
7215c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
7225c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77880000 at 12\\)",
7235c4b513eSRoman Mashak        "matchCount": "0",
7245c4b513eSRoman Mashak        "teardown": [
7255c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
7265c4b513eSRoman Mashak        ]
7275c4b513eSRoman Mashak    },
7285c4b513eSRoman Mashak    {
7295c4b513eSRoman Mashak        "id": "151b",
7305c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/missing AT keyword",
7315c4b513eSRoman Mashak        "category": [
7325c4b513eSRoman Mashak            "filter",
7335c4b513eSRoman Mashak            "basic"
7345c4b513eSRoman Mashak        ],
7355c4b513eSRoman Mashak        "plugins": {
7365c4b513eSRoman Mashak            "requires": "nsPlugin"
7375c4b513eSRoman Mashak        },
7385c4b513eSRoman Mashak        "setup": [
7395c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
7405c4b513eSRoman Mashak        ],
7415c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0x7788 0xffff 0)' classid 1:1",
7425c4b513eSRoman Mashak        "expExitCode": "1",
7435c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
7445c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77880000/ffff0000 at 0\\)",
7455c4b513eSRoman Mashak        "matchCount": "0",
7465c4b513eSRoman Mashak        "teardown": [
7475c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
7485c4b513eSRoman Mashak        ]
7495c4b513eSRoman Mashak    },
7505c4b513eSRoman Mashak    {
7515c4b513eSRoman Mashak        "id": "bb23",
7525c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/missing value",
7535c4b513eSRoman Mashak        "category": [
7545c4b513eSRoman Mashak            "filter",
7555c4b513eSRoman Mashak            "basic"
7565c4b513eSRoman Mashak        ],
7575c4b513eSRoman Mashak        "plugins": {
7585c4b513eSRoman Mashak            "requires": "nsPlugin"
7595c4b513eSRoman Mashak        },
7605c4b513eSRoman Mashak        "setup": [
7615c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
7625c4b513eSRoman Mashak        ],
7635c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 at 12)' classid 1:1",
7645c4b513eSRoman Mashak        "expExitCode": "1",
7655c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
7665c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(at 12\\)",
7675c4b513eSRoman Mashak        "matchCount": "0",
7685c4b513eSRoman Mashak        "teardown": [
7695c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
7705c4b513eSRoman Mashak        ]
7715c4b513eSRoman Mashak    },
7725c4b513eSRoman Mashak    {
7735c4b513eSRoman Mashak        "id": "decc",
7745c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/non-numeric value",
7755c4b513eSRoman Mashak        "category": [
7765c4b513eSRoman Mashak            "filter",
7775c4b513eSRoman Mashak            "basic"
7785c4b513eSRoman Mashak        ],
7795c4b513eSRoman Mashak        "plugins": {
7805c4b513eSRoman Mashak            "requires": "nsPlugin"
7815c4b513eSRoman Mashak        },
7825c4b513eSRoman Mashak        "setup": [
7835c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
7845c4b513eSRoman Mashak        ],
7855c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 zero 0xffff at 0)' classid 1:1",
7865c4b513eSRoman Mashak        "expExitCode": "1",
7875c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
7885c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(00000000/ffff0000 at 0\\)",
7895c4b513eSRoman Mashak        "matchCount": "0",
7905c4b513eSRoman Mashak        "teardown": [
7915c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
7925c4b513eSRoman Mashak        ]
7935c4b513eSRoman Mashak    },
7945c4b513eSRoman Mashak    {
7955c4b513eSRoman Mashak        "id": "e988",
7965c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/non-numeric mask",
7975c4b513eSRoman Mashak        "category": [
7985c4b513eSRoman Mashak            "filter",
7995c4b513eSRoman Mashak            "basic"
8005c4b513eSRoman Mashak        ],
8015c4b513eSRoman Mashak        "plugins": {
8025c4b513eSRoman Mashak            "requires": "nsPlugin"
8035c4b513eSRoman Mashak        },
8045c4b513eSRoman Mashak        "setup": [
8055c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
8065c4b513eSRoman Mashak        ],
8075c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u8 0x1122 mask at 0)' classid 1:1",
8085c4b513eSRoman Mashak        "expExitCode": "1",
8095c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
8105c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11220000/00000000 at 0\\)",
8115c4b513eSRoman Mashak        "matchCount": "0",
8125c4b513eSRoman Mashak        "teardown": [
8135c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
8145c4b513eSRoman Mashak        ]
8155c4b513eSRoman Mashak    },
8165c4b513eSRoman Mashak    {
8175c4b513eSRoman Mashak        "id": "07d8",
8185c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/negative offset and default action",
8195c4b513eSRoman Mashak        "category": [
8205c4b513eSRoman Mashak            "filter",
8215c4b513eSRoman Mashak            "basic"
8225c4b513eSRoman Mashak        ],
8235c4b513eSRoman Mashak        "plugins": {
8245c4b513eSRoman Mashak            "requires": "nsPlugin"
8255c4b513eSRoman Mashak        },
8265c4b513eSRoman Mashak        "setup": [
8275c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
8285c4b513eSRoman Mashak        ],
8295c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0xaabb 0xffff at -12)' classid 1:1",
8305c4b513eSRoman Mashak        "expExitCode": "0",
8315c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
8325c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(aabb0000/ffff0000 at -12\\)",
8335c4b513eSRoman Mashak        "matchCount": "1",
8345c4b513eSRoman Mashak        "teardown": [
8355c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
8365c4b513eSRoman Mashak        ]
8375c4b513eSRoman Mashak    },
8385c4b513eSRoman Mashak    {
8395c4b513eSRoman Mashak        "id": "f474",
8405c4b513eSRoman Mashak        "name": "Add basic filter with u32 ematch u16/nexthdr+ offset and default action",
8415c4b513eSRoman Mashak        "category": [
8425c4b513eSRoman Mashak            "filter",
8435c4b513eSRoman Mashak            "basic"
8445c4b513eSRoman Mashak        ],
8455c4b513eSRoman Mashak        "plugins": {
8465c4b513eSRoman Mashak            "requires": "nsPlugin"
8475c4b513eSRoman Mashak        },
8485c4b513eSRoman Mashak        "setup": [
8495c4b513eSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
8505c4b513eSRoman Mashak        ],
8515c4b513eSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u16 0xaabb 0xf0f0 at nexthdr+0)' classid 1:1",
8525c4b513eSRoman Mashak        "expExitCode": "0",
8535c4b513eSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
8545c4b513eSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(a0b00000/f0f00000 at nexthdr\\+0\\)",
8555c4b513eSRoman Mashak        "matchCount": "1",
8565c4b513eSRoman Mashak        "teardown": [
8575c4b513eSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
8585c4b513eSRoman Mashak        ]
8593c419a2cSRoman Mashak    },
8603c419a2cSRoman Mashak    {
8613c419a2cSRoman Mashak        "id": "47a0",
8623c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/zero offset and default action",
8633c419a2cSRoman Mashak        "category": [
8643c419a2cSRoman Mashak            "filter",
8653c419a2cSRoman Mashak            "basic"
8663c419a2cSRoman Mashak        ],
8673c419a2cSRoman Mashak        "plugins": {
8683c419a2cSRoman Mashak            "requires": "nsPlugin"
8693c419a2cSRoman Mashak        },
8703c419a2cSRoman Mashak        "setup": [
8713c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
8723c419a2cSRoman Mashak        ],
8733c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0xaabbccdd 0xffffffff at 0)' classid 1:1",
8743c419a2cSRoman Mashak        "expExitCode": "0",
8753c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
8763c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(aabbccdd/ffffffff at 0\\)",
8773c419a2cSRoman Mashak        "matchCount": "1",
8783c419a2cSRoman Mashak        "teardown": [
8793c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
8803c419a2cSRoman Mashak        ]
8813c419a2cSRoman Mashak    },
8823c419a2cSRoman Mashak    {
8833c419a2cSRoman Mashak        "id": "849f",
8843c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/positive offset and default action",
8853c419a2cSRoman Mashak        "category": [
8863c419a2cSRoman Mashak            "filter",
8873c419a2cSRoman Mashak            "basic"
8883c419a2cSRoman Mashak        ],
8893c419a2cSRoman Mashak        "plugins": {
8903c419a2cSRoman Mashak            "requires": "nsPlugin"
8913c419a2cSRoman Mashak        },
8923c419a2cSRoman Mashak        "setup": [
8933c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
8943c419a2cSRoman Mashak        ],
8953c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0x11227788 0x1ffff0f0 at 12)' classid 1:1",
8963c419a2cSRoman Mashak        "expExitCode": "0",
8973c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
8983c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11227080/1ffff0f0 at 12\\)",
8993c419a2cSRoman Mashak        "matchCount": "1",
9003c419a2cSRoman Mashak        "teardown": [
9013c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
9023c419a2cSRoman Mashak        ]
9033c419a2cSRoman Mashak    },
9043c419a2cSRoman Mashak    {
9053c419a2cSRoman Mashak        "id": "d288",
9063c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/missing offset",
9073c419a2cSRoman Mashak        "category": [
9083c419a2cSRoman Mashak            "filter",
9093c419a2cSRoman Mashak            "basic"
9103c419a2cSRoman Mashak        ],
9113c419a2cSRoman Mashak        "plugins": {
9123c419a2cSRoman Mashak            "requires": "nsPlugin"
9133c419a2cSRoman Mashak        },
9143c419a2cSRoman Mashak        "setup": [
9153c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
9163c419a2cSRoman Mashak        ],
9173c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0x11227788 0xffffffff at)' classid 1:1",
9183c419a2cSRoman Mashak        "expExitCode": "1",
9193c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
9203c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11227788/ffffffff at 12\\)",
9213c419a2cSRoman Mashak        "matchCount": "0",
9223c419a2cSRoman Mashak        "teardown": [
9233c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
9243c419a2cSRoman Mashak        ]
9253c419a2cSRoman Mashak    },
9263c419a2cSRoman Mashak    {
9273c419a2cSRoman Mashak        "id": "4998",
9283c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/missing AT keyword",
9293c419a2cSRoman Mashak        "category": [
9303c419a2cSRoman Mashak            "filter",
9313c419a2cSRoman Mashak            "basic"
9323c419a2cSRoman Mashak        ],
9333c419a2cSRoman Mashak        "plugins": {
9343c419a2cSRoman Mashak            "requires": "nsPlugin"
9353c419a2cSRoman Mashak        },
9363c419a2cSRoman Mashak        "setup": [
9373c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
9383c419a2cSRoman Mashak        ],
9393c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0x77889900 0xfffff0f0 0)' classid 1:1",
9403c419a2cSRoman Mashak        "expExitCode": "1",
9413c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
9423c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(77889900/fffff0f0 at 0\\)",
9433c419a2cSRoman Mashak        "matchCount": "0",
9443c419a2cSRoman Mashak        "teardown": [
9453c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
9463c419a2cSRoman Mashak        ]
9473c419a2cSRoman Mashak    },
9483c419a2cSRoman Mashak    {
9493c419a2cSRoman Mashak        "id": "1f0a",
9503c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/missing value",
9513c419a2cSRoman Mashak        "category": [
9523c419a2cSRoman Mashak            "filter",
9533c419a2cSRoman Mashak            "basic"
9543c419a2cSRoman Mashak        ],
9553c419a2cSRoman Mashak        "plugins": {
9563c419a2cSRoman Mashak            "requires": "nsPlugin"
9573c419a2cSRoman Mashak        },
9583c419a2cSRoman Mashak        "setup": [
9593c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
9603c419a2cSRoman Mashak        ],
9613c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 at 12)' classid 1:1",
9623c419a2cSRoman Mashak        "expExitCode": "1",
9633c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
9643c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(at 12\\)",
9653c419a2cSRoman Mashak        "matchCount": "0",
9663c419a2cSRoman Mashak        "teardown": [
9673c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
9683c419a2cSRoman Mashak        ]
9693c419a2cSRoman Mashak    },
9703c419a2cSRoman Mashak    {
9713c419a2cSRoman Mashak        "id": "848e",
9723c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/non-numeric value",
9733c419a2cSRoman Mashak        "category": [
9743c419a2cSRoman Mashak            "filter",
9753c419a2cSRoman Mashak            "basic"
9763c419a2cSRoman Mashak        ],
9773c419a2cSRoman Mashak        "plugins": {
9783c419a2cSRoman Mashak            "requires": "nsPlugin"
9793c419a2cSRoman Mashak        },
9803c419a2cSRoman Mashak        "setup": [
9813c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
9823c419a2cSRoman Mashak        ],
9833c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 zero 0xffff at 0)' classid 1:1",
9843c419a2cSRoman Mashak        "expExitCode": "1",
9853c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
9863c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(00000000/ffff0000 at 0\\)",
9873c419a2cSRoman Mashak        "matchCount": "0",
9883c419a2cSRoman Mashak        "teardown": [
9893c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
9903c419a2cSRoman Mashak        ]
9913c419a2cSRoman Mashak    },
9923c419a2cSRoman Mashak    {
9933c419a2cSRoman Mashak        "id": "f748",
9943c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/non-numeric mask",
9953c419a2cSRoman Mashak        "category": [
9963c419a2cSRoman Mashak            "filter",
9973c419a2cSRoman Mashak            "basic"
9983c419a2cSRoman Mashak        ],
9993c419a2cSRoman Mashak        "plugins": {
10003c419a2cSRoman Mashak            "requires": "nsPlugin"
10013c419a2cSRoman Mashak        },
10023c419a2cSRoman Mashak        "setup": [
10033c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
10043c419a2cSRoman Mashak        ],
10053c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0x11223344 mask at 0)' classid 1:1",
10063c419a2cSRoman Mashak        "expExitCode": "1",
10073c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
10083c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(11223344/00000000 at 0\\)",
10093c419a2cSRoman Mashak        "matchCount": "0",
10103c419a2cSRoman Mashak        "teardown": [
10113c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
10123c419a2cSRoman Mashak        ]
10133c419a2cSRoman Mashak    },
10143c419a2cSRoman Mashak    {
10153c419a2cSRoman Mashak        "id": "55a6",
10163c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/negative offset and default action",
10173c419a2cSRoman Mashak        "category": [
10183c419a2cSRoman Mashak            "filter",
10193c419a2cSRoman Mashak            "basic"
10203c419a2cSRoman Mashak        ],
10213c419a2cSRoman Mashak        "plugins": {
10223c419a2cSRoman Mashak            "requires": "nsPlugin"
10233c419a2cSRoman Mashak        },
10243c419a2cSRoman Mashak        "setup": [
10253c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
10263c419a2cSRoman Mashak        ],
10273c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0xaabbccdd 0xff00ff00 at -12)' classid 1:1",
10283c419a2cSRoman Mashak        "expExitCode": "0",
10293c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
10303c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(aa00cc00/ff00ff00 at -12\\)",
10313c419a2cSRoman Mashak        "matchCount": "1",
10323c419a2cSRoman Mashak        "teardown": [
10333c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
10343c419a2cSRoman Mashak        ]
10353c419a2cSRoman Mashak    },
10363c419a2cSRoman Mashak    {
10373c419a2cSRoman Mashak        "id": "7282",
10383c419a2cSRoman Mashak        "name": "Add basic filter with u32 ematch u32/nexthdr+ offset and default action",
10393c419a2cSRoman Mashak        "category": [
10403c419a2cSRoman Mashak            "filter",
10413c419a2cSRoman Mashak            "basic"
10423c419a2cSRoman Mashak        ],
10433c419a2cSRoman Mashak        "plugins": {
10443c419a2cSRoman Mashak            "requires": "nsPlugin"
10453c419a2cSRoman Mashak        },
10463c419a2cSRoman Mashak        "setup": [
10473c419a2cSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
10483c419a2cSRoman Mashak        ],
10493c419a2cSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'u32(u32 0xaabbccdd 0xffffffff at nexthdr+0)' classid 1:1",
10503c419a2cSRoman Mashak        "expExitCode": "0",
10513c419a2cSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
10523c419a2cSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*u32\\(aabbccdd/ffffffff at nexthdr\\+0\\)",
10533c419a2cSRoman Mashak        "matchCount": "1",
10543c419a2cSRoman Mashak        "teardown": [
10553c419a2cSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
10563c419a2cSRoman Mashak        ]
10579dd620afSRoman Mashak    },
10589dd620afSRoman Mashak    {
10599dd620afSRoman Mashak        "id": "b2b6",
10609dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and single SFF",
10619dd620afSRoman Mashak        "category": [
10629dd620afSRoman Mashak            "filter",
10639dd620afSRoman Mashak            "basic"
10649dd620afSRoman Mashak        ],
10659dd620afSRoman Mashak        "plugins": {
10669dd620afSRoman Mashak            "requires": "nsPlugin"
10679dd620afSRoman Mashak        },
10689dd620afSRoman Mashak        "setup": [
10699dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
10709dd620afSRoman Mashak        ],
10719dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(sff 1)' classid 1:1",
10729dd620afSRoman Mashak        "expExitCode": "0",
10739dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
10749dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(sff 0x1\\)",
10759dd620afSRoman Mashak        "matchCount": "1",
10769dd620afSRoman Mashak        "teardown": [
10779dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
10789dd620afSRoman Mashak        ]
10799dd620afSRoman Mashak    },
10809dd620afSRoman Mashak    {
10819dd620afSRoman Mashak        "id": "f67f",
10829dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and single SFF with mask",
10839dd620afSRoman Mashak        "category": [
10849dd620afSRoman Mashak            "filter",
10859dd620afSRoman Mashak            "basic"
10869dd620afSRoman Mashak        ],
10879dd620afSRoman Mashak        "plugins": {
10889dd620afSRoman Mashak            "requires": "nsPlugin"
10899dd620afSRoman Mashak        },
10909dd620afSRoman Mashak        "setup": [
10919dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
10929dd620afSRoman Mashak        ],
10939dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(sff 0xaabb:0x00ff)' classid 1:1",
10949dd620afSRoman Mashak        "expExitCode": "0",
10959dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
10969dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(sff 0x2BB:0xFF\\)",
10979dd620afSRoman Mashak        "matchCount": "1",
10989dd620afSRoman Mashak        "teardown": [
10999dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
11009dd620afSRoman Mashak        ]
11019dd620afSRoman Mashak    },
11029dd620afSRoman Mashak    {
11039dd620afSRoman Mashak        "id": "bd5c",
11049dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and multiple SFF",
11059dd620afSRoman Mashak        "category": [
11069dd620afSRoman Mashak            "filter",
11079dd620afSRoman Mashak            "basic"
11089dd620afSRoman Mashak        ],
11099dd620afSRoman Mashak        "plugins": {
11109dd620afSRoman Mashak            "requires": "nsPlugin"
11119dd620afSRoman Mashak        },
11129dd620afSRoman Mashak        "setup": [
11139dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
11149dd620afSRoman Mashak        ],
11159dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(sff 1 sff 2 sff 3)' classid 1:1",
11169dd620afSRoman Mashak        "expExitCode": "0",
11179dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
11189dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(sff 0x1 sff 0x2 sff 0x3\\)",
11199dd620afSRoman Mashak        "matchCount": "1",
11209dd620afSRoman Mashak        "teardown": [
11219dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
11229dd620afSRoman Mashak        ]
11239dd620afSRoman Mashak    },
11249dd620afSRoman Mashak    {
11259dd620afSRoman Mashak        "id": "83c7",
11269dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and multiple SFF with masks",
11279dd620afSRoman Mashak        "category": [
11289dd620afSRoman Mashak            "filter",
11299dd620afSRoman Mashak            "basic"
11309dd620afSRoman Mashak        ],
11319dd620afSRoman Mashak        "plugins": {
11329dd620afSRoman Mashak            "requires": "nsPlugin"
11339dd620afSRoman Mashak        },
11349dd620afSRoman Mashak        "setup": [
11359dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
11369dd620afSRoman Mashak        ],
11379dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(sff 0xaa:0x01 sff 0xbb:0x02 sff 0xcc:0x03)' classid 1:1",
11389dd620afSRoman Mashak        "expExitCode": "0",
11399dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
11409dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(sff 0xAA:0x1 sff 0xBB:0x2 sff 0xCC:0x3\\)",
11419dd620afSRoman Mashak        "matchCount": "1",
11429dd620afSRoman Mashak        "teardown": [
11439dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
11449dd620afSRoman Mashak        ]
11459dd620afSRoman Mashak    },
11469dd620afSRoman Mashak    {
11479dd620afSRoman Mashak        "id": "a8f5",
11489dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and single EFF",
11499dd620afSRoman Mashak        "category": [
11509dd620afSRoman Mashak            "filter",
11519dd620afSRoman Mashak            "basic"
11529dd620afSRoman Mashak        ],
11539dd620afSRoman Mashak        "plugins": {
11549dd620afSRoman Mashak            "requires": "nsPlugin"
11559dd620afSRoman Mashak        },
11569dd620afSRoman Mashak        "setup": [
11579dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
11589dd620afSRoman Mashak        ],
11599dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(eff 1)' classid 1:1",
11609dd620afSRoman Mashak        "expExitCode": "0",
11619dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
11629dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(eff 0x1\\)",
11639dd620afSRoman Mashak        "matchCount": "1",
11649dd620afSRoman Mashak        "teardown": [
11659dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
11669dd620afSRoman Mashak        ]
11679dd620afSRoman Mashak    },
11689dd620afSRoman Mashak    {
11699dd620afSRoman Mashak        "id": "98ae",
11709dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and single EFF with mask",
11719dd620afSRoman Mashak        "category": [
11729dd620afSRoman Mashak            "filter",
11739dd620afSRoman Mashak            "basic"
11749dd620afSRoman Mashak        ],
11759dd620afSRoman Mashak        "plugins": {
11769dd620afSRoman Mashak            "requires": "nsPlugin"
11779dd620afSRoman Mashak        },
11789dd620afSRoman Mashak        "setup": [
11799dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
11809dd620afSRoman Mashak        ],
11819dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(eff 0xaabb:0xf1f1)' classid 1:1",
11829dd620afSRoman Mashak        "expExitCode": "0",
11839dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
11849dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(eff 0xAABB:0xF1F1\\)",
11859dd620afSRoman Mashak        "matchCount": "1",
11869dd620afSRoman Mashak        "teardown": [
11879dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
11889dd620afSRoman Mashak        ]
11899dd620afSRoman Mashak    },
11909dd620afSRoman Mashak    {
11919dd620afSRoman Mashak        "id": "6056",
11929dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and multiple EFF",
11939dd620afSRoman Mashak        "category": [
11949dd620afSRoman Mashak            "filter",
11959dd620afSRoman Mashak            "basic"
11969dd620afSRoman Mashak        ],
11979dd620afSRoman Mashak        "plugins": {
11989dd620afSRoman Mashak            "requires": "nsPlugin"
11999dd620afSRoman Mashak        },
12009dd620afSRoman Mashak        "setup": [
12019dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
12029dd620afSRoman Mashak        ],
12039dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(eff 1 eff 2 eff 3)' classid 1:1",
12049dd620afSRoman Mashak        "expExitCode": "0",
12059dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
12069dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(eff 0x1 eff 0x2 eff 0x3\\)",
12079dd620afSRoman Mashak        "matchCount": "1",
12089dd620afSRoman Mashak        "teardown": [
12099dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
12109dd620afSRoman Mashak        ]
12119dd620afSRoman Mashak    },
12129dd620afSRoman Mashak    {
12139dd620afSRoman Mashak        "id": "d188",
12149dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and multiple EFF with masks",
12159dd620afSRoman Mashak        "category": [
12169dd620afSRoman Mashak            "filter",
12179dd620afSRoman Mashak            "basic"
12189dd620afSRoman Mashak        ],
12199dd620afSRoman Mashak        "plugins": {
12209dd620afSRoman Mashak            "requires": "nsPlugin"
12219dd620afSRoman Mashak        },
12229dd620afSRoman Mashak        "setup": [
12239dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
12249dd620afSRoman Mashak        ],
12259dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(eff 0xaa:0x01 eff 0xbb:0x02 eff 0xcc:0x03)' classid 1:1",
12269dd620afSRoman Mashak        "expExitCode": "0",
12279dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
12289dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(eff 0xAA:0x1 eff 0xBB:0x2 eff 0xCC:0x3\\)",
12299dd620afSRoman Mashak        "matchCount": "1",
12309dd620afSRoman Mashak        "teardown": [
12319dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
12329dd620afSRoman Mashak        ]
12339dd620afSRoman Mashak    },
12349dd620afSRoman Mashak    {
12359dd620afSRoman Mashak        "id": "25d1",
12369dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and a combination of SFF/EFF",
12379dd620afSRoman Mashak        "category": [
12389dd620afSRoman Mashak            "filter",
12399dd620afSRoman Mashak            "basic"
12409dd620afSRoman Mashak        ],
12419dd620afSRoman Mashak        "plugins": {
12429dd620afSRoman Mashak            "requires": "nsPlugin"
12439dd620afSRoman Mashak        },
12449dd620afSRoman Mashak        "setup": [
12459dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
12469dd620afSRoman Mashak        ],
12479dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(sff 0x01 eff 0x02)' classid 1:1",
12489dd620afSRoman Mashak        "expExitCode": "0",
12499dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
12509dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(eff 0x2 sff 0x1\\)",
12519dd620afSRoman Mashak        "matchCount": "1",
12529dd620afSRoman Mashak        "teardown": [
12539dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
12549dd620afSRoman Mashak        ]
12559dd620afSRoman Mashak    },
12569dd620afSRoman Mashak    {
12579dd620afSRoman Mashak        "id": "b438",
12589dd620afSRoman Mashak        "name": "Add basic filter with canid ematch and a combination of SFF/EFF with masks",
12599dd620afSRoman Mashak        "category": [
12609dd620afSRoman Mashak            "filter",
12619dd620afSRoman Mashak            "basic"
12629dd620afSRoman Mashak        ],
12639dd620afSRoman Mashak        "plugins": {
12649dd620afSRoman Mashak            "requires": "nsPlugin"
12659dd620afSRoman Mashak        },
12669dd620afSRoman Mashak        "setup": [
12679dd620afSRoman Mashak            "$TC qdisc add dev $DEV1 ingress"
12689dd620afSRoman Mashak        ],
12699dd620afSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'canid(sff 0x01:0xf eff 0x02:0xf)' classid 1:1",
12709dd620afSRoman Mashak        "expExitCode": "0",
12719dd620afSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol ip basic",
12729dd620afSRoman Mashak        "matchPattern": "^filter parent ffff: protocol ip pref 1 basic.*handle 0x1 flowid 1:1.*canid\\(eff 0x2:0xF sff 0x1:0xF\\)",
12739dd620afSRoman Mashak        "matchCount": "1",
12749dd620afSRoman Mashak        "teardown": [
12759dd620afSRoman Mashak            "$TC qdisc del dev $DEV1 ingress"
12769dd620afSRoman Mashak        ]
1277*972e8861SZhengchao Shao    },
1278*972e8861SZhengchao Shao    {
1279*972e8861SZhengchao Shao        "id": "0811",
1280*972e8861SZhengchao Shao        "name": "Add multiple basic filter with cmp ematch u8/link layer and default action and dump them",
1281*972e8861SZhengchao Shao        "category": [
1282*972e8861SZhengchao Shao            "filter",
1283*972e8861SZhengchao Shao            "basic"
1284*972e8861SZhengchao Shao        ],
1285*972e8861SZhengchao Shao        "plugins": {
1286*972e8861SZhengchao Shao            "requires": "nsPlugin"
1287*972e8861SZhengchao Shao        },
1288*972e8861SZhengchao Shao        "setup": [
1289*972e8861SZhengchao Shao            "$TC qdisc add dev $DEV1 ingress",
1290*972e8861SZhengchao Shao            "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff gt 10)' classid 1:1"
1291*972e8861SZhengchao Shao        ],
1292*972e8861SZhengchao Shao        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 2 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff gt 10)' classid 1:1",
1293*972e8861SZhengchao Shao        "expExitCode": "0",
1294*972e8861SZhengchao Shao        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1295*972e8861SZhengchao Shao        "matchPattern": "^filter protocol ip pref 1 basic",
1296*972e8861SZhengchao Shao        "matchCount": "3",
1297*972e8861SZhengchao Shao        "teardown": [
1298*972e8861SZhengchao Shao            "$TC qdisc del dev $DEV1 ingress"
1299*972e8861SZhengchao Shao        ]
1300*972e8861SZhengchao Shao    },
1301*972e8861SZhengchao Shao    {
1302*972e8861SZhengchao Shao        "id": "5129",
1303*972e8861SZhengchao Shao        "name": "List basic filters",
1304*972e8861SZhengchao Shao        "category": [
1305*972e8861SZhengchao Shao            "filter",
1306*972e8861SZhengchao Shao            "basic"
1307*972e8861SZhengchao Shao        ],
1308*972e8861SZhengchao Shao        "plugins": {
1309*972e8861SZhengchao Shao            "requires": "nsPlugin"
1310*972e8861SZhengchao Shao        },
1311*972e8861SZhengchao Shao        "setup": [
1312*972e8861SZhengchao Shao            "$TC qdisc add dev $DEV1 ingress",
1313*972e8861SZhengchao Shao            "$TC filter add dev $DEV1 parent ffff: handle 1 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff gt 10)' classid 1:1",
1314*972e8861SZhengchao Shao            "$TC filter add dev $DEV1 parent ffff: handle 2 protocol ip prio 1 basic match 'cmp(u8 at 0 layer link mask 0xff gt 10)' classid 1:1"
1315*972e8861SZhengchao Shao        ],
1316*972e8861SZhengchao Shao        "cmdUnderTest": "$TC filter show dev $DEV1 parent ffff:",
1317*972e8861SZhengchao Shao        "expExitCode": "0",
1318*972e8861SZhengchao Shao        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1319*972e8861SZhengchao Shao        "matchPattern": "cmp\\(u8 at 0 layer 0 mask 0xff gt 10\\)",
1320*972e8861SZhengchao Shao        "matchCount": "2",
1321*972e8861SZhengchao Shao        "teardown": [
1322*972e8861SZhengchao Shao            "$TC qdisc del dev $DEV1 ingress"
1323*972e8861SZhengchao Shao        ]
13244717b053SRoman Mashak    }
13254717b053SRoman Mashak]
1326