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