Refactored binapi generator with message encoding
[govpp.git] / binapigen / vppapi / testdata / test-all.api.json
1 [
2     {
3         "types": [
4             [
5                 "address",
6                 [
7                     "vl_api_address_family_t",
8                     "af"
9                 ],
10                 [
11                     "vl_api_address_union_t",
12                     "un"
13                 ]
14             ],
15             [
16                 "prefix",
17                 [
18                     "vl_api_address_t",
19                     "address"
20                 ],
21                 [
22                     "u8",
23                     "len"
24                 ]
25             ],
26             [
27                 "mprefix",
28                 [
29                     "vl_api_address_family_t",
30                     "af"
31                 ],
32                 [
33                     "u16",
34                     "grp_address_length"
35                 ],
36                 [
37                     "vl_api_address_union_t",
38                     "grp_address"
39                 ],
40                 [
41                     "vl_api_address_union_t",
42                     "src_address"
43                 ]
44             ],
45             [
46                 "ip6_prefix",
47                 [
48                     "vl_api_ip6_address_t",
49                     "address"
50                 ],
51                 [
52                     "u8",
53                     "len"
54                 ]
55             ],
56             [
57                 "ip4_prefix",
58                 [
59                     "vl_api_ip4_address_t",
60                     "address"
61                 ],
62                 [
63                     "u8",
64                     "len"
65                 ]
66             ],
67             [
68                 "prefix_matcher",
69                 [
70                     "u8",
71                     "le"
72                 ],
73                 [
74                     "u8",
75                     "ge"
76                 ]
77             ],
78             [
79                 "fib_mpls_label",
80                 [
81                     "u8",
82                     "is_uniform"
83                 ],
84                 [
85                     "u32",
86                     "label"
87                 ],
88                 [
89                     "u8",
90                     "ttl"
91                 ],
92                 [
93                     "u8",
94                     "exp"
95                 ]
96             ],
97             [
98                 "fib_path_nh",
99                 [
100                     "vl_api_address_union_t",
101                     "address"
102                 ],
103                 [
104                     "u32",
105                     "via_label"
106                 ],
107                 [
108                     "u32",
109                     "obj_id"
110                 ],
111                 [
112                     "u32",
113                     "classify_table_index"
114                 ]
115             ],
116             [
117                 "fib_path",
118                 [
119                     "u32",
120                     "sw_if_index"
121                 ],
122                 [
123                     "u32",
124                     "table_id"
125                 ],
126                 [
127                     "u32",
128                     "rpf_id"
129                 ],
130                 [
131                     "u8",
132                     "weight"
133                 ],
134                 [
135                     "u8",
136                     "preference"
137                 ],
138                 [
139                     "vl_api_fib_path_type_t",
140                     "type"
141                 ],
142                 [
143                     "vl_api_fib_path_flags_t",
144                     "flags"
145                 ],
146                 [
147                     "vl_api_fib_path_nh_proto_t",
148                     "proto"
149                 ],
150                 [
151                     "vl_api_fib_path_nh_t",
152                     "nh"
153                 ],
154                 [
155                     "u8",
156                     "n_labels"
157                 ],
158                 [
159                     "vl_api_fib_mpls_label_t",
160                     "label_stack",
161                     16
162                 ]
163             ],
164             [
165                 "address",
166                 [
167                     "vl_api_address_family_t",
168                     "af"
169                 ],
170                 [
171                     "vl_api_address_union_t",
172                     "un"
173                 ]
174             ],
175             [
176                 "prefix",
177                 [
178                     "vl_api_address_t",
179                     "address"
180                 ],
181                 [
182                     "u8",
183                     "len"
184                 ]
185             ],
186             [
187                 "mprefix",
188                 [
189                     "vl_api_address_family_t",
190                     "af"
191                 ],
192                 [
193                     "u16",
194                     "grp_address_length"
195                 ],
196                 [
197                     "vl_api_address_union_t",
198                     "grp_address"
199                 ],
200                 [
201                     "vl_api_address_union_t",
202                     "src_address"
203                 ]
204             ],
205             [
206                 "ip6_prefix",
207                 [
208                     "vl_api_ip6_address_t",
209                     "address"
210                 ],
211                 [
212                     "u8",
213                     "len"
214                 ]
215             ],
216             [
217                 "ip4_prefix",
218                 [
219                     "vl_api_ip4_address_t",
220                     "address"
221                 ],
222                 [
223                     "u8",
224                     "len"
225                 ]
226             ],
227             [
228                 "prefix_matcher",
229                 [
230                     "u8",
231                     "le"
232                 ],
233                 [
234                     "u8",
235                     "ge"
236                 ]
237             ],
238             [
239                 "fib_mpls_label",
240                 [
241                     "u8",
242                     "is_uniform"
243                 ],
244                 [
245                     "u32",
246                     "label"
247                 ],
248                 [
249                     "u8",
250                     "ttl"
251                 ],
252                 [
253                     "u8",
254                     "exp"
255                 ]
256             ],
257             [
258                 "fib_path_nh",
259                 [
260                     "vl_api_address_union_t",
261                     "address"
262                 ],
263                 [
264                     "u32",
265                     "via_label"
266                 ],
267                 [
268                     "u32",
269                     "obj_id"
270                 ],
271                 [
272                     "u32",
273                     "classify_table_index"
274                 ]
275             ],
276             [
277                 "fib_path",
278                 [
279                     "u32",
280                     "sw_if_index"
281                 ],
282                 [
283                     "u32",
284                     "table_id"
285                 ],
286                 [
287                     "u32",
288                     "rpf_id"
289                 ],
290                 [
291                     "u8",
292                     "weight"
293                 ],
294                 [
295                     "u8",
296                     "preference"
297                 ],
298                 [
299                     "vl_api_fib_path_type_t",
300                     "type"
301                 ],
302                 [
303                     "vl_api_fib_path_flags_t",
304                     "flags"
305                 ],
306                 [
307                     "vl_api_fib_path_nh_proto_t",
308                     "proto"
309                 ],
310                 [
311                     "vl_api_fib_path_nh_t",
312                     "nh"
313                 ],
314                 [
315                     "u8",
316                     "n_labels"
317                 ],
318                 [
319                     "vl_api_fib_mpls_label_t",
320                     "label_stack",
321                     16
322                 ]
323             ],
324             [
325                 "address",
326                 [
327                     "vl_api_address_family_t",
328                     "af"
329                 ],
330                 [
331                     "vl_api_address_union_t",
332                     "un"
333                 ]
334             ],
335             [
336                 "prefix",
337                 [
338                     "vl_api_address_t",
339                     "address"
340                 ],
341                 [
342                     "u8",
343                     "len"
344                 ]
345             ],
346             [
347                 "mprefix",
348                 [
349                     "vl_api_address_family_t",
350                     "af"
351                 ],
352                 [
353                     "u16",
354                     "grp_address_length"
355                 ],
356                 [
357                     "vl_api_address_union_t",
358                     "grp_address"
359                 ],
360                 [
361                     "vl_api_address_union_t",
362                     "src_address"
363                 ]
364             ],
365             [
366                 "ip6_prefix",
367                 [
368                     "vl_api_ip6_address_t",
369                     "address"
370                 ],
371                 [
372                     "u8",
373                     "len"
374                 ]
375             ],
376             [
377                 "ip4_prefix",
378                 [
379                     "vl_api_ip4_address_t",
380                     "address"
381                 ],
382                 [
383                     "u8",
384                     "len"
385                 ]
386             ],
387             [
388                 "prefix_matcher",
389                 [
390                     "u8",
391                     "le"
392                 ],
393                 [
394                     "u8",
395                     "ge"
396                 ]
397             ],
398             [
399                 "mfib_path",
400                 [
401                     "vl_api_mfib_itf_flags_t",
402                     "itf_flags"
403                 ],
404                 [
405                     "vl_api_fib_path_t",
406                     "path"
407                 ]
408             ],
409             [
410                 "ip_table",
411                 [
412                     "u32",
413                     "table_id"
414                 ],
415                 [
416                     "bool",
417                     "is_ip6"
418                 ],
419                 [
420                     "string",
421                     "name",
422                     64
423                 ]
424             ],
425             [
426                 "ip_route",
427                 [
428                     "u32",
429                     "table_id"
430                 ],
431                 [
432                     "u32",
433                     "stats_index"
434                 ],
435                 [
436                     "vl_api_prefix_t",
437                     "prefix"
438                 ],
439                 [
440                     "u8",
441                     "n_paths"
442                 ],
443                 [
444                     "vl_api_fib_path_t",
445                     "paths",
446                     0,
447                     "n_paths"
448                 ]
449             ],
450             [
451                 "ip_mroute",
452                 [
453                     "u32",
454                     "table_id"
455                 ],
456                 [
457                     "u32",
458                     "entry_flags"
459                 ],
460                 [
461                     "u32",
462                     "rpf_id"
463                 ],
464                 [
465                     "vl_api_mprefix_t",
466                     "prefix"
467                 ],
468                 [
469                     "u8",
470                     "n_paths"
471                 ],
472                 [
473                     "vl_api_mfib_path_t",
474                     "paths",
475                     0,
476                     "n_paths"
477                 ]
478             ],
479             [
480                 "punt_redirect",
481                 [
482                     "vl_api_interface_index_t",
483                     "rx_sw_if_index"
484                 ],
485                 [
486                     "vl_api_interface_index_t",
487                     "tx_sw_if_index"
488                 ],
489                 [
490                     "vl_api_address_t",
491                     "nh"
492                 ]
493             ]
494         ],
495         "messages": [
496             [
497                 "ip_table_add_del",
498                 [
499                     "u16",
500                     "_vl_msg_id"
501                 ],
502                 [
503                     "u32",
504                     "client_index"
505                 ],
506                 [
507                     "u32",
508                     "context"
509                 ],
510                 [
511                     "bool",
512                     "is_add",
513                     {
514                         "default": "true"
515                     }
516                 ],
517                 [
518                     "vl_api_ip_table_t",
519                     "table"
520                 ],
521                 {
522                     "crc": "0x0ffdaec0"
523                 }
524             ],
525             [
526                 "ip_table_add_del_reply",
527                 [
528                     "u16",
529                     "_vl_msg_id"
530                 ],
531                 [
532                     "u32",
533                     "context"
534                 ],
535                 [
536                     "i32",
537                     "retval"
538                 ],
539                 {
540                     "crc": "0xe8d4e804"
541                 }
542             ],
543             [
544                 "ip_table_dump",
545                 [
546                     "u16",
547                     "_vl_msg_id"
548                 ],
549                 [
550                     "u32",
551                     "client_index"
552                 ],
553                 [
554                     "u32",
555                     "context"
556                 ],
557                 {
558                     "crc": "0x51077d14"
559                 }
560             ],
561             [
562                 "ip_table_replace_begin",
563                 [
564                     "u16",
565                     "_vl_msg_id"
566                 ],
567                 [
568                     "u32",
569                     "client_index"
570                 ],
571                 [
572                     "u32",
573                     "context"
574                 ],
575                 [
576                     "vl_api_ip_table_t",
577                     "table"
578                 ],
579                 {
580                     "crc": "0xb9d2e09e"
581                 }
582             ],
583             [
584                 "ip_table_replace_begin_reply",
585                 [
586                     "u16",
587                     "_vl_msg_id"
588                 ],
589                 [
590                     "u32",
591                     "context"
592                 ],
593                 [
594                     "i32",
595                     "retval"
596                 ],
597                 {
598                     "crc": "0xe8d4e804"
599                 }
600             ],
601             [
602                 "ip_table_replace_end",
603                 [
604                     "u16",
605                     "_vl_msg_id"
606                 ],
607                 [
608                     "u32",
609                     "client_index"
610                 ],
611                 [
612                     "u32",
613                     "context"
614                 ],
615                 [
616                     "vl_api_ip_table_t",
617                     "table"
618                 ],
619                 {
620                     "crc": "0xb9d2e09e"
621                 }
622             ],
623             [
624                 "ip_table_replace_end_reply",
625                 [
626                     "u16",
627                     "_vl_msg_id"
628                 ],
629                 [
630                     "u32",
631                     "context"
632                 ],
633                 [
634                     "i32",
635                     "retval"
636                 ],
637                 {
638                     "crc": "0xe8d4e804"
639                 }
640             ],
641             [
642                 "ip_table_flush",
643                 [
644                     "u16",
645                     "_vl_msg_id"
646                 ],
647                 [
648                     "u32",
649                     "client_index"
650                 ],
651                 [
652                     "u32",
653                     "context"
654                 ],
655                 [
656                     "vl_api_ip_table_t",
657                     "table"
658                 ],
659                 {
660                     "crc": "0xb9d2e09e"
661                 }
662             ],
663             [
664                 "ip_table_flush_reply",
665                 [
666                     "u16",
667                     "_vl_msg_id"
668                 ],
669                 [
670                     "u32",
671                     "context"
672                 ],
673                 [
674                     "i32",
675                     "retval"
676                 ],
677                 {
678                     "crc": "0xe8d4e804"
679                 }
680             ],
681             [
682                 "ip_table_details",
683                 [
684                     "u16",
685                     "_vl_msg_id"
686                 ],
687                 [
688                     "u32",
689                     "context"
690                 ],
691                 [
692                     "vl_api_ip_table_t",
693                     "table"
694                 ],
695                 {
696                     "crc": "0xc79fca0f"
697                 }
698             ],
699             [
700                 "ip_route_add_del",
701                 [
702                     "u16",
703                     "_vl_msg_id"
704                 ],
705                 [
706                     "u32",
707                     "client_index"
708                 ],
709                 [
710                     "u32",
711                     "context"
712                 ],
713                 [
714                     "bool",
715                     "is_add",
716                     {
717                         "default": "true"
718                     }
719                 ],
720                 [
721                     "bool",
722                     "is_multipath"
723                 ],
724                 [
725                     "vl_api_ip_route_t",
726                     "route"
727                 ],
728                 {
729                     "crc": "0xc1ff832d"
730                 }
731             ],
732             [
733                 "ip_route_add_del_reply",
734                 [
735                     "u16",
736                     "_vl_msg_id"
737                 ],
738                 [
739                     "u32",
740                     "context"
741                 ],
742                 [
743                     "i32",
744                     "retval"
745                 ],
746                 [
747                     "u32",
748                     "stats_index"
749                 ],
750                 {
751                     "crc": "0x1992deab"
752                 }
753             ],
754             [
755                 "ip_route_dump",
756                 [
757                     "u16",
758                     "_vl_msg_id"
759                 ],
760                 [
761                     "u32",
762                     "client_index"
763                 ],
764                 [
765                     "u32",
766                     "context"
767                 ],
768                 [
769                     "vl_api_ip_table_t",
770                     "table"
771                 ],
772                 {
773                     "crc": "0xb9d2e09e"
774                 }
775             ],
776             [
777                 "ip_route_details",
778                 [
779                     "u16",
780                     "_vl_msg_id"
781                 ],
782                 [
783                     "u32",
784                     "context"
785                 ],
786                 [
787                     "vl_api_ip_route_t",
788                     "route"
789                 ],
790                 {
791                     "crc": "0xd1ffaae1"
792                 }
793             ],
794             [
795                 "ip_route_lookup",
796                 [
797                     "u16",
798                     "_vl_msg_id"
799                 ],
800                 [
801                     "u32",
802                     "client_index"
803                 ],
804                 [
805                     "u32",
806                     "context"
807                 ],
808                 [
809                     "u32",
810                     "table_id"
811                 ],
812                 [
813                     "u8",
814                     "exact"
815                 ],
816                 [
817                     "vl_api_prefix_t",
818                     "prefix"
819                 ],
820                 {
821                     "crc": "0xe2986185"
822                 }
823             ],
824             [
825                 "ip_route_lookup_reply",
826                 [
827                     "u16",
828                     "_vl_msg_id"
829                 ],
830                 [
831                     "u32",
832                     "context"
833                 ],
834                 [
835                     "i32",
836                     "retval"
837                 ],
838                 [
839                     "vl_api_ip_route_t",
840                     "route"
841                 ],
842                 {
843                     "crc": "0xae99de8e"
844                 }
845             ],
846             [
847                 "set_ip_flow_hash",
848                 [
849                     "u16",
850                     "_vl_msg_id"
851                 ],
852                 [
853                     "u32",
854                     "client_index"
855                 ],
856                 [
857                     "u32",
858                     "context"
859                 ],
860                 [
861                     "u32",
862                     "vrf_id"
863                 ],
864                 [
865                     "bool",
866                     "is_ipv6"
867                 ],
868                 [
869                     "bool",
870                     "src"
871                 ],
872                 [
873                     "bool",
874                     "dst"
875                 ],
876                 [
877                     "bool",
878                     "sport"
879                 ],
880                 [
881                     "bool",
882                     "dport"
883                 ],
884                 [
885                     "bool",
886                     "proto"
887                 ],
888                 [
889                     "bool",
890                     "reverse"
891                 ],
892                 [
893                     "bool",
894                     "symmetric"
895                 ],
896                 {
897                     "crc": "0x084ee09e"
898                 }
899             ],
900             [
901                 "set_ip_flow_hash_reply",
902                 [
903                     "u16",
904                     "_vl_msg_id"
905                 ],
906                 [
907                     "u32",
908                     "context"
909                 ],
910                 [
911                     "i32",
912                     "retval"
913                 ],
914                 {
915                     "crc": "0xe8d4e804"
916                 }
917             ],
918             [
919                 "sw_interface_ip6_enable_disable",
920                 [
921                     "u16",
922                     "_vl_msg_id"
923                 ],
924                 [
925                     "u32",
926                     "client_index"
927                 ],
928                 [
929                     "u32",
930                     "context"
931                 ],
932                 [
933                     "vl_api_interface_index_t",
934                     "sw_if_index"
935                 ],
936                 [
937                     "bool",
938                     "enable"
939                 ],
940                 {
941                     "crc": "0xae6cfcfb"
942                 }
943             ],
944             [
945                 "sw_interface_ip6_enable_disable_reply",
946                 [
947                     "u16",
948                     "_vl_msg_id"
949                 ],
950                 [
951                     "u32",
952                     "context"
953                 ],
954                 [
955                     "i32",
956                     "retval"
957                 ],
958                 {
959                     "crc": "0xe8d4e804"
960                 }
961             ],
962             [
963                 "ip_mtable_dump",
964                 [
965                     "u16",
966                     "_vl_msg_id"
967                 ],
968                 [
969                     "u32",
970                     "client_index"
971                 ],
972                 [
973                     "u32",
974                     "context"
975                 ],
976                 {
977                     "crc": "0x51077d14"
978                 }
979             ],
980             [
981                 "ip_mtable_details",
982                 [
983                     "u16",
984                     "_vl_msg_id"
985                 ],
986                 [
987                     "u32",
988                     "client_index"
989                 ],
990                 [
991                     "u32",
992                     "context"
993                 ],
994                 [
995                     "vl_api_ip_table_t",
996                     "table"
997                 ],
998                 {
999                     "crc": "0xb9d2e09e"
1000                 }
1001             ],
1002             [
1003                 "ip_mroute_add_del",
1004                 [
1005                     "u16",
1006                     "_vl_msg_id"
1007                 ],
1008                 [
1009                     "u32",
1010                     "client_index"
1011                 ],
1012                 [
1013                     "u32",
1014                     "context"
1015                 ],
1016                 [
1017                     "bool",
1018                     "is_add",
1019                     {
1020                         "default": "true"
1021                     }
1022                 ],
1023                 [
1024                     "bool",
1025                     "is_multipath"
1026                 ],
1027                 [
1028                     "vl_api_ip_mroute_t",
1029                     "route"
1030                 ],
1031                 {
1032                     "crc": "0xf6627d17"
1033                 }
1034             ],
1035             [
1036                 "ip_mroute_add_del_reply",
1037                 [
1038                     "u16",
1039                     "_vl_msg_id"
1040                 ],
1041                 [
1042                     "u32",
1043                     "context"
1044                 ],
1045                 [
1046                     "i32",
1047                     "retval"
1048                 ],
1049                 [
1050                     "u32",
1051                     "stats_index"
1052                 ],
1053                 {
1054                     "crc": "0x1992deab"
1055                 }
1056             ],
1057             [
1058                 "ip_mroute_dump",
1059                 [
1060                     "u16",
1061                     "_vl_msg_id"
1062                 ],
1063                 [
1064                     "u32",
1065                     "client_index"
1066                 ],
1067                 [
1068                     "u32",
1069                     "context"
1070                 ],
1071                 [
1072                     "vl_api_ip_table_t",
1073                     "table"
1074                 ],
1075                 {
1076                     "crc": "0xb9d2e09e"
1077                 }
1078             ],
1079             [
1080                 "ip_mroute_details",
1081                 [
1082                     "u16",
1083                     "_vl_msg_id"
1084                 ],
1085                 [
1086                     "u32",
1087                     "context"
1088                 ],
1089                 [
1090                     "vl_api_ip_mroute_t",
1091                     "route"
1092                 ],
1093                 {
1094                     "crc": "0xc1cb4b44"
1095                 }
1096             ],
1097             [
1098                 "ip_address_details",
1099                 [
1100                     "u16",
1101                     "_vl_msg_id"
1102                 ],
1103                 [
1104                     "u32",
1105                     "context"
1106                 ],
1107                 [
1108                     "vl_api_interface_index_t",
1109                     "sw_if_index"
1110                 ],
1111                 [
1112                     "vl_api_address_with_prefix_t",
1113                     "prefix"
1114                 ],
1115                 {
1116                     "crc": "0xb1199745"
1117                 }
1118             ],
1119             [
1120                 "ip_address_dump",
1121                 [
1122                     "u16",
1123                     "_vl_msg_id"
1124                 ],
1125                 [
1126                     "u32",
1127                     "client_index"
1128                 ],
1129                 [
1130                     "u32",
1131                     "context"
1132                 ],
1133                 [
1134                     "vl_api_interface_index_t",
1135                     "sw_if_index"
1136                 ],
1137                 [
1138                     "bool",
1139                     "is_ipv6"
1140                 ],
1141                 {
1142                     "crc": "0x2d033de4"
1143                 }
1144             ],
1145             [
1146                 "ip_unnumbered_details",
1147                 [
1148                     "u16",
1149                     "_vl_msg_id"
1150                 ],
1151                 [
1152                     "u32",
1153                     "context"
1154                 ],
1155                 [
1156                     "vl_api_interface_index_t",
1157                     "sw_if_index"
1158                 ],
1159                 [
1160                     "vl_api_interface_index_t",
1161                     "ip_sw_if_index"
1162                 ],
1163                 {
1164                     "crc": "0xaa12a483"
1165                 }
1166             ],
1167             [
1168                 "ip_unnumbered_dump",
1169                 [
1170                     "u16",
1171                     "_vl_msg_id"
1172                 ],
1173                 [
1174                     "u32",
1175                     "client_index"
1176                 ],
1177                 [
1178                     "u32",
1179                     "context"
1180                 ],
1181                 [
1182                     "vl_api_interface_index_t",
1183                     "sw_if_index",
1184                     {
1185                         "default": 4294967295
1186                     }
1187                 ],
1188                 {
1189                     "crc": "0xf9e6675e"
1190                 }
1191             ],
1192             [
1193                 "ip_details",
1194                 [
1195                     "u16",
1196                     "_vl_msg_id"
1197                 ],
1198                 [
1199                     "u32",
1200                     "context"
1201                 ],
1202                 [
1203                     "vl_api_interface_index_t",
1204                     "sw_if_index"
1205                 ],
1206                 [
1207                     "bool",
1208                     "is_ipv6"
1209                 ],
1210                 {
1211                     "crc": "0xeb152d07"
1212                 }
1213             ],
1214             [
1215                 "ip_dump",
1216                 [
1217                     "u16",
1218                     "_vl_msg_id"
1219                 ],
1220                 [
1221                     "u32",
1222                     "client_index"
1223                 ],
1224                 [
1225                     "u32",
1226                     "context"
1227                 ],
1228                 [
1229                     "bool",
1230                     "is_ipv6"
1231                 ],
1232                 {
1233                     "crc": "0x98d231ca"
1234                 }
1235             ],
1236             [
1237                 "mfib_signal_dump",
1238                 [
1239                     "u16",
1240                     "_vl_msg_id"
1241                 ],
1242                 [
1243                     "u32",
1244                     "client_index"
1245                 ],
1246                 [
1247                     "u32",
1248                     "context"
1249                 ],
1250                 {
1251                     "crc": "0x51077d14"
1252                 }
1253             ],
1254             [
1255                 "mfib_signal_details",
1256                 [
1257                     "u16",
1258                     "_vl_msg_id"
1259                 ],
1260                 [
1261                     "u32",
1262                     "context"
1263                 ],
1264                 [
1265                     "vl_api_interface_index_t",
1266                     "sw_if_index"
1267                 ],
1268                 [
1269                     "u32",
1270                     "table_id"
1271                 ],
1272                 [
1273                     "vl_api_mprefix_t",
1274                     "prefix"
1275                 ],
1276                 [
1277                     "u16",
1278                     "ip_packet_len"
1279                 ],
1280                 [
1281                     "u8",
1282                     "ip_packet_data",
1283                     256
1284                 ],
1285                 {
1286                     "crc": "0x64398a9a"
1287                 }
1288             ],
1289             [
1290                 "ip_punt_police",
1291                 [
1292                     "u16",
1293                     "_vl_msg_id"
1294                 ],
1295                 [
1296                     "u32",
1297                     "client_index"
1298                 ],
1299                 [
1300                     "u32",
1301                     "context"
1302                 ],
1303                 [
1304                     "u32",
1305                     "policer_index"
1306                 ],
1307                 [
1308                     "bool",
1309                     "is_add",
1310                     {
1311                         "default": "true"
1312                     }
1313                 ],
1314                 [
1315                     "bool",
1316                     "is_ip6"
1317                 ],
1318                 {
1319                     "crc": "0xdb867cea"
1320                 }
1321             ],
1322             [
1323                 "ip_punt_police_reply",
1324                 [
1325                     "u16",
1326                     "_vl_msg_id"
1327                 ],
1328                 [
1329                     "u32",
1330                     "context"
1331                 ],
1332                 [
1333                     "i32",
1334                     "retval"
1335                 ],
1336                 {
1337                     "crc": "0xe8d4e804"
1338                 }
1339             ],
1340             [
1341                 "ip_punt_redirect",
1342                 [
1343                     "u16",
1344                     "_vl_msg_id"
1345                 ],
1346                 [
1347                     "u32",
1348                     "client_index"
1349                 ],
1350                 [
1351                     "u32",
1352                     "context"
1353                 ],
1354                 [
1355                     "vl_api_punt_redirect_t",
1356                     "punt"
1357                 ],
1358                 [
1359                     "bool",
1360                     "is_add",
1361                     {
1362                         "default": "true"
1363                     }
1364                 ],
1365                 {
1366                     "crc": "0xa9a5592c"
1367                 }
1368             ],
1369             [
1370                 "ip_punt_redirect_reply",
1371                 [
1372                     "u16",
1373                     "_vl_msg_id"
1374                 ],
1375                 [
1376                     "u32",
1377                     "context"
1378                 ],
1379                 [
1380                     "i32",
1381                     "retval"
1382                 ],
1383                 {
1384                     "crc": "0xe8d4e804"
1385                 }
1386             ],
1387             [
1388                 "ip_punt_redirect_dump",
1389                 [
1390                     "u16",
1391                     "_vl_msg_id"
1392                 ],
1393                 [
1394                     "u32",
1395                     "client_index"
1396                 ],
1397                 [
1398                     "u32",
1399                     "context"
1400                 ],
1401                 [
1402                     "vl_api_interface_index_t",
1403                     "sw_if_index"
1404                 ],
1405                 [
1406                     "bool",
1407                     "is_ipv6"
1408                 ],
1409                 {
1410                     "crc": "0x2d033de4"
1411                 }
1412             ],
1413             [
1414                 "ip_punt_redirect_details",
1415                 [
1416                     "u16",
1417                     "_vl_msg_id"
1418                 ],
1419                 [
1420                     "u32",
1421                     "context"
1422                 ],
1423                 [
1424                     "vl_api_punt_redirect_t",
1425                     "punt"
1426                 ],
1427                 {
1428                     "crc": "0x3924f5d3"
1429                 }
1430             ],
1431             [
1432                 "ip_container_proxy_add_del",
1433                 [
1434                     "u16",
1435                     "_vl_msg_id"
1436                 ],
1437                 [
1438                     "u32",
1439                     "client_index"
1440                 ],
1441                 [
1442                     "u32",
1443                     "context"
1444                 ],
1445                 [
1446                     "vl_api_prefix_t",
1447                     "pfx"
1448                 ],
1449                 [
1450                     "vl_api_interface_index_t",
1451                     "sw_if_index"
1452                 ],
1453                 [
1454                     "bool",
1455                     "is_add",
1456                     {
1457                         "default": "true"
1458                     }
1459                 ],
1460                 {
1461                     "crc": "0x91189f40"
1462                 }
1463             ],
1464             [
1465                 "ip_container_proxy_add_del_reply",
1466                 [
1467                     "u16",
1468                     "_vl_msg_id"
1469                 ],
1470                 [
1471                     "u32",
1472                     "context"
1473                 ],
1474                 [
1475                     "i32",
1476                     "retval"
1477                 ],
1478                 {
1479                     "crc": "0xe8d4e804"
1480                 }
1481             ],
1482             [
1483                 "ip_container_proxy_dump",
1484                 [
1485                     "u16",
1486                     "_vl_msg_id"
1487                 ],
1488                 [
1489                     "u32",
1490                     "client_index"
1491                 ],
1492                 [
1493                     "u32",
1494                     "context"
1495                 ],
1496                 {
1497                     "crc": "0x51077d14"
1498                 }
1499             ],
1500             [
1501                 "ip_container_proxy_details",
1502                 [
1503                     "u16",
1504                     "_vl_msg_id"
1505                 ],
1506                 [
1507                     "u32",
1508                     "context"
1509                 ],
1510                 [
1511                     "vl_api_interface_index_t",
1512                     "sw_if_index"
1513                 ],
1514                 [
1515                     "vl_api_prefix_t",
1516                     "prefix"
1517                 ],
1518                 {
1519                     "crc": "0x0ee460e8"
1520                 }
1521             ],
1522             [
1523                 "ip_source_and_port_range_check_add_del",
1524                 [
1525                     "u16",
1526                     "_vl_msg_id"
1527                 ],
1528                 [
1529                     "u32",
1530                     "client_index"
1531                 ],
1532                 [
1533                     "u32",
1534                     "context"
1535                 ],
1536                 [
1537                     "bool",
1538                     "is_add",
1539                     {
1540                         "default": "true"
1541                     }
1542                 ],
1543                 [
1544                     "vl_api_prefix_t",
1545                     "prefix"
1546                 ],
1547                 [
1548                     "u8",
1549                     "number_of_ranges"
1550                 ],
1551                 [
1552                     "u16",
1553                     "low_ports",
1554                     32
1555                 ],
1556                 [
1557                     "u16",
1558                     "high_ports",
1559                     32
1560                 ],
1561                 [
1562                     "u32",
1563                     "vrf_id"
1564                 ],
1565                 {
1566                     "crc": "0x8bfc76f2"
1567                 }
1568             ],
1569             [
1570                 "ip_source_and_port_range_check_add_del_reply",
1571                 [
1572                     "u16",
1573                     "_vl_msg_id"
1574                 ],
1575                 [
1576                     "u32",
1577                     "context"
1578                 ],
1579                 [
1580                     "i32",
1581                     "retval"
1582                 ],
1583                 {
1584                     "crc": "0xe8d4e804"
1585                 }
1586             ],
1587             [
1588                 "ip_source_and_port_range_check_interface_add_del",
1589                 [
1590                     "u16",
1591                     "_vl_msg_id"
1592                 ],
1593                 [
1594                     "u32",
1595                     "client_index"
1596                 ],
1597                 [
1598                     "u32",
1599                     "context"
1600                 ],
1601                 [
1602                     "bool",
1603                     "is_add",
1604                     {
1605                         "default": "true"
1606                     }
1607                 ],
1608                 [
1609                     "vl_api_interface_index_t",
1610                     "sw_if_index"
1611                 ],
1612                 [
1613                     "u32",
1614                     "tcp_in_vrf_id"
1615                 ],
1616                 [
1617                     "u32",
1618                     "tcp_out_vrf_id"
1619                 ],
1620                 [
1621                     "u32",
1622                     "udp_in_vrf_id"
1623                 ],
1624                 [
1625                     "u32",
1626                     "udp_out_vrf_id"
1627                 ],
1628                 {
1629                     "crc": "0xe1ba8987"
1630                 }
1631             ],
1632             [
1633                 "ip_source_and_port_range_check_interface_add_del_reply",
1634                 [
1635                     "u16",
1636                     "_vl_msg_id"
1637                 ],
1638                 [
1639                     "u32",
1640                     "context"
1641                 ],
1642                 [
1643                     "i32",
1644                     "retval"
1645                 ],
1646                 {
1647                     "crc": "0xe8d4e804"
1648                 }
1649             ],
1650             [
1651                 "sw_interface_ip6_set_link_local_address",
1652                 [
1653                     "u16",
1654                     "_vl_msg_id"
1655                 ],
1656                 [
1657                     "u32",
1658                     "client_index"
1659                 ],
1660                 [
1661                     "u32",
1662                     "context"
1663                 ],
1664                 [
1665                     "vl_api_interface_index_t",
1666                     "sw_if_index"
1667                 ],
1668                 [
1669                     "vl_api_ip6_address_t",
1670                     "ip"
1671                 ],
1672                 {
1673                     "crc": "0x2931d9fa"
1674                 }
1675             ],
1676             [
1677                 "sw_interface_ip6_set_link_local_address_reply",
1678                 [
1679                     "u16",
1680                     "_vl_msg_id"
1681                 ],
1682                 [
1683                     "u32",
1684                     "context"
1685                 ],
1686                 [
1687                     "i32",
1688                     "retval"
1689                 ],
1690                 {
1691                     "crc": "0xe8d4e804"
1692                 }
1693             ],
1694             [
1695                 "ioam_enable",
1696                 [
1697                     "u16",
1698                     "_vl_msg_id"
1699                 ],
1700                 [
1701                     "u32",
1702                     "client_index"
1703                 ],
1704                 [
1705                     "u32",
1706                     "context"
1707                 ],
1708                 [
1709                     "u16",
1710                     "id"
1711                 ],
1712                 [
1713                     "bool",
1714                     "seqno"
1715                 ],
1716                 [
1717                     "bool",
1718                     "analyse"
1719                 ],
1720                 [
1721                     "bool",
1722                     "pot_enable"
1723                 ],
1724                 [
1725                     "bool",
1726                     "trace_enable"
1727                 ],
1728                 [
1729                     "u32",
1730                     "node_id"
1731                 ],
1732                 {
1733                     "crc": "0x51ccd868"
1734                 }
1735             ],
1736             [
1737                 "ioam_enable_reply",
1738                 [
1739                     "u16",
1740                     "_vl_msg_id"
1741                 ],
1742                 [
1743                     "u32",
1744                     "context"
1745                 ],
1746                 [
1747                     "i32",
1748                     "retval"
1749                 ],
1750                 {
1751                     "crc": "0xe8d4e804"
1752                 }
1753             ],
1754             [
1755                 "ioam_disable",
1756                 [
1757                     "u16",
1758                     "_vl_msg_id"
1759                 ],
1760                 [
1761                     "u32",
1762                     "client_index"
1763                 ],
1764                 [
1765                     "u32",
1766                     "context"
1767                 ],
1768                 [
1769                     "u16",
1770                     "id"
1771                 ],
1772                 {
1773                     "crc": "0x6b16a45e"
1774                 }
1775             ],
1776             [
1777                 "ioam_disable_reply",
1778                 [
1779                     "u16",
1780                     "_vl_msg_id"
1781                 ],
1782                 [
1783                     "u32",
1784                     "context"
1785                 ],
1786                 [
1787                     "i32",
1788                     "retval"
1789                 ],
1790                 {
1791                     "crc": "0xe8d4e804"
1792                 }
1793             ],
1794             [
1795                 "ip_reassembly_set",
1796                 [
1797                     "u16",
1798                     "_vl_msg_id"
1799                 ],
1800                 [
1801                     "u32",
1802                     "client_index"
1803                 ],
1804                 [
1805                     "u32",
1806                     "context"
1807                 ],
1808                 [
1809                     "u32",
1810                     "timeout_ms"
1811                 ],
1812                 [
1813                     "u32",
1814                     "max_reassemblies"
1815                 ],
1816                 [
1817                     "u32",
1818                     "max_reassembly_length"
1819                 ],
1820                 [
1821                     "u32",
1822                     "expire_walk_interval_ms"
1823                 ],
1824                 [
1825                     "bool",
1826                     "is_ip6"
1827                 ],
1828                 [
1829                     "vl_api_ip_reass_type_t",
1830                     "type"
1831                 ],
1832                 {
1833                     "crc": "0x16467d25"
1834                 }
1835             ],
1836             [
1837                 "ip_reassembly_set_reply",
1838                 [
1839                     "u16",
1840                     "_vl_msg_id"
1841                 ],
1842                 [
1843                     "u32",
1844                     "context"
1845                 ],
1846                 [
1847                     "i32",
1848                     "retval"
1849                 ],
1850                 {
1851                     "crc": "0xe8d4e804"
1852                 }
1853             ],
1854             [
1855                 "ip_reassembly_get",
1856                 [
1857                     "u16",
1858                     "_vl_msg_id"
1859                 ],
1860                 [
1861                     "u32",
1862                     "client_index"
1863                 ],
1864                 [
1865                     "u32",
1866                     "context"
1867                 ],
1868                 [
1869                     "bool",
1870                     "is_ip6"
1871                 ],
1872                 [
1873                     "vl_api_ip_reass_type_t",
1874                     "type"
1875                 ],
1876                 {
1877                     "crc": "0xea13ff63"
1878                 }
1879             ],
1880             [
1881                 "ip_reassembly_get_reply",
1882                 [
1883                     "u16",
1884                     "_vl_msg_id"
1885                 ],
1886                 [
1887                     "u32",
1888                     "context"
1889                 ],
1890                 [
1891                     "i32",
1892                     "retval"
1893                 ],
1894                 [
1895                     "u32",
1896                     "timeout_ms"
1897                 ],
1898                 [
1899                     "u32",
1900                     "max_reassemblies"
1901                 ],
1902                 [
1903                     "u32",
1904                     "max_reassembly_length"
1905                 ],
1906                 [
1907                     "u32",
1908                     "expire_walk_interval_ms"
1909                 ],
1910                 [
1911                     "bool",
1912                     "is_ip6"
1913                 ],
1914                 {
1915                     "crc": "0xd5eb8d34"
1916                 }
1917             ],
1918             [
1919                 "ip_reassembly_enable_disable",
1920                 [
1921                     "u16",
1922                     "_vl_msg_id"
1923                 ],
1924                 [
1925                     "u32",
1926                     "client_index"
1927                 ],
1928                 [
1929                     "u32",
1930                     "context"
1931                 ],
1932                 [
1933                     "vl_api_interface_index_t",
1934                     "sw_if_index"
1935                 ],
1936                 [
1937                     "bool",
1938                     "enable_ip4"
1939                 ],
1940                 [
1941                     "bool",
1942                     "enable_ip6"
1943                 ],
1944                 [
1945                     "vl_api_ip_reass_type_t",
1946                     "type"
1947                 ],
1948                 {
1949                     "crc": "0x885c85a6"
1950                 }
1951             ],
1952             [
1953                 "ip_reassembly_enable_disable_reply",
1954                 [
1955                     "u16",
1956                     "_vl_msg_id"
1957                 ],
1958                 [
1959                     "u32",
1960                     "context"
1961                 ],
1962                 [
1963                     "i32",
1964                     "retval"
1965                 ],
1966                 {
1967                     "crc": "0xe8d4e804"
1968                 }
1969             ]
1970         ],
1971         "unions": [
1972             [
1973                 "address_union",
1974                 [
1975                     "vl_api_ip4_address_t",
1976                     "ip4"
1977                 ],
1978                 [
1979                     "vl_api_ip6_address_t",
1980                     "ip6"
1981                 ]
1982             ],
1983             [
1984                 "address_union",
1985                 [
1986                     "vl_api_ip4_address_t",
1987                     "ip4"
1988                 ],
1989                 [
1990                     "vl_api_ip6_address_t",
1991                     "ip6"
1992                 ]
1993             ],
1994             [
1995                 "address_union",
1996                 [
1997                     "vl_api_ip4_address_t",
1998                     "ip4"
1999                 ],
2000                 [
2001                     "vl_api_ip6_address_t",
2002                     "ip6"
2003                 ]
2004             ]
2005         ],
2006         "enums": [
2007             [
2008                 "if_status_flags",
2009                 [
2010                     "IF_STATUS_API_FLAG_ADMIN_UP",
2011                     1
2012                 ],
2013                 [
2014                     "IF_STATUS_API_FLAG_LINK_UP",
2015                     2
2016                 ],
2017                 {
2018                     "enumtype": "u32"
2019                 }
2020             ],
2021             [
2022                 "mtu_proto",
2023                 [
2024                     "MTU_PROTO_API_L3",
2025                     0
2026                 ],
2027                 [
2028                     "MTU_PROTO_API_IP4",
2029                     1
2030                 ],
2031                 [
2032                     "MTU_PROTO_API_IP6",
2033                     2
2034                 ],
2035                 [
2036                     "MTU_PROTO_API_MPLS",
2037                     3
2038                 ],
2039                 {
2040                     "enumtype": "u32"
2041                 }
2042             ],
2043             [
2044                 "link_duplex",
2045                 [
2046                     "LINK_DUPLEX_API_UNKNOWN",
2047                     0
2048                 ],
2049                 [
2050                     "LINK_DUPLEX_API_HALF",
2051                     1
2052                 ],
2053                 [
2054                     "LINK_DUPLEX_API_FULL",
2055                     2
2056                 ],
2057                 {
2058                     "enumtype": "u32"
2059                 }
2060             ],
2061             [
2062                 "sub_if_flags",
2063                 [
2064                     "SUB_IF_API_FLAG_NO_TAGS",
2065                     1
2066                 ],
2067                 [
2068                     "SUB_IF_API_FLAG_ONE_TAG",
2069                     2
2070                 ],
2071                 [
2072                     "SUB_IF_API_FLAG_TWO_TAGS",
2073                     4
2074                 ],
2075                 [
2076                     "SUB_IF_API_FLAG_DOT1AD",
2077                     8
2078                 ],
2079                 [
2080                     "SUB_IF_API_FLAG_EXACT_MATCH",
2081                     16
2082                 ],
2083                 [
2084                     "SUB_IF_API_FLAG_DEFAULT",
2085                     32
2086                 ],
2087                 [
2088                     "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
2089                     64
2090                 ],
2091                 [
2092                     "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
2093                     128
2094                 ],
2095                 [
2096                     "SUB_IF_API_FLAG_MASK_VNET",
2097                     254
2098                 ],
2099                 [
2100                     "SUB_IF_API_FLAG_DOT1AH",
2101                     256
2102                 ],
2103                 {
2104                     "enumtype": "u32"
2105                 }
2106             ],
2107             [
2108                 "rx_mode",
2109                 [
2110                     "RX_MODE_API_UNKNOWN",
2111                     0
2112                 ],
2113                 [
2114                     "RX_MODE_API_POLLING",
2115                     1
2116                 ],
2117                 [
2118                     "RX_MODE_API_INTERRUPT",
2119                     2
2120                 ],
2121                 [
2122                     "RX_MODE_API_ADAPTIVE",
2123                     3
2124                 ],
2125                 [
2126                     "RX_MODE_API_DEFAULT",
2127                     4
2128                 ],
2129                 {
2130                     "enumtype": "u32"
2131                 }
2132             ],
2133             [
2134                 "if_type",
2135                 [
2136                     "IF_API_TYPE_HARDWARE",
2137                     0
2138                 ],
2139                 [
2140                     "IF_API_TYPE_SUB",
2141                     1
2142                 ],
2143                 [
2144                     "IF_API_TYPE_P2P",
2145                     2
2146                 ],
2147                 [
2148                     "IF_API_TYPE_PIPE",
2149                     3
2150                 ],
2151                 {
2152                     "enumtype": "u32"
2153                 }
2154             ],
2155             [
2156                 "address_family",
2157                 [
2158                     "ADDRESS_IP4",
2159                     0
2160                 ],
2161                 [
2162                     "ADDRESS_IP6",
2163                     1
2164                 ],
2165                 {
2166                     "enumtype": "u8"
2167                 }
2168             ],
2169             [
2170                 "ip_ecn",
2171                 [
2172                     "IP_API_ECN_NONE",
2173                     0
2174                 ],
2175                 [
2176                     "IP_API_ECN_ECT0",
2177                     1
2178                 ],
2179                 [
2180                     "IP_API_ECN_ECT1",
2181                     2
2182                 ],
2183                 [
2184                     "IP_API_ECN_CE",
2185                     3
2186                 ],
2187                 {
2188                     "enumtype": "u8"
2189                 }
2190             ],
2191             [
2192                 "ip_dscp",
2193                 [
2194                     "IP_API_DSCP_CS0",
2195                     0
2196                 ],
2197                 [
2198                     "IP_API_DSCP_CS1",
2199                     8
2200                 ],
2201                 [
2202                     "IP_API_DSCP_AF11",
2203                     10
2204                 ],
2205                 [
2206                     "IP_API_DSCP_AF12",
2207                     12
2208                 ],
2209                 [
2210                     "IP_API_DSCP_AF13",
2211                     14
2212                 ],
2213                 [
2214                     "IP_API_DSCP_CS2",
2215                     16
2216                 ],
2217                 [
2218                     "IP_API_DSCP_AF21",
2219                     18
2220                 ],
2221                 [
2222                     "IP_API_DSCP_AF22",
2223                     20
2224                 ],
2225                 [
2226                     "IP_API_DSCP_AF23",
2227                     22
2228                 ],
2229                 [
2230                     "IP_API_DSCP_CS3",
2231                     24
2232                 ],
2233                 [
2234                     "IP_API_DSCP_AF31",
2235                     26
2236                 ],
2237                 [
2238                     "IP_API_DSCP_AF32",
2239                     28
2240                 ],
2241                 [
2242                     "IP_API_DSCP_AF33",
2243                     30
2244                 ],
2245                 [
2246                     "IP_API_DSCP_CS4",
2247                     32
2248                 ],
2249                 [
2250                     "IP_API_DSCP_AF41",
2251                     34
2252                 ],
2253                 [
2254                     "IP_API_DSCP_AF42",
2255                     36
2256                 ],
2257                 [
2258                     "IP_API_DSCP_AF43",
2259                     38
2260                 ],
2261                 [
2262                     "IP_API_DSCP_CS5",
2263                     40
2264                 ],
2265                 [
2266                     "IP_API_DSCP_EF",
2267                     46
2268                 ],
2269                 [
2270                     "IP_API_DSCP_CS6",
2271                     48
2272                 ],
2273                 [
2274                     "IP_API_DSCP_CS7",
2275                     50
2276                 ],
2277                 {
2278                     "enumtype": "u8"
2279                 }
2280             ],
2281             [
2282                 "ip_proto",
2283                 [
2284                     "IP_API_PROTO_HOPOPT",
2285                     0
2286                 ],
2287                 [
2288                     "IP_API_PROTO_ICMP",
2289                     1
2290                 ],
2291                 [
2292                     "IP_API_PROTO_IGMP",
2293                     2
2294                 ],
2295                 [
2296                     "IP_API_PROTO_TCP",
2297                     6
2298                 ],
2299                 [
2300                     "IP_API_PROTO_UDP",
2301                     17
2302                 ],
2303                 [
2304                     "IP_API_PROTO_GRE",
2305                     47
2306                 ],
2307                 [
2308                     "IP_API_PROTO_ESP",
2309                     50
2310                 ],
2311                 [
2312                     "IP_API_PROTO_AH",
2313                     51
2314                 ],
2315                 [
2316                     "IP_API_PROTO_ICMP6",
2317                     58
2318                 ],
2319                 [
2320                     "IP_API_PROTO_EIGRP",
2321                     88
2322                 ],
2323                 [
2324                     "IP_API_PROTO_OSPF",
2325                     89
2326                 ],
2327                 [
2328                     "IP_API_PROTO_SCTP",
2329                     132
2330                 ],
2331                 [
2332                     "IP_API_PROTO_RESERVED",
2333                     255
2334                 ],
2335                 {
2336                     "enumtype": "u8"
2337                 }
2338             ],
2339             [
2340                 "fib_path_nh_proto",
2341                 [
2342                     "FIB_API_PATH_NH_PROTO_IP4",
2343                     0
2344                 ],
2345                 [
2346                     "FIB_API_PATH_NH_PROTO_IP6",
2347                     1
2348                 ],
2349                 [
2350                     "FIB_API_PATH_NH_PROTO_MPLS",
2351                     2
2352                 ],
2353                 [
2354                     "FIB_API_PATH_NH_PROTO_ETHERNET",
2355                     3
2356                 ],
2357                 [
2358                     "FIB_API_PATH_NH_PROTO_BIER",
2359                     4
2360                 ],
2361                 {
2362                     "enumtype": "u32"
2363                 }
2364             ],
2365             [
2366                 "fib_path_flags",
2367                 [
2368                     "FIB_API_PATH_FLAG_NONE",
2369                     0
2370                 ],
2371                 [
2372                     "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED",
2373                     1
2374                 ],
2375                 [
2376                     "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST",
2377                     2
2378                 ],
2379                 [
2380                     "FIB_API_PATH_FLAG_POP_PW_CW",
2381                     4
2382                 ],
2383                 {
2384                     "enumtype": "u32"
2385                 }
2386             ],
2387             [
2388                 "fib_path_type",
2389                 [
2390                     "FIB_API_PATH_TYPE_NORMAL",
2391                     0
2392                 ],
2393                 [
2394                     "FIB_API_PATH_TYPE_LOCAL",
2395                     1
2396                 ],
2397                 [
2398                     "FIB_API_PATH_TYPE_DROP",
2399                     2
2400                 ],
2401                 [
2402                     "FIB_API_PATH_TYPE_UDP_ENCAP",
2403                     3
2404                 ],
2405                 [
2406                     "FIB_API_PATH_TYPE_BIER_IMP",
2407                     4
2408                 ],
2409                 [
2410                     "FIB_API_PATH_TYPE_ICMP_UNREACH",
2411                     5
2412                 ],
2413                 [
2414                     "FIB_API_PATH_TYPE_ICMP_PROHIBIT",
2415                     6
2416                 ],
2417                 [
2418                     "FIB_API_PATH_TYPE_SOURCE_LOOKUP",
2419                     7
2420                 ],
2421                 [
2422                     "FIB_API_PATH_TYPE_DVR",
2423                     8
2424                 ],
2425                 [
2426                     "FIB_API_PATH_TYPE_INTERFACE_RX",
2427                     9
2428                 ],
2429                 [
2430                     "FIB_API_PATH_TYPE_CLASSIFY",
2431                     10
2432                 ],
2433                 {
2434                     "enumtype": "u32"
2435                 }
2436             ],
2437             [
2438                 "address_family",
2439                 [
2440                     "ADDRESS_IP4",
2441                     0
2442                 ],
2443                 [
2444                     "ADDRESS_IP6",
2445                     1
2446                 ],
2447                 {
2448                     "enumtype": "u8"
2449                 }
2450             ],
2451             [
2452                 "ip_ecn",
2453                 [
2454                     "IP_API_ECN_NONE",
2455                     0
2456                 ],
2457                 [
2458                     "IP_API_ECN_ECT0",
2459                     1
2460                 ],
2461                 [
2462                     "IP_API_ECN_ECT1",
2463                     2
2464                 ],
2465                 [
2466                     "IP_API_ECN_CE",
2467                     3
2468                 ],
2469                 {
2470                     "enumtype": "u8"
2471                 }
2472             ],
2473             [
2474                 "ip_dscp",
2475                 [
2476                     "IP_API_DSCP_CS0",
2477                     0
2478                 ],
2479                 [
2480                     "IP_API_DSCP_CS1",
2481                     8
2482                 ],
2483                 [
2484                     "IP_API_DSCP_AF11",
2485                     10
2486                 ],
2487                 [
2488                     "IP_API_DSCP_AF12",
2489                     12
2490                 ],
2491                 [
2492                     "IP_API_DSCP_AF13",
2493                     14
2494                 ],
2495                 [
2496                     "IP_API_DSCP_CS2",
2497                     16
2498                 ],
2499                 [
2500                     "IP_API_DSCP_AF21",
2501                     18
2502                 ],
2503                 [
2504                     "IP_API_DSCP_AF22",
2505                     20
2506                 ],
2507                 [
2508                     "IP_API_DSCP_AF23",
2509                     22
2510                 ],
2511                 [
2512                     "IP_API_DSCP_CS3",
2513                     24
2514                 ],
2515                 [
2516                     "IP_API_DSCP_AF31",
2517                     26
2518                 ],
2519                 [
2520                     "IP_API_DSCP_AF32",
2521                     28
2522                 ],
2523                 [
2524                     "IP_API_DSCP_AF33",
2525                     30
2526                 ],
2527                 [
2528                     "IP_API_DSCP_CS4",
2529                     32
2530                 ],
2531                 [
2532                     "IP_API_DSCP_AF41",
2533                     34
2534                 ],
2535                 [
2536                     "IP_API_DSCP_AF42",
2537                     36
2538                 ],
2539                 [
2540                     "IP_API_DSCP_AF43",
2541                     38
2542                 ],
2543                 [
2544                     "IP_API_DSCP_CS5",
2545                     40
2546                 ],
2547                 [
2548                     "IP_API_DSCP_EF",
2549                     46
2550                 ],
2551                 [
2552                     "IP_API_DSCP_CS6",
2553                     48
2554                 ],
2555                 [
2556                     "IP_API_DSCP_CS7",
2557                     50
2558                 ],
2559                 {
2560                     "enumtype": "u8"
2561                 }
2562             ],
2563             [
2564                 "ip_proto",
2565                 [
2566                     "IP_API_PROTO_HOPOPT",
2567                     0
2568                 ],
2569                 [
2570                     "IP_API_PROTO_ICMP",
2571                     1
2572                 ],
2573                 [
2574                     "IP_API_PROTO_IGMP",
2575                     2
2576                 ],
2577                 [
2578                     "IP_API_PROTO_TCP",
2579                     6
2580                 ],
2581                 [
2582                     "IP_API_PROTO_UDP",
2583                     17
2584                 ],
2585                 [
2586                     "IP_API_PROTO_GRE",
2587                     47
2588                 ],
2589                 [
2590                     "IP_API_PROTO_ESP",
2591                     50
2592                 ],
2593                 [
2594                     "IP_API_PROTO_AH",
2595                     51
2596                 ],
2597                 [
2598                     "IP_API_PROTO_ICMP6",
2599                     58
2600                 ],
2601                 [
2602                     "IP_API_PROTO_EIGRP",
2603                     88
2604                 ],
2605                 [
2606                     "IP_API_PROTO_OSPF",
2607                     89
2608                 ],
2609                 [
2610                     "IP_API_PROTO_SCTP",
2611                     132
2612                 ],
2613                 [
2614                     "IP_API_PROTO_RESERVED",
2615                     255
2616                 ],
2617                 {
2618                     "enumtype": "u8"
2619                 }
2620             ],
2621             [
2622                 "fib_path_nh_proto",
2623                 [
2624                     "FIB_API_PATH_NH_PROTO_IP4",
2625                     0
2626                 ],
2627                 [
2628                     "FIB_API_PATH_NH_PROTO_IP6",
2629                     1
2630                 ],
2631                 [
2632                     "FIB_API_PATH_NH_PROTO_MPLS",
2633                     2
2634                 ],
2635                 [
2636                     "FIB_API_PATH_NH_PROTO_ETHERNET",
2637                     3
2638                 ],
2639                 [
2640                     "FIB_API_PATH_NH_PROTO_BIER",
2641                     4
2642                 ],
2643                 {
2644                     "enumtype": "u32"
2645                 }
2646             ],
2647             [
2648                 "fib_path_flags",
2649                 [
2650                     "FIB_API_PATH_FLAG_NONE",
2651                     0
2652                 ],
2653                 [
2654                     "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED",
2655                     1
2656                 ],
2657                 [
2658                     "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST",
2659                     2
2660                 ],
2661                 [
2662                     "FIB_API_PATH_FLAG_POP_PW_CW",
2663                     4
2664                 ],
2665                 {
2666                     "enumtype": "u32"
2667                 }
2668             ],
2669             [
2670                 "fib_path_type",
2671                 [
2672                     "FIB_API_PATH_TYPE_NORMAL",
2673                     0
2674                 ],
2675                 [
2676                     "FIB_API_PATH_TYPE_LOCAL",
2677                     1
2678                 ],
2679                 [
2680                     "FIB_API_PATH_TYPE_DROP",
2681                     2
2682                 ],
2683                 [
2684                     "FIB_API_PATH_TYPE_UDP_ENCAP",
2685                     3
2686                 ],
2687                 [
2688                     "FIB_API_PATH_TYPE_BIER_IMP",
2689                     4
2690                 ],
2691                 [
2692                     "FIB_API_PATH_TYPE_ICMP_UNREACH",
2693                     5
2694                 ],
2695                 [
2696                     "FIB_API_PATH_TYPE_ICMP_PROHIBIT",
2697                     6
2698                 ],
2699                 [
2700                     "FIB_API_PATH_TYPE_SOURCE_LOOKUP",
2701                     7
2702                 ],
2703                 [
2704                     "FIB_API_PATH_TYPE_DVR",
2705                     8
2706                 ],
2707                 [
2708                     "FIB_API_PATH_TYPE_INTERFACE_RX",
2709                     9
2710                 ],
2711                 [
2712                     "FIB_API_PATH_TYPE_CLASSIFY",
2713                     10
2714                 ],
2715                 {
2716                     "enumtype": "u32"
2717                 }
2718             ],
2719             [
2720                 "address_family",
2721                 [
2722                     "ADDRESS_IP4",
2723                     0
2724                 ],
2725                 [
2726                     "ADDRESS_IP6",
2727                     1
2728                 ],
2729                 {
2730                     "enumtype": "u8"
2731                 }
2732             ],
2733             [
2734                 "ip_ecn",
2735                 [
2736                     "IP_API_ECN_NONE",
2737                     0
2738                 ],
2739                 [
2740                     "IP_API_ECN_ECT0",
2741                     1
2742                 ],
2743                 [
2744                     "IP_API_ECN_ECT1",
2745                     2
2746                 ],
2747                 [
2748                     "IP_API_ECN_CE",
2749                     3
2750                 ],
2751                 {
2752                     "enumtype": "u8"
2753                 }
2754             ],
2755             [
2756                 "ip_dscp",
2757                 [
2758                     "IP_API_DSCP_CS0",
2759                     0
2760                 ],
2761                 [
2762                     "IP_API_DSCP_CS1",
2763                     8
2764                 ],
2765                 [
2766                     "IP_API_DSCP_AF11",
2767                     10
2768                 ],
2769                 [
2770                     "IP_API_DSCP_AF12",
2771                     12
2772                 ],
2773                 [
2774                     "IP_API_DSCP_AF13",
2775                     14
2776                 ],
2777                 [
2778                     "IP_API_DSCP_CS2",
2779                     16
2780                 ],
2781                 [
2782                     "IP_API_DSCP_AF21",
2783                     18
2784                 ],
2785                 [
2786                     "IP_API_DSCP_AF22",
2787                     20
2788                 ],
2789                 [
2790                     "IP_API_DSCP_AF23",
2791                     22
2792                 ],
2793                 [
2794                     "IP_API_DSCP_CS3",
2795                     24
2796                 ],
2797                 [
2798                     "IP_API_DSCP_AF31",
2799                     26
2800                 ],
2801                 [
2802                     "IP_API_DSCP_AF32",
2803                     28
2804                 ],
2805                 [
2806                     "IP_API_DSCP_AF33",
2807                     30
2808                 ],
2809                 [
2810                     "IP_API_DSCP_CS4",
2811                     32
2812                 ],
2813                 [
2814                     "IP_API_DSCP_AF41",
2815                     34
2816                 ],
2817                 [
2818                     "IP_API_DSCP_AF42",
2819                     36
2820                 ],
2821                 [
2822                     "IP_API_DSCP_AF43",
2823                     38
2824                 ],
2825                 [
2826                     "IP_API_DSCP_CS5",
2827                     40
2828                 ],
2829                 [
2830                     "IP_API_DSCP_EF",
2831                     46
2832                 ],
2833                 [
2834                     "IP_API_DSCP_CS6",
2835                     48
2836                 ],
2837                 [
2838                     "IP_API_DSCP_CS7",
2839                     50
2840                 ],
2841                 {
2842                     "enumtype": "u8"
2843                 }
2844             ],
2845             [
2846                 "ip_proto",
2847                 [
2848                     "IP_API_PROTO_HOPOPT",
2849                     0
2850                 ],
2851                 [
2852                     "IP_API_PROTO_ICMP",
2853                     1
2854                 ],
2855                 [
2856                     "IP_API_PROTO_IGMP",
2857                     2
2858                 ],
2859                 [
2860                     "IP_API_PROTO_TCP",
2861                     6
2862                 ],
2863                 [
2864                     "IP_API_PROTO_UDP",
2865                     17
2866                 ],
2867                 [
2868                     "IP_API_PROTO_GRE",
2869                     47
2870                 ],
2871                 [
2872                     "IP_API_PROTO_ESP",
2873                     50
2874                 ],
2875                 [
2876                     "IP_API_PROTO_AH",
2877                     51
2878                 ],
2879                 [
2880                     "IP_API_PROTO_ICMP6",
2881                     58
2882                 ],
2883                 [
2884                     "IP_API_PROTO_EIGRP",
2885                     88
2886                 ],
2887                 [
2888                     "IP_API_PROTO_OSPF",
2889                     89
2890                 ],
2891                 [
2892                     "IP_API_PROTO_SCTP",
2893                     132
2894                 ],
2895                 [
2896                     "IP_API_PROTO_RESERVED",
2897                     255
2898                 ],
2899                 {
2900                     "enumtype": "u8"
2901                 }
2902             ],
2903             [
2904                 "mfib_itf_flags",
2905                 [
2906                     "MFIB_API_ITF_FLAG_NONE",
2907                     0
2908                 ],
2909                 [
2910                     "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
2911                     1
2912                 ],
2913                 [
2914                     "MFIB_API_ITF_FLAG_ACCEPT",
2915                     2
2916                 ],
2917                 [
2918                     "MFIB_API_ITF_FLAG_FORWARD",
2919                     4
2920                 ],
2921                 [
2922                     "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
2923                     8
2924                 ],
2925                 [
2926                     "MFIB_API_ITF_FLAG_DONT_PRESERVE",
2927                     16
2928                 ],
2929                 {
2930                     "enumtype": "u32"
2931                 }
2932             ],
2933             [
2934                 "if_status_flags",
2935                 [
2936                     "IF_STATUS_API_FLAG_ADMIN_UP",
2937                     1
2938                 ],
2939                 [
2940                     "IF_STATUS_API_FLAG_LINK_UP",
2941                     2
2942                 ],
2943                 {
2944                     "enumtype": "u32"
2945                 }
2946             ],
2947             [
2948                 "mtu_proto",
2949                 [
2950                     "MTU_PROTO_API_L3",
2951                     0
2952                 ],
2953                 [
2954                     "MTU_PROTO_API_IP4",
2955                     1
2956                 ],
2957                 [
2958                     "MTU_PROTO_API_IP6",
2959                     2
2960                 ],
2961                 [
2962                     "MTU_PROTO_API_MPLS",
2963                     3
2964                 ],
2965                 {
2966                     "enumtype": "u32"
2967                 }
2968             ],
2969             [
2970                 "link_duplex",
2971                 [
2972                     "LINK_DUPLEX_API_UNKNOWN",
2973                     0
2974                 ],
2975                 [
2976                     "LINK_DUPLEX_API_HALF",
2977                     1
2978                 ],
2979                 [
2980                     "LINK_DUPLEX_API_FULL",
2981                     2
2982                 ],
2983                 {
2984                     "enumtype": "u32"
2985                 }
2986             ],
2987             [
2988                 "sub_if_flags",
2989                 [
2990                     "SUB_IF_API_FLAG_NO_TAGS",
2991                     1
2992                 ],
2993                 [
2994                     "SUB_IF_API_FLAG_ONE_TAG",
2995                     2
2996                 ],
2997                 [
2998                     "SUB_IF_API_FLAG_TWO_TAGS",
2999                     4
3000                 ],
3001                 [
3002                     "SUB_IF_API_FLAG_DOT1AD",
3003                     8
3004                 ],
3005                 [
3006                     "SUB_IF_API_FLAG_EXACT_MATCH",
3007                     16
3008                 ],
3009                 [
3010                     "SUB_IF_API_FLAG_DEFAULT",
3011                     32
3012                 ],
3013                 [
3014                     "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
3015                     64
3016                 ],
3017                 [
3018                     "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
3019                     128
3020                 ],
3021                 [
3022                     "SUB_IF_API_FLAG_MASK_VNET",
3023                     254
3024                 ],
3025                 [
3026                     "SUB_IF_API_FLAG_DOT1AH",
3027                     256
3028                 ],
3029                 {
3030                     "enumtype": "u32"
3031                 }
3032             ],
3033             [
3034                 "rx_mode",
3035                 [
3036                     "RX_MODE_API_UNKNOWN",
3037                     0
3038                 ],
3039                 [
3040                     "RX_MODE_API_POLLING",
3041                     1
3042                 ],
3043                 [
3044                     "RX_MODE_API_INTERRUPT",
3045                     2
3046                 ],
3047                 [
3048                     "RX_MODE_API_ADAPTIVE",
3049                     3
3050                 ],
3051                 [
3052                     "RX_MODE_API_DEFAULT",
3053                     4
3054                 ],
3055                 {
3056                     "enumtype": "u32"
3057                 }
3058             ],
3059             [
3060                 "if_type",
3061                 [
3062                     "IF_API_TYPE_HARDWARE",
3063                     0
3064                 ],
3065                 [
3066                     "IF_API_TYPE_SUB",
3067                     1
3068                 ],
3069                 [
3070                     "IF_API_TYPE_P2P",
3071                     2
3072                 ],
3073                 [
3074                     "IF_API_TYPE_PIPE",
3075                     3
3076                 ],
3077                 {
3078                     "enumtype": "u32"
3079                 }
3080             ],
3081             [
3082                 "ip_reass_type",
3083                 [
3084                     "IP_REASS_TYPE_FULL",
3085                     0
3086                 ],
3087                 [
3088                     "IP_REASS_TYPE_SHALLOW_VIRTUAL",
3089                     1
3090                 ],
3091                 {
3092                     "enumtype": "u32"
3093                 }
3094             ]
3095         ],
3096         "services": {
3097             "ip_table_add_del": {
3098                 "reply": "ip_table_add_del_reply"
3099             },
3100             "ip_table_dump": {
3101                 "reply": "ip_table_details",
3102                 "stream": true
3103             },
3104             "ip_table_replace_begin": {
3105                 "reply": "ip_table_replace_begin_reply"
3106             },
3107             "ip_table_replace_end": {
3108                 "reply": "ip_table_replace_end_reply"
3109             },
3110             "ip_table_flush": {
3111                 "reply": "ip_table_flush_reply"
3112             },
3113             "ip_route_add_del": {
3114                 "reply": "ip_route_add_del_reply"
3115             },
3116             "ip_route_dump": {
3117                 "reply": "ip_route_details",
3118                 "stream": true
3119             },
3120             "ip_route_lookup": {
3121                 "reply": "ip_route_lookup_reply"
3122             },
3123             "set_ip_flow_hash": {
3124                 "reply": "set_ip_flow_hash_reply"
3125             },
3126             "sw_interface_ip6_enable_disable": {
3127                 "reply": "sw_interface_ip6_enable_disable_reply"
3128             },
3129             "ip_mtable_dump": {
3130                 "reply": "ip_mtable_details",
3131                 "stream": true
3132             },
3133             "ip_mroute_add_del": {
3134                 "reply": "ip_mroute_add_del_reply"
3135             },
3136             "ip_mroute_dump": {
3137                 "reply": "ip_mroute_details",
3138                 "stream": true
3139             },
3140             "ip_address_dump": {
3141                 "reply": "ip_address_details",
3142                 "stream": true
3143             },
3144             "ip_unnumbered_dump": {
3145                 "reply": "ip_unnumbered_details",
3146                 "stream": true
3147             },
3148             "ip_dump": {
3149                 "reply": "ip_details",
3150                 "stream": true
3151             },
3152             "mfib_signal_dump": {
3153                 "reply": "mfib_signal_details",
3154                 "stream": true
3155             },
3156             "ip_punt_police": {
3157                 "reply": "ip_punt_police_reply"
3158             },
3159             "ip_punt_redirect": {
3160                 "reply": "ip_punt_redirect_reply"
3161             },
3162             "ip_punt_redirect_dump": {
3163                 "reply": "ip_punt_redirect_details",
3164                 "stream": true
3165             },
3166             "ip_container_proxy_add_del": {
3167                 "reply": "ip_container_proxy_add_del_reply"
3168             },
3169             "ip_container_proxy_dump": {
3170                 "reply": "ip_container_proxy_details",
3171                 "stream": true
3172             },
3173             "ip_source_and_port_range_check_add_del": {
3174                 "reply": "ip_source_and_port_range_check_add_del_reply"
3175             },
3176             "ip_source_and_port_range_check_interface_add_del": {
3177                 "reply": "ip_source_and_port_range_check_interface_add_del_reply"
3178             },
3179             "sw_interface_ip6_set_link_local_address": {
3180                 "reply": "sw_interface_ip6_set_link_local_address_reply"
3181             },
3182             "ioam_enable": {
3183                 "reply": "ioam_enable_reply"
3184             },
3185             "ioam_disable": {
3186                 "reply": "ioam_disable_reply"
3187             },
3188             "ip_reassembly_set": {
3189                 "reply": "ip_reassembly_set_reply"
3190             },
3191             "ip_reassembly_get": {
3192                 "reply": "ip_reassembly_get_reply"
3193             },
3194             "ip_reassembly_enable_disable": {
3195                 "reply": "ip_reassembly_enable_disable_reply"
3196             }
3197         },
3198         "options": {
3199             "version": "3.0.1"
3200         },
3201         "aliases": {
3202             "interface_index": {
3203                 "type": "u32"
3204             },
3205             "ip4_address": {
3206                 "type": "u8",
3207                 "length": 4
3208             },
3209             "ip6_address": {
3210                 "type": "u8",
3211                 "length": 16
3212             },
3213             "address_with_prefix": {
3214                 "type": "vl_api_prefix_t"
3215             },
3216             "ip4_address_with_prefix": {
3217                 "type": "vl_api_ip4_prefix_t"
3218             },
3219             "ip6_address_with_prefix": {
3220                 "type": "vl_api_ip6_prefix_t"
3221             },
3222             "mac_address": {
3223                 "type": "u8",
3224                 "length": 6
3225             }
3226         },
3227         "vl_api_version": "0x765d74b1",
3228         "imports": [
3229             "vnet/interface_types.api",
3230             "vnet/fib/fib_types.api",
3231             "vnet/ip/ip_types.api",
3232             "vnet/ethernet/ethernet_types.api",
3233             "vnet/mfib/mfib_types.api",
3234             "vnet/fib/fib_types.api",
3235             "vnet/ip/ip_types.api",
3236             "vnet/ip/ip_types.api",
3237             "vnet/interface_types.api"
3238         ]
3239     }
3240 ]