18c2ecf20Sopenharmony_ci[
28c2ecf20Sopenharmony_ci    {
38c2ecf20Sopenharmony_ci        "id": "d959",
48c2ecf20Sopenharmony_ci        "name": "Add cBPF action with valid bytecode",
58c2ecf20Sopenharmony_ci        "category": [
68c2ecf20Sopenharmony_ci            "actions",
78c2ecf20Sopenharmony_ci            "bpf"
88c2ecf20Sopenharmony_ci        ],
98c2ecf20Sopenharmony_ci        "setup": [
108c2ecf20Sopenharmony_ci            [
118c2ecf20Sopenharmony_ci                "$TC action flush action bpf",
128c2ecf20Sopenharmony_ci                0,
138c2ecf20Sopenharmony_ci                1,
148c2ecf20Sopenharmony_ci                255
158c2ecf20Sopenharmony_ci            ]
168c2ecf20Sopenharmony_ci        ],
178c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 100",
188c2ecf20Sopenharmony_ci        "expExitCode": "0",
198c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 100",
208c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 100 ref",
218c2ecf20Sopenharmony_ci        "matchCount": "1",
228c2ecf20Sopenharmony_ci        "teardown": [
238c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
248c2ecf20Sopenharmony_ci        ]
258c2ecf20Sopenharmony_ci    },
268c2ecf20Sopenharmony_ci    {
278c2ecf20Sopenharmony_ci        "id": "f84a",
288c2ecf20Sopenharmony_ci        "name": "Add cBPF action with invalid bytecode",
298c2ecf20Sopenharmony_ci        "category": [
308c2ecf20Sopenharmony_ci            "actions",
318c2ecf20Sopenharmony_ci            "bpf"
328c2ecf20Sopenharmony_ci        ],
338c2ecf20Sopenharmony_ci        "setup": [
348c2ecf20Sopenharmony_ci            [
358c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
368c2ecf20Sopenharmony_ci                0,
378c2ecf20Sopenharmony_ci                1,
388c2ecf20Sopenharmony_ci                255
398c2ecf20Sopenharmony_ci            ]
408c2ecf20Sopenharmony_ci        ],
418c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,31 0 1 2048,6 0 0 262144,6 0 0 0' index 100",
428c2ecf20Sopenharmony_ci        "expExitCode": "255",
438c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 100",
448c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,31 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 100 ref",
458c2ecf20Sopenharmony_ci        "matchCount": "0",
468c2ecf20Sopenharmony_ci        "teardown": [
478c2ecf20Sopenharmony_ci            "$TC actions flush action bpf"
488c2ecf20Sopenharmony_ci        ]
498c2ecf20Sopenharmony_ci    },
508c2ecf20Sopenharmony_ci    {
518c2ecf20Sopenharmony_ci        "id": "e939",
528c2ecf20Sopenharmony_ci        "name": "Add eBPF action with valid object-file",
538c2ecf20Sopenharmony_ci        "category": [
548c2ecf20Sopenharmony_ci            "actions",
558c2ecf20Sopenharmony_ci            "bpf"
568c2ecf20Sopenharmony_ci        ],
578c2ecf20Sopenharmony_ci        "plugins": {
588c2ecf20Sopenharmony_ci                "requires": "buildebpfPlugin"
598c2ecf20Sopenharmony_ci        },
608c2ecf20Sopenharmony_ci        "setup": [
618c2ecf20Sopenharmony_ci            [
628c2ecf20Sopenharmony_ci                "$TC action flush action bpf",
638c2ecf20Sopenharmony_ci                0,
648c2ecf20Sopenharmony_ci                1,
658c2ecf20Sopenharmony_ci                255
668c2ecf20Sopenharmony_ci            ]
678c2ecf20Sopenharmony_ci        ],
688c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf object-file $EBPFDIR/action.o section action-ok index 667",
698c2ecf20Sopenharmony_ci        "expExitCode": "0",
708c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 667",
718c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf action.o:\\[action-ok\\] id [0-9]* tag [0-9a-f]{16}( jited)? default-action pipe.*index 667 ref",
728c2ecf20Sopenharmony_ci        "matchCount": "1",
738c2ecf20Sopenharmony_ci        "teardown": [
748c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
758c2ecf20Sopenharmony_ci        ]
768c2ecf20Sopenharmony_ci    },
778c2ecf20Sopenharmony_ci    {
788c2ecf20Sopenharmony_ci        "id": "282d",
798c2ecf20Sopenharmony_ci        "name": "Add eBPF action with invalid object-file",
808c2ecf20Sopenharmony_ci        "category": [
818c2ecf20Sopenharmony_ci            "actions",
828c2ecf20Sopenharmony_ci            "bpf"
838c2ecf20Sopenharmony_ci        ],
848c2ecf20Sopenharmony_ci        "plugins": {
858c2ecf20Sopenharmony_ci                "requires": "buildebpfPlugin"
868c2ecf20Sopenharmony_ci        },
878c2ecf20Sopenharmony_ci        "setup": [
888c2ecf20Sopenharmony_ci            [
898c2ecf20Sopenharmony_ci                "$TC action flush action bpf",
908c2ecf20Sopenharmony_ci                0,
918c2ecf20Sopenharmony_ci                1,
928c2ecf20Sopenharmony_ci                255
938c2ecf20Sopenharmony_ci            ]
948c2ecf20Sopenharmony_ci        ],
958c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf object-file $EBPFDIR/action.o section action-ko index 667",
968c2ecf20Sopenharmony_ci        "expExitCode": "255",
978c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 667",
988c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf action.o:\\[action-ko\\] id [0-9].*index 667 ref",
998c2ecf20Sopenharmony_ci        "matchCount": "0",
1008c2ecf20Sopenharmony_ci        "teardown": [
1018c2ecf20Sopenharmony_ci            [
1028c2ecf20Sopenharmony_ci                "$TC action flush action bpf",
1038c2ecf20Sopenharmony_ci                0,
1048c2ecf20Sopenharmony_ci                1,
1058c2ecf20Sopenharmony_ci                255
1068c2ecf20Sopenharmony_ci            ]
1078c2ecf20Sopenharmony_ci        ]
1088c2ecf20Sopenharmony_ci    },
1098c2ecf20Sopenharmony_ci    {
1108c2ecf20Sopenharmony_ci        "id": "d819",
1118c2ecf20Sopenharmony_ci        "name": "Replace cBPF bytecode and action control",
1128c2ecf20Sopenharmony_ci        "category": [
1138c2ecf20Sopenharmony_ci            "actions",
1148c2ecf20Sopenharmony_ci            "bpf"
1158c2ecf20Sopenharmony_ci        ],
1168c2ecf20Sopenharmony_ci        "setup": [
1178c2ecf20Sopenharmony_ci            [
1188c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
1198c2ecf20Sopenharmony_ci                0,
1208c2ecf20Sopenharmony_ci                1,
1218c2ecf20Sopenharmony_ci                255
1228c2ecf20Sopenharmony_ci            ],
1238c2ecf20Sopenharmony_ci            [
1248c2ecf20Sopenharmony_ci                "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 555",
1258c2ecf20Sopenharmony_ci                0,
1268c2ecf20Sopenharmony_ci                1,
1278c2ecf20Sopenharmony_ci                255
1288c2ecf20Sopenharmony_ci            ]
1298c2ecf20Sopenharmony_ci        ],
1308c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action replace action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' drop index 555",
1318c2ecf20Sopenharmony_ci        "expExitCode": "0",
1328c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 555",
1338c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' default-action drop.*index 555 ref",
1348c2ecf20Sopenharmony_ci        "matchCount": "1",
1358c2ecf20Sopenharmony_ci        "teardown": [
1368c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
1378c2ecf20Sopenharmony_ci        ]
1388c2ecf20Sopenharmony_ci    },
1398c2ecf20Sopenharmony_ci    {
1408c2ecf20Sopenharmony_ci        "id": "6ae3",
1418c2ecf20Sopenharmony_ci        "name": "Delete cBPF action ",
1428c2ecf20Sopenharmony_ci        "category": [
1438c2ecf20Sopenharmony_ci            "actions",
1448c2ecf20Sopenharmony_ci            "bpf"
1458c2ecf20Sopenharmony_ci        ],
1468c2ecf20Sopenharmony_ci        "setup": [
1478c2ecf20Sopenharmony_ci            [
1488c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
1498c2ecf20Sopenharmony_ci                0,
1508c2ecf20Sopenharmony_ci                1,
1518c2ecf20Sopenharmony_ci                255
1528c2ecf20Sopenharmony_ci            ],
1538c2ecf20Sopenharmony_ci            [
1548c2ecf20Sopenharmony_ci                "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 444",
1558c2ecf20Sopenharmony_ci                0,
1568c2ecf20Sopenharmony_ci                1,
1578c2ecf20Sopenharmony_ci                255
1588c2ecf20Sopenharmony_ci            ]
1598c2ecf20Sopenharmony_ci        ],
1608c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action delete action bpf index 444",
1618c2ecf20Sopenharmony_ci        "expExitCode": "0",
1628c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 444",
1638c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 444 ref",
1648c2ecf20Sopenharmony_ci        "matchCount": "0",
1658c2ecf20Sopenharmony_ci        "teardown": [
1668c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
1678c2ecf20Sopenharmony_ci        ]
1688c2ecf20Sopenharmony_ci    },
1698c2ecf20Sopenharmony_ci    {
1708c2ecf20Sopenharmony_ci        "id": "3e0d",
1718c2ecf20Sopenharmony_ci        "name": "List cBPF actions",
1728c2ecf20Sopenharmony_ci        "category": [
1738c2ecf20Sopenharmony_ci            "actions",
1748c2ecf20Sopenharmony_ci            "bpf"
1758c2ecf20Sopenharmony_ci        ],
1768c2ecf20Sopenharmony_ci        "setup": [
1778c2ecf20Sopenharmony_ci            [
1788c2ecf20Sopenharmony_ci                "$TC action flush action bpf",
1798c2ecf20Sopenharmony_ci                0,
1808c2ecf20Sopenharmony_ci                1,
1818c2ecf20Sopenharmony_ci                255
1828c2ecf20Sopenharmony_ci            ],
1838c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' ok index 101",
1848c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' drop index 102",
1858c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 33024,6 0 0 262144,6 0 0 0' continue index 103"
1868c2ecf20Sopenharmony_ci        ],
1878c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action list action bpf",
1888c2ecf20Sopenharmony_ci        "expExitCode": "0",
1898c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action list action bpf",
1908c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode",
1918c2ecf20Sopenharmony_ci        "matchCount": "3",
1928c2ecf20Sopenharmony_ci        "teardown": [
1938c2ecf20Sopenharmony_ci            "$TC actions flush action bpf"
1948c2ecf20Sopenharmony_ci        ]
1958c2ecf20Sopenharmony_ci    },
1968c2ecf20Sopenharmony_ci    {
1978c2ecf20Sopenharmony_ci        "id": "55ce",
1988c2ecf20Sopenharmony_ci        "name": "Flush BPF actions",
1998c2ecf20Sopenharmony_ci        "category": [
2008c2ecf20Sopenharmony_ci            "actions",
2018c2ecf20Sopenharmony_ci            "bpf"
2028c2ecf20Sopenharmony_ci        ],
2038c2ecf20Sopenharmony_ci        "setup": [
2048c2ecf20Sopenharmony_ci            [
2058c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
2068c2ecf20Sopenharmony_ci                0,
2078c2ecf20Sopenharmony_ci                1,
2088c2ecf20Sopenharmony_ci                255
2098c2ecf20Sopenharmony_ci            ],
2108c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' ok index 101",
2118c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' drop index 102",
2128c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 33024,6 0 0 262144,6 0 0 0' continue index 103"
2138c2ecf20Sopenharmony_ci        ],
2148c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action flush action bpf",
2158c2ecf20Sopenharmony_ci        "expExitCode": "0",
2168c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action list action bpf",
2178c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode",
2188c2ecf20Sopenharmony_ci        "matchCount": "0",
2198c2ecf20Sopenharmony_ci        "teardown": [
2208c2ecf20Sopenharmony_ci            "$TC actions flush action bpf"
2218c2ecf20Sopenharmony_ci        ]
2228c2ecf20Sopenharmony_ci    },
2238c2ecf20Sopenharmony_ci    {
2248c2ecf20Sopenharmony_ci        "id": "ccc3",
2258c2ecf20Sopenharmony_ci        "name": "Add cBPF action with duplicate index",
2268c2ecf20Sopenharmony_ci        "category": [
2278c2ecf20Sopenharmony_ci            "actions",
2288c2ecf20Sopenharmony_ci            "bpf"
2298c2ecf20Sopenharmony_ci        ],
2308c2ecf20Sopenharmony_ci        "setup": [
2318c2ecf20Sopenharmony_ci            [
2328c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
2338c2ecf20Sopenharmony_ci                0,
2348c2ecf20Sopenharmony_ci                1,
2358c2ecf20Sopenharmony_ci                255
2368c2ecf20Sopenharmony_ci            ],
2378c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 4294967295"
2388c2ecf20Sopenharmony_ci        ],
2398c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' index 4294967295",
2408c2ecf20Sopenharmony_ci        "expExitCode": "255",
2418c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action get action bpf index 4294967295",
2428c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 4294967295",
2438c2ecf20Sopenharmony_ci        "matchCount": "1",
2448c2ecf20Sopenharmony_ci        "teardown": [
2458c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
2468c2ecf20Sopenharmony_ci        ]
2478c2ecf20Sopenharmony_ci    },
2488c2ecf20Sopenharmony_ci    {
2498c2ecf20Sopenharmony_ci        "id": "89c7",
2508c2ecf20Sopenharmony_ci        "name": "Add cBPF action with invalid index",
2518c2ecf20Sopenharmony_ci        "category": [
2528c2ecf20Sopenharmony_ci            "actions",
2538c2ecf20Sopenharmony_ci            "bpf"
2548c2ecf20Sopenharmony_ci        ],
2558c2ecf20Sopenharmony_ci        "setup": [
2568c2ecf20Sopenharmony_ci            [
2578c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
2588c2ecf20Sopenharmony_ci                0,
2598c2ecf20Sopenharmony_ci                1,
2608c2ecf20Sopenharmony_ci                255
2618c2ecf20Sopenharmony_ci            ]
2628c2ecf20Sopenharmony_ci        ],
2638c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' index 4294967296 cookie 123456",
2648c2ecf20Sopenharmony_ci        "expExitCode": "255",
2658c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action ls action bpf",
2668c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*cookie 123456",
2678c2ecf20Sopenharmony_ci        "matchCount": "0",
2688c2ecf20Sopenharmony_ci        "teardown": [
2698c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
2708c2ecf20Sopenharmony_ci        ]
2718c2ecf20Sopenharmony_ci    },
2728c2ecf20Sopenharmony_ci    {
2738c2ecf20Sopenharmony_ci        "id": "7ab9",
2748c2ecf20Sopenharmony_ci        "name": "Add cBPF action with cookie",
2758c2ecf20Sopenharmony_ci        "category": [
2768c2ecf20Sopenharmony_ci            "actions",
2778c2ecf20Sopenharmony_ci            "bpf"
2788c2ecf20Sopenharmony_ci        ],
2798c2ecf20Sopenharmony_ci        "setup": [
2808c2ecf20Sopenharmony_ci            [
2818c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
2828c2ecf20Sopenharmony_ci                0,
2838c2ecf20Sopenharmony_ci                1,
2848c2ecf20Sopenharmony_ci                255
2858c2ecf20Sopenharmony_ci            ]
2868c2ecf20Sopenharmony_ci        ],
2878c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' cookie d0d0d0d0d0d0d0d0",
2888c2ecf20Sopenharmony_ci        "expExitCode": "0",
2898c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action list action bpf",
2908c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf.*cookie d0d0d0d0d0d0d0",
2918c2ecf20Sopenharmony_ci        "matchCount": "1",
2928c2ecf20Sopenharmony_ci        "teardown": [
2938c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
2948c2ecf20Sopenharmony_ci        ]
2958c2ecf20Sopenharmony_ci    },
2968c2ecf20Sopenharmony_ci    {
2978c2ecf20Sopenharmony_ci        "id": "b8a1",
2988c2ecf20Sopenharmony_ci        "name": "Replace bpf action with invalid goto_chain control",
2998c2ecf20Sopenharmony_ci        "category": [
3008c2ecf20Sopenharmony_ci            "actions",
3018c2ecf20Sopenharmony_ci            "bpf"
3028c2ecf20Sopenharmony_ci        ],
3038c2ecf20Sopenharmony_ci        "setup": [
3048c2ecf20Sopenharmony_ci            [
3058c2ecf20Sopenharmony_ci                "$TC actions flush action bpf",
3068c2ecf20Sopenharmony_ci                0,
3078c2ecf20Sopenharmony_ci                1,
3088c2ecf20Sopenharmony_ci                255
3098c2ecf20Sopenharmony_ci            ],
3108c2ecf20Sopenharmony_ci            "$TC action add action bpf bytecode '1,6 0 0 4294967295' pass index 90"
3118c2ecf20Sopenharmony_ci        ],
3128c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC action replace action bpf bytecode '1,6 0 0 4294967295' goto chain 42 index 90 cookie c1a0c1a0",
3138c2ecf20Sopenharmony_ci        "expExitCode": "255",
3148c2ecf20Sopenharmony_ci        "verifyCmd": "$TC action list action bpf",
3158c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]*: bpf.* default-action pass.*index 90",
3168c2ecf20Sopenharmony_ci        "matchCount": "1",
3178c2ecf20Sopenharmony_ci        "teardown": [
3188c2ecf20Sopenharmony_ci            "$TC action flush action bpf"
3198c2ecf20Sopenharmony_ci        ]
3208c2ecf20Sopenharmony_ci    }
3218c2ecf20Sopenharmony_ci]
322