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