xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/tc-testing/tc-tests/actions/nat.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "id": "7565",
4*4882a593Smuzhiyun        "name": "Add nat action on ingress with default control action",
5*4882a593Smuzhiyun        "category": [
6*4882a593Smuzhiyun            "actions",
7*4882a593Smuzhiyun            "nat"
8*4882a593Smuzhiyun        ],
9*4882a593Smuzhiyun        "setup": [
10*4882a593Smuzhiyun            [
11*4882a593Smuzhiyun                "$TC actions flush action nat",
12*4882a593Smuzhiyun                0,
13*4882a593Smuzhiyun                1,
14*4882a593Smuzhiyun                255
15*4882a593Smuzhiyun            ]
16*4882a593Smuzhiyun        ],
17*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 192.168.1.1 200.200.200.1",
18*4882a593Smuzhiyun        "expExitCode": "0",
19*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
20*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 192.168.1.1/32 200.200.200.1 pass",
21*4882a593Smuzhiyun        "matchCount": "1",
22*4882a593Smuzhiyun        "teardown": [
23*4882a593Smuzhiyun            "$TC actions flush action nat"
24*4882a593Smuzhiyun        ]
25*4882a593Smuzhiyun    },
26*4882a593Smuzhiyun    {
27*4882a593Smuzhiyun        "id": "fd79",
28*4882a593Smuzhiyun        "name": "Add nat action on ingress with pipe control action",
29*4882a593Smuzhiyun        "category": [
30*4882a593Smuzhiyun            "actions",
31*4882a593Smuzhiyun            "nat"
32*4882a593Smuzhiyun        ],
33*4882a593Smuzhiyun        "setup": [
34*4882a593Smuzhiyun            [
35*4882a593Smuzhiyun                "$TC actions flush action nat",
36*4882a593Smuzhiyun                0,
37*4882a593Smuzhiyun                1,
38*4882a593Smuzhiyun                255
39*4882a593Smuzhiyun            ]
40*4882a593Smuzhiyun        ],
41*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 2.2.2.1 pipe index 77",
42*4882a593Smuzhiyun        "expExitCode": "0",
43*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 77",
44*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.1.1.1/32 2.2.2.1 pipe.*index 77 ref",
45*4882a593Smuzhiyun        "matchCount": "1",
46*4882a593Smuzhiyun        "teardown": [
47*4882a593Smuzhiyun            "$TC actions flush action nat"
48*4882a593Smuzhiyun        ]
49*4882a593Smuzhiyun    },
50*4882a593Smuzhiyun    {
51*4882a593Smuzhiyun        "id": "eab9",
52*4882a593Smuzhiyun        "name": "Add nat action on ingress with continue control action",
53*4882a593Smuzhiyun        "category": [
54*4882a593Smuzhiyun            "actions",
55*4882a593Smuzhiyun            "nat"
56*4882a593Smuzhiyun        ],
57*4882a593Smuzhiyun        "setup": [
58*4882a593Smuzhiyun            [
59*4882a593Smuzhiyun                "$TC actions flush action nat",
60*4882a593Smuzhiyun                0,
61*4882a593Smuzhiyun                1,
62*4882a593Smuzhiyun                255
63*4882a593Smuzhiyun            ]
64*4882a593Smuzhiyun        ],
65*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 192.168.10.10 192.168.20.20 continue index 1000",
66*4882a593Smuzhiyun        "expExitCode": "0",
67*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 1000",
68*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 192.168.10.10/32 192.168.20.20 continue.*index 1000 ref",
69*4882a593Smuzhiyun        "matchCount": "1",
70*4882a593Smuzhiyun        "teardown": [
71*4882a593Smuzhiyun            "$TC actions flush action nat"
72*4882a593Smuzhiyun        ]
73*4882a593Smuzhiyun    },
74*4882a593Smuzhiyun    {
75*4882a593Smuzhiyun        "id": "c53a",
76*4882a593Smuzhiyun        "name": "Add nat action on ingress with reclassify control action",
77*4882a593Smuzhiyun        "category": [
78*4882a593Smuzhiyun            "actions",
79*4882a593Smuzhiyun            "nat"
80*4882a593Smuzhiyun        ],
81*4882a593Smuzhiyun        "setup": [
82*4882a593Smuzhiyun            [
83*4882a593Smuzhiyun                "$TC actions flush action nat",
84*4882a593Smuzhiyun                0,
85*4882a593Smuzhiyun                1,
86*4882a593Smuzhiyun                255
87*4882a593Smuzhiyun            ]
88*4882a593Smuzhiyun        ],
89*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 192.168.10.10 192.168.20.20 reclassify index 1000",
90*4882a593Smuzhiyun        "expExitCode": "0",
91*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 1000",
92*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 192.168.10.10/32 192.168.20.20 reclassify.*index 1000 ref",
93*4882a593Smuzhiyun        "matchCount": "1",
94*4882a593Smuzhiyun        "teardown": [
95*4882a593Smuzhiyun            "$TC actions flush action nat"
96*4882a593Smuzhiyun        ]
97*4882a593Smuzhiyun    },
98*4882a593Smuzhiyun    {
99*4882a593Smuzhiyun        "id": "76c9",
100*4882a593Smuzhiyun        "name": "Add nat action on ingress with jump control action",
101*4882a593Smuzhiyun        "category": [
102*4882a593Smuzhiyun            "actions",
103*4882a593Smuzhiyun            "nat"
104*4882a593Smuzhiyun        ],
105*4882a593Smuzhiyun        "setup": [
106*4882a593Smuzhiyun            [
107*4882a593Smuzhiyun                "$TC actions flush action nat",
108*4882a593Smuzhiyun                0,
109*4882a593Smuzhiyun                1,
110*4882a593Smuzhiyun                255
111*4882a593Smuzhiyun            ]
112*4882a593Smuzhiyun        ],
113*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 12.18.10.10 12.18.20.20 jump 10 index 22",
114*4882a593Smuzhiyun        "expExitCode": "0",
115*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 22",
116*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 12.18.10.10/32 12.18.20.20 jump 10.*index 22 ref",
117*4882a593Smuzhiyun        "matchCount": "1",
118*4882a593Smuzhiyun        "teardown": [
119*4882a593Smuzhiyun            "$TC actions flush action nat"
120*4882a593Smuzhiyun        ]
121*4882a593Smuzhiyun    },
122*4882a593Smuzhiyun    {
123*4882a593Smuzhiyun        "id": "24c6",
124*4882a593Smuzhiyun        "name": "Add nat action on ingress with drop control action",
125*4882a593Smuzhiyun        "category": [
126*4882a593Smuzhiyun            "actions",
127*4882a593Smuzhiyun            "nat"
128*4882a593Smuzhiyun        ],
129*4882a593Smuzhiyun        "setup": [
130*4882a593Smuzhiyun            [
131*4882a593Smuzhiyun                "$TC actions flush action nat",
132*4882a593Smuzhiyun                0,
133*4882a593Smuzhiyun                1,
134*4882a593Smuzhiyun                255
135*4882a593Smuzhiyun            ]
136*4882a593Smuzhiyun        ],
137*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 drop index 722",
138*4882a593Smuzhiyun        "expExitCode": "0",
139*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 722",
140*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 drop.*index 722 ref",
141*4882a593Smuzhiyun        "matchCount": "1",
142*4882a593Smuzhiyun        "teardown": [
143*4882a593Smuzhiyun            "$TC actions flush action nat"
144*4882a593Smuzhiyun        ]
145*4882a593Smuzhiyun    },
146*4882a593Smuzhiyun    {
147*4882a593Smuzhiyun        "id": "2120",
148*4882a593Smuzhiyun        "name": "Add nat action on ingress with maximum index value",
149*4882a593Smuzhiyun        "category": [
150*4882a593Smuzhiyun            "actions",
151*4882a593Smuzhiyun            "nat"
152*4882a593Smuzhiyun        ],
153*4882a593Smuzhiyun        "setup": [
154*4882a593Smuzhiyun            [
155*4882a593Smuzhiyun                "$TC actions flush action nat",
156*4882a593Smuzhiyun                0,
157*4882a593Smuzhiyun                1,
158*4882a593Smuzhiyun                255
159*4882a593Smuzhiyun            ]
160*4882a593Smuzhiyun        ],
161*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 index 4294967295",
162*4882a593Smuzhiyun        "expExitCode": "0",
163*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 4294967295",
164*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 pass.*index 4294967295 ref",
165*4882a593Smuzhiyun        "matchCount": "1",
166*4882a593Smuzhiyun        "teardown": [
167*4882a593Smuzhiyun            "$TC actions flush action nat"
168*4882a593Smuzhiyun        ]
169*4882a593Smuzhiyun    },
170*4882a593Smuzhiyun    {
171*4882a593Smuzhiyun        "id": "3e9d",
172*4882a593Smuzhiyun        "name": "Add nat action on ingress with invalid index value",
173*4882a593Smuzhiyun        "category": [
174*4882a593Smuzhiyun            "actions",
175*4882a593Smuzhiyun            "nat"
176*4882a593Smuzhiyun        ],
177*4882a593Smuzhiyun        "setup": [
178*4882a593Smuzhiyun            [
179*4882a593Smuzhiyun                "$TC actions flush action nat",
180*4882a593Smuzhiyun                0,
181*4882a593Smuzhiyun                1,
182*4882a593Smuzhiyun                255
183*4882a593Smuzhiyun            ]
184*4882a593Smuzhiyun        ],
185*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 index 4294967295555",
186*4882a593Smuzhiyun        "expExitCode": "255",
187*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 4294967295555",
188*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 pass.*index 4294967295555 ref",
189*4882a593Smuzhiyun        "matchCount": "0",
190*4882a593Smuzhiyun        "teardown": [
191*4882a593Smuzhiyun            [
192*4882a593Smuzhiyun                "$TC actions flush action nat",
193*4882a593Smuzhiyun                0,
194*4882a593Smuzhiyun                1,
195*4882a593Smuzhiyun                255
196*4882a593Smuzhiyun            ]
197*4882a593Smuzhiyun        ]
198*4882a593Smuzhiyun    },
199*4882a593Smuzhiyun    {
200*4882a593Smuzhiyun        "id": "f6c9",
201*4882a593Smuzhiyun        "name": "Add nat action on ingress with invalid IP address",
202*4882a593Smuzhiyun        "category": [
203*4882a593Smuzhiyun            "actions",
204*4882a593Smuzhiyun            "nat"
205*4882a593Smuzhiyun        ],
206*4882a593Smuzhiyun        "setup": [
207*4882a593Smuzhiyun            [
208*4882a593Smuzhiyun                "$TC actions flush action nat",
209*4882a593Smuzhiyun                0,
210*4882a593Smuzhiyun                1,
211*4882a593Smuzhiyun                255
212*4882a593Smuzhiyun            ]
213*4882a593Smuzhiyun        ],
214*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 1.1888.2.2 index 7",
215*4882a593Smuzhiyun        "expExitCode": "255",
216*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 7",
217*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.1.1.1/32 1.1888.2.2 pass.*index 7 ref",
218*4882a593Smuzhiyun        "matchCount": "0",
219*4882a593Smuzhiyun        "teardown": [
220*4882a593Smuzhiyun            [
221*4882a593Smuzhiyun                "$TC actions flush action nat",
222*4882a593Smuzhiyun                0,
223*4882a593Smuzhiyun                1,
224*4882a593Smuzhiyun                255
225*4882a593Smuzhiyun            ]
226*4882a593Smuzhiyun        ]
227*4882a593Smuzhiyun    },
228*4882a593Smuzhiyun    {
229*4882a593Smuzhiyun        "id": "be25",
230*4882a593Smuzhiyun        "name": "Add nat action on ingress with invalid argument",
231*4882a593Smuzhiyun        "category": [
232*4882a593Smuzhiyun            "actions",
233*4882a593Smuzhiyun            "nat"
234*4882a593Smuzhiyun        ],
235*4882a593Smuzhiyun        "setup": [
236*4882a593Smuzhiyun            [
237*4882a593Smuzhiyun                "$TC actions flush action nat",
238*4882a593Smuzhiyun                0,
239*4882a593Smuzhiyun                1,
240*4882a593Smuzhiyun                255
241*4882a593Smuzhiyun            ]
242*4882a593Smuzhiyun        ],
243*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 1.18.2.2 another_arg index 12",
244*4882a593Smuzhiyun        "expExitCode": "255",
245*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 12",
246*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.1.1.1/32 1.18.2.2 pass.*another_arg.*index 12 ref",
247*4882a593Smuzhiyun        "matchCount": "0",
248*4882a593Smuzhiyun        "teardown": [
249*4882a593Smuzhiyun            [
250*4882a593Smuzhiyun                "$TC actions flush action nat",
251*4882a593Smuzhiyun                0,
252*4882a593Smuzhiyun                1,
253*4882a593Smuzhiyun                255
254*4882a593Smuzhiyun            ]
255*4882a593Smuzhiyun        ]
256*4882a593Smuzhiyun    },
257*4882a593Smuzhiyun    {
258*4882a593Smuzhiyun        "id": "a7bd",
259*4882a593Smuzhiyun        "name": "Add nat action on ingress with DEFAULT IP address",
260*4882a593Smuzhiyun        "category": [
261*4882a593Smuzhiyun            "actions",
262*4882a593Smuzhiyun            "nat"
263*4882a593Smuzhiyun        ],
264*4882a593Smuzhiyun        "setup": [
265*4882a593Smuzhiyun            [
266*4882a593Smuzhiyun                "$TC actions flush action nat",
267*4882a593Smuzhiyun                0,
268*4882a593Smuzhiyun                1,
269*4882a593Smuzhiyun                255
270*4882a593Smuzhiyun            ]
271*4882a593Smuzhiyun        ],
272*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress default 10.10.10.1 index 12",
273*4882a593Smuzhiyun        "expExitCode": "0",
274*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 12",
275*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref",
276*4882a593Smuzhiyun        "matchCount": "1",
277*4882a593Smuzhiyun        "teardown": [
278*4882a593Smuzhiyun            "$TC actions flush action nat"
279*4882a593Smuzhiyun        ]
280*4882a593Smuzhiyun    },
281*4882a593Smuzhiyun    {
282*4882a593Smuzhiyun        "id": "ee1e",
283*4882a593Smuzhiyun        "name": "Add nat action on ingress with ANY IP address",
284*4882a593Smuzhiyun        "category": [
285*4882a593Smuzhiyun            "actions",
286*4882a593Smuzhiyun            "nat"
287*4882a593Smuzhiyun        ],
288*4882a593Smuzhiyun        "setup": [
289*4882a593Smuzhiyun            [
290*4882a593Smuzhiyun                "$TC actions flush action nat",
291*4882a593Smuzhiyun                0,
292*4882a593Smuzhiyun                1,
293*4882a593Smuzhiyun                255
294*4882a593Smuzhiyun            ]
295*4882a593Smuzhiyun        ],
296*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress any 10.10.10.1 index 12",
297*4882a593Smuzhiyun        "expExitCode": "0",
298*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 12",
299*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref",
300*4882a593Smuzhiyun        "matchCount": "1",
301*4882a593Smuzhiyun        "teardown": [
302*4882a593Smuzhiyun            "$TC actions flush action nat"
303*4882a593Smuzhiyun        ]
304*4882a593Smuzhiyun    },
305*4882a593Smuzhiyun    {
306*4882a593Smuzhiyun        "id": "1de8",
307*4882a593Smuzhiyun        "name": "Add nat action on ingress with ALL IP address",
308*4882a593Smuzhiyun        "category": [
309*4882a593Smuzhiyun            "actions",
310*4882a593Smuzhiyun            "nat"
311*4882a593Smuzhiyun        ],
312*4882a593Smuzhiyun        "setup": [
313*4882a593Smuzhiyun            [
314*4882a593Smuzhiyun                "$TC actions flush action nat",
315*4882a593Smuzhiyun                0,
316*4882a593Smuzhiyun                1,
317*4882a593Smuzhiyun                255
318*4882a593Smuzhiyun            ]
319*4882a593Smuzhiyun        ],
320*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress all 10.10.10.1 index 12",
321*4882a593Smuzhiyun        "expExitCode": "0",
322*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 12",
323*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref",
324*4882a593Smuzhiyun        "matchCount": "1",
325*4882a593Smuzhiyun        "teardown": [
326*4882a593Smuzhiyun            "$TC actions flush action nat"
327*4882a593Smuzhiyun        ]
328*4882a593Smuzhiyun    },
329*4882a593Smuzhiyun    {
330*4882a593Smuzhiyun        "id": "8dba",
331*4882a593Smuzhiyun        "name": "Add nat action on egress with default control action",
332*4882a593Smuzhiyun        "category": [
333*4882a593Smuzhiyun            "actions",
334*4882a593Smuzhiyun            "nat"
335*4882a593Smuzhiyun        ],
336*4882a593Smuzhiyun        "setup": [
337*4882a593Smuzhiyun            [
338*4882a593Smuzhiyun                "$TC actions flush action nat",
339*4882a593Smuzhiyun                0,
340*4882a593Smuzhiyun                1,
341*4882a593Smuzhiyun                255
342*4882a593Smuzhiyun            ]
343*4882a593Smuzhiyun        ],
344*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1",
345*4882a593Smuzhiyun        "expExitCode": "0",
346*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
347*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 pass",
348*4882a593Smuzhiyun        "matchCount": "1",
349*4882a593Smuzhiyun        "teardown": [
350*4882a593Smuzhiyun            "$TC actions flush action nat"
351*4882a593Smuzhiyun        ]
352*4882a593Smuzhiyun    },
353*4882a593Smuzhiyun    {
354*4882a593Smuzhiyun        "id": "19a7",
355*4882a593Smuzhiyun        "name": "Add nat action on egress with pipe control action",
356*4882a593Smuzhiyun        "category": [
357*4882a593Smuzhiyun            "actions",
358*4882a593Smuzhiyun            "nat"
359*4882a593Smuzhiyun        ],
360*4882a593Smuzhiyun        "setup": [
361*4882a593Smuzhiyun            [
362*4882a593Smuzhiyun                "$TC actions flush action nat",
363*4882a593Smuzhiyun                0,
364*4882a593Smuzhiyun                1,
365*4882a593Smuzhiyun                255
366*4882a593Smuzhiyun            ]
367*4882a593Smuzhiyun        ],
368*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 pipe",
369*4882a593Smuzhiyun        "expExitCode": "0",
370*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
371*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 pipe",
372*4882a593Smuzhiyun        "matchCount": "1",
373*4882a593Smuzhiyun        "teardown": [
374*4882a593Smuzhiyun            "$TC actions flush action nat"
375*4882a593Smuzhiyun        ]
376*4882a593Smuzhiyun    },
377*4882a593Smuzhiyun    {
378*4882a593Smuzhiyun        "id": "f1d9",
379*4882a593Smuzhiyun        "name": "Add nat action on egress with continue control action",
380*4882a593Smuzhiyun        "category": [
381*4882a593Smuzhiyun            "actions",
382*4882a593Smuzhiyun            "nat"
383*4882a593Smuzhiyun        ],
384*4882a593Smuzhiyun        "setup": [
385*4882a593Smuzhiyun            [
386*4882a593Smuzhiyun                "$TC actions flush action nat",
387*4882a593Smuzhiyun                0,
388*4882a593Smuzhiyun                1,
389*4882a593Smuzhiyun                255
390*4882a593Smuzhiyun            ]
391*4882a593Smuzhiyun        ],
392*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 continue",
393*4882a593Smuzhiyun        "expExitCode": "0",
394*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
395*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 continue",
396*4882a593Smuzhiyun        "matchCount": "1",
397*4882a593Smuzhiyun        "teardown": [
398*4882a593Smuzhiyun            "$TC actions flush action nat"
399*4882a593Smuzhiyun        ]
400*4882a593Smuzhiyun    },
401*4882a593Smuzhiyun    {
402*4882a593Smuzhiyun        "id": "6d4a",
403*4882a593Smuzhiyun        "name": "Add nat action on egress with reclassify control action",
404*4882a593Smuzhiyun        "category": [
405*4882a593Smuzhiyun            "actions",
406*4882a593Smuzhiyun            "nat"
407*4882a593Smuzhiyun        ],
408*4882a593Smuzhiyun        "setup": [
409*4882a593Smuzhiyun            [
410*4882a593Smuzhiyun                "$TC actions flush action nat",
411*4882a593Smuzhiyun                0,
412*4882a593Smuzhiyun                1,
413*4882a593Smuzhiyun                255
414*4882a593Smuzhiyun            ]
415*4882a593Smuzhiyun        ],
416*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 reclassify",
417*4882a593Smuzhiyun        "expExitCode": "0",
418*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
419*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 reclassify",
420*4882a593Smuzhiyun        "matchCount": "1",
421*4882a593Smuzhiyun        "teardown": [
422*4882a593Smuzhiyun            "$TC actions flush action nat"
423*4882a593Smuzhiyun        ]
424*4882a593Smuzhiyun    },
425*4882a593Smuzhiyun    {
426*4882a593Smuzhiyun        "id": "b313",
427*4882a593Smuzhiyun        "name": "Add nat action on egress with jump control action",
428*4882a593Smuzhiyun        "category": [
429*4882a593Smuzhiyun            "actions",
430*4882a593Smuzhiyun            "nat"
431*4882a593Smuzhiyun        ],
432*4882a593Smuzhiyun        "setup": [
433*4882a593Smuzhiyun            [
434*4882a593Smuzhiyun                "$TC actions flush action nat",
435*4882a593Smuzhiyun                0,
436*4882a593Smuzhiyun                1,
437*4882a593Smuzhiyun                255
438*4882a593Smuzhiyun            ]
439*4882a593Smuzhiyun        ],
440*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 jump 777",
441*4882a593Smuzhiyun        "expExitCode": "0",
442*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
443*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 jump 777",
444*4882a593Smuzhiyun        "matchCount": "1",
445*4882a593Smuzhiyun        "teardown": [
446*4882a593Smuzhiyun            "$TC actions flush action nat"
447*4882a593Smuzhiyun        ]
448*4882a593Smuzhiyun    },
449*4882a593Smuzhiyun    {
450*4882a593Smuzhiyun        "id": "d9fc",
451*4882a593Smuzhiyun        "name": "Add nat action on egress with drop control action",
452*4882a593Smuzhiyun        "category": [
453*4882a593Smuzhiyun            "actions",
454*4882a593Smuzhiyun            "nat"
455*4882a593Smuzhiyun        ],
456*4882a593Smuzhiyun        "setup": [
457*4882a593Smuzhiyun            [
458*4882a593Smuzhiyun                "$TC actions flush action nat",
459*4882a593Smuzhiyun                0,
460*4882a593Smuzhiyun                1,
461*4882a593Smuzhiyun                255
462*4882a593Smuzhiyun            ]
463*4882a593Smuzhiyun        ],
464*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 drop",
465*4882a593Smuzhiyun        "expExitCode": "0",
466*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action nat",
467*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 10.10.10.1/32 20.20.20.1 drop",
468*4882a593Smuzhiyun        "matchCount": "1",
469*4882a593Smuzhiyun        "teardown": [
470*4882a593Smuzhiyun            "$TC actions flush action nat"
471*4882a593Smuzhiyun        ]
472*4882a593Smuzhiyun    },
473*4882a593Smuzhiyun    {
474*4882a593Smuzhiyun        "id": "a895",
475*4882a593Smuzhiyun        "name": "Add nat action on egress with DEFAULT IP address",
476*4882a593Smuzhiyun        "category": [
477*4882a593Smuzhiyun            "actions",
478*4882a593Smuzhiyun            "nat"
479*4882a593Smuzhiyun        ],
480*4882a593Smuzhiyun        "setup": [
481*4882a593Smuzhiyun            [
482*4882a593Smuzhiyun                "$TC actions flush action nat",
483*4882a593Smuzhiyun                0,
484*4882a593Smuzhiyun                1,
485*4882a593Smuzhiyun                255
486*4882a593Smuzhiyun            ]
487*4882a593Smuzhiyun        ],
488*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress default 20.20.20.1 pipe index 10",
489*4882a593Smuzhiyun        "expExitCode": "0",
490*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 10",
491*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref",
492*4882a593Smuzhiyun        "matchCount": "1",
493*4882a593Smuzhiyun        "teardown": [
494*4882a593Smuzhiyun            "$TC actions flush action nat"
495*4882a593Smuzhiyun        ]
496*4882a593Smuzhiyun    },
497*4882a593Smuzhiyun    {
498*4882a593Smuzhiyun        "id": "2572",
499*4882a593Smuzhiyun        "name": "Add nat action on egress with ANY IP address",
500*4882a593Smuzhiyun        "category": [
501*4882a593Smuzhiyun            "actions",
502*4882a593Smuzhiyun            "nat"
503*4882a593Smuzhiyun        ],
504*4882a593Smuzhiyun        "setup": [
505*4882a593Smuzhiyun            [
506*4882a593Smuzhiyun                "$TC actions flush action nat",
507*4882a593Smuzhiyun                0,
508*4882a593Smuzhiyun                1,
509*4882a593Smuzhiyun                255
510*4882a593Smuzhiyun            ]
511*4882a593Smuzhiyun        ],
512*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress any 20.20.20.1 pipe index 10",
513*4882a593Smuzhiyun        "expExitCode": "0",
514*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 10",
515*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref",
516*4882a593Smuzhiyun        "matchCount": "1",
517*4882a593Smuzhiyun        "teardown": [
518*4882a593Smuzhiyun            "$TC actions flush action nat"
519*4882a593Smuzhiyun        ]
520*4882a593Smuzhiyun    },
521*4882a593Smuzhiyun    {
522*4882a593Smuzhiyun        "id": "37f3",
523*4882a593Smuzhiyun        "name": "Add nat action on egress with ALL IP address",
524*4882a593Smuzhiyun        "category": [
525*4882a593Smuzhiyun            "actions",
526*4882a593Smuzhiyun            "nat"
527*4882a593Smuzhiyun        ],
528*4882a593Smuzhiyun        "setup": [
529*4882a593Smuzhiyun            [
530*4882a593Smuzhiyun                "$TC actions flush action nat",
531*4882a593Smuzhiyun                0,
532*4882a593Smuzhiyun                1,
533*4882a593Smuzhiyun                255
534*4882a593Smuzhiyun            ]
535*4882a593Smuzhiyun        ],
536*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress all 20.20.20.1 pipe index 10",
537*4882a593Smuzhiyun        "expExitCode": "0",
538*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 10",
539*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref",
540*4882a593Smuzhiyun        "matchCount": "1",
541*4882a593Smuzhiyun        "teardown": [
542*4882a593Smuzhiyun            "$TC actions flush action nat"
543*4882a593Smuzhiyun        ]
544*4882a593Smuzhiyun    },
545*4882a593Smuzhiyun    {
546*4882a593Smuzhiyun        "id": "6054",
547*4882a593Smuzhiyun        "name": "Add nat action on egress with cookie",
548*4882a593Smuzhiyun        "category": [
549*4882a593Smuzhiyun            "actions",
550*4882a593Smuzhiyun            "nat"
551*4882a593Smuzhiyun        ],
552*4882a593Smuzhiyun        "setup": [
553*4882a593Smuzhiyun            [
554*4882a593Smuzhiyun                "$TC actions flush action nat",
555*4882a593Smuzhiyun                0,
556*4882a593Smuzhiyun                1,
557*4882a593Smuzhiyun                255
558*4882a593Smuzhiyun            ]
559*4882a593Smuzhiyun        ],
560*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat egress all 20.20.20.1 pipe index 10 cookie aa1bc2d3eeff112233445566778800a1",
561*4882a593Smuzhiyun        "expExitCode": "0",
562*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 10",
563*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref.*cookie aa1bc2d3eeff112233445566778800a1",
564*4882a593Smuzhiyun        "matchCount": "1",
565*4882a593Smuzhiyun        "teardown": [
566*4882a593Smuzhiyun            "$TC actions flush action nat"
567*4882a593Smuzhiyun        ]
568*4882a593Smuzhiyun    },
569*4882a593Smuzhiyun    {
570*4882a593Smuzhiyun        "id": "79d6",
571*4882a593Smuzhiyun        "name": "Add nat action on ingress with cookie",
572*4882a593Smuzhiyun        "category": [
573*4882a593Smuzhiyun            "actions",
574*4882a593Smuzhiyun            "nat"
575*4882a593Smuzhiyun        ],
576*4882a593Smuzhiyun        "setup": [
577*4882a593Smuzhiyun            [
578*4882a593Smuzhiyun                "$TC actions flush action nat",
579*4882a593Smuzhiyun                0,
580*4882a593Smuzhiyun                1,
581*4882a593Smuzhiyun                255
582*4882a593Smuzhiyun            ]
583*4882a593Smuzhiyun        ],
584*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action nat ingress 192.168.1.1 10.10.10.1 reclassify index 1 cookie 112233445566778899aabbccddeeff11",
585*4882a593Smuzhiyun        "expExitCode": "0",
586*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 1",
587*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 192.168.1.1/32 10.10.10.1 reclassify.*index 1 ref.*cookie 112233445566778899aabbccddeeff11",
588*4882a593Smuzhiyun        "matchCount": "1",
589*4882a593Smuzhiyun        "teardown": [
590*4882a593Smuzhiyun            "$TC actions flush action nat"
591*4882a593Smuzhiyun        ]
592*4882a593Smuzhiyun    },
593*4882a593Smuzhiyun    {
594*4882a593Smuzhiyun        "id": "4b12",
595*4882a593Smuzhiyun        "name": "Replace nat action with invalid goto chain control",
596*4882a593Smuzhiyun        "category": [
597*4882a593Smuzhiyun            "actions",
598*4882a593Smuzhiyun            "nat"
599*4882a593Smuzhiyun        ],
600*4882a593Smuzhiyun        "setup": [
601*4882a593Smuzhiyun            [
602*4882a593Smuzhiyun                "$TC actions flush action nat",
603*4882a593Smuzhiyun                0,
604*4882a593Smuzhiyun                1,
605*4882a593Smuzhiyun                255
606*4882a593Smuzhiyun            ],
607*4882a593Smuzhiyun            "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 drop index 90"
608*4882a593Smuzhiyun        ],
609*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions replace action nat ingress 1.18.1.1 1.18.2.2 goto chain 42 index 90 cookie c1a0c1a0",
610*4882a593Smuzhiyun        "expExitCode": "255",
611*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action nat index 90",
612*4882a593Smuzhiyun        "matchPattern": "action order [0-9]+:  nat ingress 1.18.1.1/32 1.18.2.2 drop.*index 90 ref",
613*4882a593Smuzhiyun        "matchCount": "1",
614*4882a593Smuzhiyun        "teardown": [
615*4882a593Smuzhiyun            "$TC actions flush action nat"
616*4882a593Smuzhiyun        ]
617*4882a593Smuzhiyun    }
618*4882a593Smuzhiyun]
619