18c2ecf20Sopenharmony_ci[
28c2ecf20Sopenharmony_ci    {
38c2ecf20Sopenharmony_ci        "id": "7565",
48c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with default control action",
58c2ecf20Sopenharmony_ci        "category": [
68c2ecf20Sopenharmony_ci            "actions",
78c2ecf20Sopenharmony_ci            "nat"
88c2ecf20Sopenharmony_ci        ],
98c2ecf20Sopenharmony_ci        "setup": [
108c2ecf20Sopenharmony_ci            [
118c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
128c2ecf20Sopenharmony_ci                0,
138c2ecf20Sopenharmony_ci                1,
148c2ecf20Sopenharmony_ci                255
158c2ecf20Sopenharmony_ci            ]
168c2ecf20Sopenharmony_ci        ],
178c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 192.168.1.1 200.200.200.1",
188c2ecf20Sopenharmony_ci        "expExitCode": "0",
198c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
208c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 192.168.1.1/32 200.200.200.1 pass",
218c2ecf20Sopenharmony_ci        "matchCount": "1",
228c2ecf20Sopenharmony_ci        "teardown": [
238c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
248c2ecf20Sopenharmony_ci        ]
258c2ecf20Sopenharmony_ci    },
268c2ecf20Sopenharmony_ci    {
278c2ecf20Sopenharmony_ci        "id": "fd79",
288c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with pipe control action",
298c2ecf20Sopenharmony_ci        "category": [
308c2ecf20Sopenharmony_ci            "actions",
318c2ecf20Sopenharmony_ci            "nat"
328c2ecf20Sopenharmony_ci        ],
338c2ecf20Sopenharmony_ci        "setup": [
348c2ecf20Sopenharmony_ci            [
358c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
368c2ecf20Sopenharmony_ci                0,
378c2ecf20Sopenharmony_ci                1,
388c2ecf20Sopenharmony_ci                255
398c2ecf20Sopenharmony_ci            ]
408c2ecf20Sopenharmony_ci        ],
418c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 2.2.2.1 pipe index 77",
428c2ecf20Sopenharmony_ci        "expExitCode": "0",
438c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 77",
448c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.1.1.1/32 2.2.2.1 pipe.*index 77 ref",
458c2ecf20Sopenharmony_ci        "matchCount": "1",
468c2ecf20Sopenharmony_ci        "teardown": [
478c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
488c2ecf20Sopenharmony_ci        ]
498c2ecf20Sopenharmony_ci    },
508c2ecf20Sopenharmony_ci    {
518c2ecf20Sopenharmony_ci        "id": "eab9",
528c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with continue control action",
538c2ecf20Sopenharmony_ci        "category": [
548c2ecf20Sopenharmony_ci            "actions",
558c2ecf20Sopenharmony_ci            "nat"
568c2ecf20Sopenharmony_ci        ],
578c2ecf20Sopenharmony_ci        "setup": [
588c2ecf20Sopenharmony_ci            [
598c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
608c2ecf20Sopenharmony_ci                0,
618c2ecf20Sopenharmony_ci                1,
628c2ecf20Sopenharmony_ci                255
638c2ecf20Sopenharmony_ci            ]
648c2ecf20Sopenharmony_ci        ],
658c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 192.168.10.10 192.168.20.20 continue index 1000",
668c2ecf20Sopenharmony_ci        "expExitCode": "0",
678c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 1000",
688c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 192.168.10.10/32 192.168.20.20 continue.*index 1000 ref",
698c2ecf20Sopenharmony_ci        "matchCount": "1",
708c2ecf20Sopenharmony_ci        "teardown": [
718c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
728c2ecf20Sopenharmony_ci        ]
738c2ecf20Sopenharmony_ci    },
748c2ecf20Sopenharmony_ci    {
758c2ecf20Sopenharmony_ci        "id": "c53a",
768c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with reclassify control action",
778c2ecf20Sopenharmony_ci        "category": [
788c2ecf20Sopenharmony_ci            "actions",
798c2ecf20Sopenharmony_ci            "nat"
808c2ecf20Sopenharmony_ci        ],
818c2ecf20Sopenharmony_ci        "setup": [
828c2ecf20Sopenharmony_ci            [
838c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
848c2ecf20Sopenharmony_ci                0,
858c2ecf20Sopenharmony_ci                1,
868c2ecf20Sopenharmony_ci                255
878c2ecf20Sopenharmony_ci            ]
888c2ecf20Sopenharmony_ci        ],
898c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 192.168.10.10 192.168.20.20 reclassify index 1000",
908c2ecf20Sopenharmony_ci        "expExitCode": "0",
918c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 1000",
928c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 192.168.10.10/32 192.168.20.20 reclassify.*index 1000 ref",
938c2ecf20Sopenharmony_ci        "matchCount": "1",
948c2ecf20Sopenharmony_ci        "teardown": [
958c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
968c2ecf20Sopenharmony_ci        ]
978c2ecf20Sopenharmony_ci    },
988c2ecf20Sopenharmony_ci    {
998c2ecf20Sopenharmony_ci        "id": "76c9",
1008c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with jump control action",
1018c2ecf20Sopenharmony_ci        "category": [
1028c2ecf20Sopenharmony_ci            "actions",
1038c2ecf20Sopenharmony_ci            "nat"
1048c2ecf20Sopenharmony_ci        ],
1058c2ecf20Sopenharmony_ci        "setup": [
1068c2ecf20Sopenharmony_ci            [
1078c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
1088c2ecf20Sopenharmony_ci                0,
1098c2ecf20Sopenharmony_ci                1,
1108c2ecf20Sopenharmony_ci                255
1118c2ecf20Sopenharmony_ci            ]
1128c2ecf20Sopenharmony_ci        ],
1138c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 12.18.10.10 12.18.20.20 jump 10 index 22",
1148c2ecf20Sopenharmony_ci        "expExitCode": "0",
1158c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 22",
1168c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 12.18.10.10/32 12.18.20.20 jump 10.*index 22 ref",
1178c2ecf20Sopenharmony_ci        "matchCount": "1",
1188c2ecf20Sopenharmony_ci        "teardown": [
1198c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
1208c2ecf20Sopenharmony_ci        ]
1218c2ecf20Sopenharmony_ci    },
1228c2ecf20Sopenharmony_ci    {
1238c2ecf20Sopenharmony_ci        "id": "24c6",
1248c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with drop control action",
1258c2ecf20Sopenharmony_ci        "category": [
1268c2ecf20Sopenharmony_ci            "actions",
1278c2ecf20Sopenharmony_ci            "nat"
1288c2ecf20Sopenharmony_ci        ],
1298c2ecf20Sopenharmony_ci        "setup": [
1308c2ecf20Sopenharmony_ci            [
1318c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
1328c2ecf20Sopenharmony_ci                0,
1338c2ecf20Sopenharmony_ci                1,
1348c2ecf20Sopenharmony_ci                255
1358c2ecf20Sopenharmony_ci            ]
1368c2ecf20Sopenharmony_ci        ],
1378c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 drop index 722",
1388c2ecf20Sopenharmony_ci        "expExitCode": "0",
1398c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 722",
1408c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 drop.*index 722 ref",
1418c2ecf20Sopenharmony_ci        "matchCount": "1",
1428c2ecf20Sopenharmony_ci        "teardown": [
1438c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
1448c2ecf20Sopenharmony_ci        ]
1458c2ecf20Sopenharmony_ci    },
1468c2ecf20Sopenharmony_ci    {
1478c2ecf20Sopenharmony_ci        "id": "2120",
1488c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with maximum index value",
1498c2ecf20Sopenharmony_ci        "category": [
1508c2ecf20Sopenharmony_ci            "actions",
1518c2ecf20Sopenharmony_ci            "nat"
1528c2ecf20Sopenharmony_ci        ],
1538c2ecf20Sopenharmony_ci        "setup": [
1548c2ecf20Sopenharmony_ci            [
1558c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
1568c2ecf20Sopenharmony_ci                0,
1578c2ecf20Sopenharmony_ci                1,
1588c2ecf20Sopenharmony_ci                255
1598c2ecf20Sopenharmony_ci            ]
1608c2ecf20Sopenharmony_ci        ],
1618c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 index 4294967295",
1628c2ecf20Sopenharmony_ci        "expExitCode": "0",
1638c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 4294967295",
1648c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 pass.*index 4294967295 ref",
1658c2ecf20Sopenharmony_ci        "matchCount": "1",
1668c2ecf20Sopenharmony_ci        "teardown": [
1678c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
1688c2ecf20Sopenharmony_ci        ]
1698c2ecf20Sopenharmony_ci    },
1708c2ecf20Sopenharmony_ci    {
1718c2ecf20Sopenharmony_ci        "id": "3e9d",
1728c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with invalid index value",
1738c2ecf20Sopenharmony_ci        "category": [
1748c2ecf20Sopenharmony_ci            "actions",
1758c2ecf20Sopenharmony_ci            "nat"
1768c2ecf20Sopenharmony_ci        ],
1778c2ecf20Sopenharmony_ci        "setup": [
1788c2ecf20Sopenharmony_ci            [
1798c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
1808c2ecf20Sopenharmony_ci                0,
1818c2ecf20Sopenharmony_ci                1,
1828c2ecf20Sopenharmony_ci                255
1838c2ecf20Sopenharmony_ci            ]
1848c2ecf20Sopenharmony_ci        ],
1858c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 index 4294967295555",
1868c2ecf20Sopenharmony_ci        "expExitCode": "255",
1878c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 4294967295555",
1888c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 pass.*index 4294967295555 ref",
1898c2ecf20Sopenharmony_ci        "matchCount": "0",
1908c2ecf20Sopenharmony_ci        "teardown": [
1918c2ecf20Sopenharmony_ci            [
1928c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
1938c2ecf20Sopenharmony_ci                0,
1948c2ecf20Sopenharmony_ci                1,
1958c2ecf20Sopenharmony_ci                255
1968c2ecf20Sopenharmony_ci            ]
1978c2ecf20Sopenharmony_ci        ]
1988c2ecf20Sopenharmony_ci    },
1998c2ecf20Sopenharmony_ci    {
2008c2ecf20Sopenharmony_ci        "id": "f6c9",
2018c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with invalid IP address",
2028c2ecf20Sopenharmony_ci        "category": [
2038c2ecf20Sopenharmony_ci            "actions",
2048c2ecf20Sopenharmony_ci            "nat"
2058c2ecf20Sopenharmony_ci        ],
2068c2ecf20Sopenharmony_ci        "setup": [
2078c2ecf20Sopenharmony_ci            [
2088c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
2098c2ecf20Sopenharmony_ci                0,
2108c2ecf20Sopenharmony_ci                1,
2118c2ecf20Sopenharmony_ci                255
2128c2ecf20Sopenharmony_ci            ]
2138c2ecf20Sopenharmony_ci        ],
2148c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 1.1888.2.2 index 7",
2158c2ecf20Sopenharmony_ci        "expExitCode": "255",
2168c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 7",
2178c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.1.1.1/32 1.1888.2.2 pass.*index 7 ref",
2188c2ecf20Sopenharmony_ci        "matchCount": "0",
2198c2ecf20Sopenharmony_ci        "teardown": [
2208c2ecf20Sopenharmony_ci            [
2218c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
2228c2ecf20Sopenharmony_ci                0,
2238c2ecf20Sopenharmony_ci                1,
2248c2ecf20Sopenharmony_ci                255
2258c2ecf20Sopenharmony_ci            ]
2268c2ecf20Sopenharmony_ci        ]
2278c2ecf20Sopenharmony_ci    },
2288c2ecf20Sopenharmony_ci    {
2298c2ecf20Sopenharmony_ci        "id": "be25",
2308c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with invalid argument",
2318c2ecf20Sopenharmony_ci        "category": [
2328c2ecf20Sopenharmony_ci            "actions",
2338c2ecf20Sopenharmony_ci            "nat"
2348c2ecf20Sopenharmony_ci        ],
2358c2ecf20Sopenharmony_ci        "setup": [
2368c2ecf20Sopenharmony_ci            [
2378c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
2388c2ecf20Sopenharmony_ci                0,
2398c2ecf20Sopenharmony_ci                1,
2408c2ecf20Sopenharmony_ci                255
2418c2ecf20Sopenharmony_ci            ]
2428c2ecf20Sopenharmony_ci        ],
2438c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 1.18.2.2 another_arg index 12",
2448c2ecf20Sopenharmony_ci        "expExitCode": "255",
2458c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 12",
2468c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.1.1.1/32 1.18.2.2 pass.*another_arg.*index 12 ref",
2478c2ecf20Sopenharmony_ci        "matchCount": "0",
2488c2ecf20Sopenharmony_ci        "teardown": [
2498c2ecf20Sopenharmony_ci            [
2508c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
2518c2ecf20Sopenharmony_ci                0,
2528c2ecf20Sopenharmony_ci                1,
2538c2ecf20Sopenharmony_ci                255
2548c2ecf20Sopenharmony_ci            ]
2558c2ecf20Sopenharmony_ci        ]
2568c2ecf20Sopenharmony_ci    },
2578c2ecf20Sopenharmony_ci    {
2588c2ecf20Sopenharmony_ci        "id": "a7bd",
2598c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with DEFAULT IP address",
2608c2ecf20Sopenharmony_ci        "category": [
2618c2ecf20Sopenharmony_ci            "actions",
2628c2ecf20Sopenharmony_ci            "nat"
2638c2ecf20Sopenharmony_ci        ],
2648c2ecf20Sopenharmony_ci        "setup": [
2658c2ecf20Sopenharmony_ci            [
2668c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
2678c2ecf20Sopenharmony_ci                0,
2688c2ecf20Sopenharmony_ci                1,
2698c2ecf20Sopenharmony_ci                255
2708c2ecf20Sopenharmony_ci            ]
2718c2ecf20Sopenharmony_ci        ],
2728c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress default 10.10.10.1 index 12",
2738c2ecf20Sopenharmony_ci        "expExitCode": "0",
2748c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 12",
2758c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref",
2768c2ecf20Sopenharmony_ci        "matchCount": "1",
2778c2ecf20Sopenharmony_ci        "teardown": [
2788c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
2798c2ecf20Sopenharmony_ci        ]
2808c2ecf20Sopenharmony_ci    },
2818c2ecf20Sopenharmony_ci    {
2828c2ecf20Sopenharmony_ci        "id": "ee1e",
2838c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with ANY IP address",
2848c2ecf20Sopenharmony_ci        "category": [
2858c2ecf20Sopenharmony_ci            "actions",
2868c2ecf20Sopenharmony_ci            "nat"
2878c2ecf20Sopenharmony_ci        ],
2888c2ecf20Sopenharmony_ci        "setup": [
2898c2ecf20Sopenharmony_ci            [
2908c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
2918c2ecf20Sopenharmony_ci                0,
2928c2ecf20Sopenharmony_ci                1,
2938c2ecf20Sopenharmony_ci                255
2948c2ecf20Sopenharmony_ci            ]
2958c2ecf20Sopenharmony_ci        ],
2968c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress any 10.10.10.1 index 12",
2978c2ecf20Sopenharmony_ci        "expExitCode": "0",
2988c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 12",
2998c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref",
3008c2ecf20Sopenharmony_ci        "matchCount": "1",
3018c2ecf20Sopenharmony_ci        "teardown": [
3028c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
3038c2ecf20Sopenharmony_ci        ]
3048c2ecf20Sopenharmony_ci    },
3058c2ecf20Sopenharmony_ci    {
3068c2ecf20Sopenharmony_ci        "id": "1de8",
3078c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with ALL IP address",
3088c2ecf20Sopenharmony_ci        "category": [
3098c2ecf20Sopenharmony_ci            "actions",
3108c2ecf20Sopenharmony_ci            "nat"
3118c2ecf20Sopenharmony_ci        ],
3128c2ecf20Sopenharmony_ci        "setup": [
3138c2ecf20Sopenharmony_ci            [
3148c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
3158c2ecf20Sopenharmony_ci                0,
3168c2ecf20Sopenharmony_ci                1,
3178c2ecf20Sopenharmony_ci                255
3188c2ecf20Sopenharmony_ci            ]
3198c2ecf20Sopenharmony_ci        ],
3208c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress all 10.10.10.1 index 12",
3218c2ecf20Sopenharmony_ci        "expExitCode": "0",
3228c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 12",
3238c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref",
3248c2ecf20Sopenharmony_ci        "matchCount": "1",
3258c2ecf20Sopenharmony_ci        "teardown": [
3268c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
3278c2ecf20Sopenharmony_ci        ]
3288c2ecf20Sopenharmony_ci    },
3298c2ecf20Sopenharmony_ci    {
3308c2ecf20Sopenharmony_ci        "id": "8dba",
3318c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with default control action",
3328c2ecf20Sopenharmony_ci        "category": [
3338c2ecf20Sopenharmony_ci            "actions",
3348c2ecf20Sopenharmony_ci            "nat"
3358c2ecf20Sopenharmony_ci        ],
3368c2ecf20Sopenharmony_ci        "setup": [
3378c2ecf20Sopenharmony_ci            [
3388c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
3398c2ecf20Sopenharmony_ci                0,
3408c2ecf20Sopenharmony_ci                1,
3418c2ecf20Sopenharmony_ci                255
3428c2ecf20Sopenharmony_ci            ]
3438c2ecf20Sopenharmony_ci        ],
3448c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1",
3458c2ecf20Sopenharmony_ci        "expExitCode": "0",
3468c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
3478c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 pass",
3488c2ecf20Sopenharmony_ci        "matchCount": "1",
3498c2ecf20Sopenharmony_ci        "teardown": [
3508c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
3518c2ecf20Sopenharmony_ci        ]
3528c2ecf20Sopenharmony_ci    },
3538c2ecf20Sopenharmony_ci    {
3548c2ecf20Sopenharmony_ci        "id": "19a7",
3558c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with pipe control action",
3568c2ecf20Sopenharmony_ci        "category": [
3578c2ecf20Sopenharmony_ci            "actions",
3588c2ecf20Sopenharmony_ci            "nat"
3598c2ecf20Sopenharmony_ci        ],
3608c2ecf20Sopenharmony_ci        "setup": [
3618c2ecf20Sopenharmony_ci            [
3628c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
3638c2ecf20Sopenharmony_ci                0,
3648c2ecf20Sopenharmony_ci                1,
3658c2ecf20Sopenharmony_ci                255
3668c2ecf20Sopenharmony_ci            ]
3678c2ecf20Sopenharmony_ci        ],
3688c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 pipe",
3698c2ecf20Sopenharmony_ci        "expExitCode": "0",
3708c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
3718c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 pipe",
3728c2ecf20Sopenharmony_ci        "matchCount": "1",
3738c2ecf20Sopenharmony_ci        "teardown": [
3748c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
3758c2ecf20Sopenharmony_ci        ]
3768c2ecf20Sopenharmony_ci    },
3778c2ecf20Sopenharmony_ci    {
3788c2ecf20Sopenharmony_ci        "id": "f1d9",
3798c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with continue control action",
3808c2ecf20Sopenharmony_ci        "category": [
3818c2ecf20Sopenharmony_ci            "actions",
3828c2ecf20Sopenharmony_ci            "nat"
3838c2ecf20Sopenharmony_ci        ],
3848c2ecf20Sopenharmony_ci        "setup": [
3858c2ecf20Sopenharmony_ci            [
3868c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
3878c2ecf20Sopenharmony_ci                0,
3888c2ecf20Sopenharmony_ci                1,
3898c2ecf20Sopenharmony_ci                255
3908c2ecf20Sopenharmony_ci            ]
3918c2ecf20Sopenharmony_ci        ],
3928c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 continue",
3938c2ecf20Sopenharmony_ci        "expExitCode": "0",
3948c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
3958c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 continue",
3968c2ecf20Sopenharmony_ci        "matchCount": "1",
3978c2ecf20Sopenharmony_ci        "teardown": [
3988c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
3998c2ecf20Sopenharmony_ci        ]
4008c2ecf20Sopenharmony_ci    },
4018c2ecf20Sopenharmony_ci    {
4028c2ecf20Sopenharmony_ci        "id": "6d4a",
4038c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with reclassify control action",
4048c2ecf20Sopenharmony_ci        "category": [
4058c2ecf20Sopenharmony_ci            "actions",
4068c2ecf20Sopenharmony_ci            "nat"
4078c2ecf20Sopenharmony_ci        ],
4088c2ecf20Sopenharmony_ci        "setup": [
4098c2ecf20Sopenharmony_ci            [
4108c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
4118c2ecf20Sopenharmony_ci                0,
4128c2ecf20Sopenharmony_ci                1,
4138c2ecf20Sopenharmony_ci                255
4148c2ecf20Sopenharmony_ci            ]
4158c2ecf20Sopenharmony_ci        ],
4168c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 reclassify",
4178c2ecf20Sopenharmony_ci        "expExitCode": "0",
4188c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
4198c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 reclassify",
4208c2ecf20Sopenharmony_ci        "matchCount": "1",
4218c2ecf20Sopenharmony_ci        "teardown": [
4228c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
4238c2ecf20Sopenharmony_ci        ]
4248c2ecf20Sopenharmony_ci    },
4258c2ecf20Sopenharmony_ci    {
4268c2ecf20Sopenharmony_ci        "id": "b313",
4278c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with jump control action",
4288c2ecf20Sopenharmony_ci        "category": [
4298c2ecf20Sopenharmony_ci            "actions",
4308c2ecf20Sopenharmony_ci            "nat"
4318c2ecf20Sopenharmony_ci        ],
4328c2ecf20Sopenharmony_ci        "setup": [
4338c2ecf20Sopenharmony_ci            [
4348c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
4358c2ecf20Sopenharmony_ci                0,
4368c2ecf20Sopenharmony_ci                1,
4378c2ecf20Sopenharmony_ci                255
4388c2ecf20Sopenharmony_ci            ]
4398c2ecf20Sopenharmony_ci        ],
4408c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 jump 777",
4418c2ecf20Sopenharmony_ci        "expExitCode": "0",
4428c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
4438c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 jump 777",
4448c2ecf20Sopenharmony_ci        "matchCount": "1",
4458c2ecf20Sopenharmony_ci        "teardown": [
4468c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
4478c2ecf20Sopenharmony_ci        ]
4488c2ecf20Sopenharmony_ci    },
4498c2ecf20Sopenharmony_ci    {
4508c2ecf20Sopenharmony_ci        "id": "d9fc",
4518c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with drop control action",
4528c2ecf20Sopenharmony_ci        "category": [
4538c2ecf20Sopenharmony_ci            "actions",
4548c2ecf20Sopenharmony_ci            "nat"
4558c2ecf20Sopenharmony_ci        ],
4568c2ecf20Sopenharmony_ci        "setup": [
4578c2ecf20Sopenharmony_ci            [
4588c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
4598c2ecf20Sopenharmony_ci                0,
4608c2ecf20Sopenharmony_ci                1,
4618c2ecf20Sopenharmony_ci                255
4628c2ecf20Sopenharmony_ci            ]
4638c2ecf20Sopenharmony_ci        ],
4648c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 drop",
4658c2ecf20Sopenharmony_ci        "expExitCode": "0",
4668c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions ls action nat",
4678c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 drop",
4688c2ecf20Sopenharmony_ci        "matchCount": "1",
4698c2ecf20Sopenharmony_ci        "teardown": [
4708c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
4718c2ecf20Sopenharmony_ci        ]
4728c2ecf20Sopenharmony_ci    },
4738c2ecf20Sopenharmony_ci    {
4748c2ecf20Sopenharmony_ci        "id": "a895",
4758c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with DEFAULT IP address",
4768c2ecf20Sopenharmony_ci        "category": [
4778c2ecf20Sopenharmony_ci            "actions",
4788c2ecf20Sopenharmony_ci            "nat"
4798c2ecf20Sopenharmony_ci        ],
4808c2ecf20Sopenharmony_ci        "setup": [
4818c2ecf20Sopenharmony_ci            [
4828c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
4838c2ecf20Sopenharmony_ci                0,
4848c2ecf20Sopenharmony_ci                1,
4858c2ecf20Sopenharmony_ci                255
4868c2ecf20Sopenharmony_ci            ]
4878c2ecf20Sopenharmony_ci        ],
4888c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress default 20.20.20.1 pipe index 10",
4898c2ecf20Sopenharmony_ci        "expExitCode": "0",
4908c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 10",
4918c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref",
4928c2ecf20Sopenharmony_ci        "matchCount": "1",
4938c2ecf20Sopenharmony_ci        "teardown": [
4948c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
4958c2ecf20Sopenharmony_ci        ]
4968c2ecf20Sopenharmony_ci    },
4978c2ecf20Sopenharmony_ci    {
4988c2ecf20Sopenharmony_ci        "id": "2572",
4998c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with ANY IP address",
5008c2ecf20Sopenharmony_ci        "category": [
5018c2ecf20Sopenharmony_ci            "actions",
5028c2ecf20Sopenharmony_ci            "nat"
5038c2ecf20Sopenharmony_ci        ],
5048c2ecf20Sopenharmony_ci        "setup": [
5058c2ecf20Sopenharmony_ci            [
5068c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
5078c2ecf20Sopenharmony_ci                0,
5088c2ecf20Sopenharmony_ci                1,
5098c2ecf20Sopenharmony_ci                255
5108c2ecf20Sopenharmony_ci            ]
5118c2ecf20Sopenharmony_ci        ],
5128c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress any 20.20.20.1 pipe index 10",
5138c2ecf20Sopenharmony_ci        "expExitCode": "0",
5148c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 10",
5158c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref",
5168c2ecf20Sopenharmony_ci        "matchCount": "1",
5178c2ecf20Sopenharmony_ci        "teardown": [
5188c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
5198c2ecf20Sopenharmony_ci        ]
5208c2ecf20Sopenharmony_ci    },
5218c2ecf20Sopenharmony_ci    {
5228c2ecf20Sopenharmony_ci        "id": "37f3",
5238c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with ALL IP address",
5248c2ecf20Sopenharmony_ci        "category": [
5258c2ecf20Sopenharmony_ci            "actions",
5268c2ecf20Sopenharmony_ci            "nat"
5278c2ecf20Sopenharmony_ci        ],
5288c2ecf20Sopenharmony_ci        "setup": [
5298c2ecf20Sopenharmony_ci            [
5308c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
5318c2ecf20Sopenharmony_ci                0,
5328c2ecf20Sopenharmony_ci                1,
5338c2ecf20Sopenharmony_ci                255
5348c2ecf20Sopenharmony_ci            ]
5358c2ecf20Sopenharmony_ci        ],
5368c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress all 20.20.20.1 pipe index 10",
5378c2ecf20Sopenharmony_ci        "expExitCode": "0",
5388c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 10",
5398c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref",
5408c2ecf20Sopenharmony_ci        "matchCount": "1",
5418c2ecf20Sopenharmony_ci        "teardown": [
5428c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
5438c2ecf20Sopenharmony_ci        ]
5448c2ecf20Sopenharmony_ci    },
5458c2ecf20Sopenharmony_ci    {
5468c2ecf20Sopenharmony_ci        "id": "6054",
5478c2ecf20Sopenharmony_ci        "name": "Add nat action on egress with cookie",
5488c2ecf20Sopenharmony_ci        "category": [
5498c2ecf20Sopenharmony_ci            "actions",
5508c2ecf20Sopenharmony_ci            "nat"
5518c2ecf20Sopenharmony_ci        ],
5528c2ecf20Sopenharmony_ci        "setup": [
5538c2ecf20Sopenharmony_ci            [
5548c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
5558c2ecf20Sopenharmony_ci                0,
5568c2ecf20Sopenharmony_ci                1,
5578c2ecf20Sopenharmony_ci                255
5588c2ecf20Sopenharmony_ci            ]
5598c2ecf20Sopenharmony_ci        ],
5608c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat egress all 20.20.20.1 pipe index 10 cookie aa1bc2d3eeff112233445566778800a1",
5618c2ecf20Sopenharmony_ci        "expExitCode": "0",
5628c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 10",
5638c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref.*cookie aa1bc2d3eeff112233445566778800a1",
5648c2ecf20Sopenharmony_ci        "matchCount": "1",
5658c2ecf20Sopenharmony_ci        "teardown": [
5668c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
5678c2ecf20Sopenharmony_ci        ]
5688c2ecf20Sopenharmony_ci    },
5698c2ecf20Sopenharmony_ci    {
5708c2ecf20Sopenharmony_ci        "id": "79d6",
5718c2ecf20Sopenharmony_ci        "name": "Add nat action on ingress with cookie",
5728c2ecf20Sopenharmony_ci        "category": [
5738c2ecf20Sopenharmony_ci            "actions",
5748c2ecf20Sopenharmony_ci            "nat"
5758c2ecf20Sopenharmony_ci        ],
5768c2ecf20Sopenharmony_ci        "setup": [
5778c2ecf20Sopenharmony_ci            [
5788c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
5798c2ecf20Sopenharmony_ci                0,
5808c2ecf20Sopenharmony_ci                1,
5818c2ecf20Sopenharmony_ci                255
5828c2ecf20Sopenharmony_ci            ]
5838c2ecf20Sopenharmony_ci        ],
5848c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions add action nat ingress 192.168.1.1 10.10.10.1 reclassify index 1 cookie 112233445566778899aabbccddeeff11",
5858c2ecf20Sopenharmony_ci        "expExitCode": "0",
5868c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 1",
5878c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 192.168.1.1/32 10.10.10.1 reclassify.*index 1 ref.*cookie 112233445566778899aabbccddeeff11",
5888c2ecf20Sopenharmony_ci        "matchCount": "1",
5898c2ecf20Sopenharmony_ci        "teardown": [
5908c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
5918c2ecf20Sopenharmony_ci        ]
5928c2ecf20Sopenharmony_ci    },
5938c2ecf20Sopenharmony_ci    {
5948c2ecf20Sopenharmony_ci        "id": "4b12",
5958c2ecf20Sopenharmony_ci        "name": "Replace nat action with invalid goto chain control",
5968c2ecf20Sopenharmony_ci        "category": [
5978c2ecf20Sopenharmony_ci            "actions",
5988c2ecf20Sopenharmony_ci            "nat"
5998c2ecf20Sopenharmony_ci        ],
6008c2ecf20Sopenharmony_ci        "setup": [
6018c2ecf20Sopenharmony_ci            [
6028c2ecf20Sopenharmony_ci                "$TC actions flush action nat",
6038c2ecf20Sopenharmony_ci                0,
6048c2ecf20Sopenharmony_ci                1,
6058c2ecf20Sopenharmony_ci                255
6068c2ecf20Sopenharmony_ci            ],
6078c2ecf20Sopenharmony_ci            "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 drop index 90"
6088c2ecf20Sopenharmony_ci        ],
6098c2ecf20Sopenharmony_ci        "cmdUnderTest": "$TC actions replace action nat ingress 1.18.1.1 1.18.2.2 goto chain 42 index 90 cookie c1a0c1a0",
6108c2ecf20Sopenharmony_ci        "expExitCode": "255",
6118c2ecf20Sopenharmony_ci        "verifyCmd": "$TC actions get action nat index 90",
6128c2ecf20Sopenharmony_ci        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 drop.*index 90 ref",
6138c2ecf20Sopenharmony_ci        "matchCount": "1",
6148c2ecf20Sopenharmony_ci        "teardown": [
6158c2ecf20Sopenharmony_ci            "$TC actions flush action nat"
6168c2ecf20Sopenharmony_ci        ]
6178c2ecf20Sopenharmony_ci    }
6188c2ecf20Sopenharmony_ci]
619