Fix union data size for types with enums
[govpp.git] / examples / bin_api / map.api.json
1 {
2     "messages": [
3         [
4             "map_add_domain",
5             [
6                 "u16",
7                 "_vl_msg_id"
8             ],
9             [
10                 "u32",
11                 "client_index"
12             ],
13             [
14                 "u32",
15                 "context"
16             ],
17             [
18                 "vl_api_ip6_prefix_t",
19                 "ip6_prefix"
20             ],
21             [
22                 "vl_api_ip4_prefix_t",
23                 "ip4_prefix"
24             ],
25             [
26                 "vl_api_ip6_prefix_t",
27                 "ip6_src"
28             ],
29             [
30                 "u8",
31                 "ea_bits_len"
32             ],
33             [
34                 "u8",
35                 "psid_offset"
36             ],
37             [
38                 "u8",
39                 "psid_length"
40             ],
41             [
42                 "u16",
43                 "mtu"
44             ],
45             {
46                 "crc": "0xa9358068"
47             }
48         ],
49         [
50             "map_add_domain_reply",
51             [
52                 "u16",
53                 "_vl_msg_id"
54             ],
55             [
56                 "u32",
57                 "context"
58             ],
59             [
60                 "u32",
61                 "index"
62             ],
63             [
64                 "i32",
65                 "retval"
66             ],
67             {
68                 "crc": "0x3e6d4e2c"
69             }
70         ],
71         [
72             "map_del_domain",
73             [
74                 "u16",
75                 "_vl_msg_id"
76             ],
77             [
78                 "u32",
79                 "client_index"
80             ],
81             [
82                 "u32",
83                 "context"
84             ],
85             [
86                 "u32",
87                 "index"
88             ],
89             {
90                 "crc": "0x8ac76db6"
91             }
92         ],
93         [
94             "map_del_domain_reply",
95             [
96                 "u16",
97                 "_vl_msg_id"
98             ],
99             [
100                 "u32",
101                 "context"
102             ],
103             [
104                 "i32",
105                 "retval"
106             ],
107             {
108                 "crc": "0xe8d4e804"
109             }
110         ],
111         [
112             "map_add_del_rule",
113             [
114                 "u16",
115                 "_vl_msg_id"
116             ],
117             [
118                 "u32",
119                 "client_index"
120             ],
121             [
122                 "u32",
123                 "context"
124             ],
125             [
126                 "u32",
127                 "index"
128             ],
129             [
130                 "bool",
131                 "is_add"
132             ],
133             [
134                 "vl_api_ip6_address_t",
135                 "ip6_dst"
136             ],
137             [
138                 "u16",
139                 "psid"
140             ],
141             {
142                 "crc": "0xe6132040"
143             }
144         ],
145         [
146             "map_add_del_rule_reply",
147             [
148                 "u16",
149                 "_vl_msg_id"
150             ],
151             [
152                 "u32",
153                 "context"
154             ],
155             [
156                 "i32",
157                 "retval"
158             ],
159             {
160                 "crc": "0xe8d4e804"
161             }
162         ],
163         [
164             "map_domain_dump",
165             [
166                 "u16",
167                 "_vl_msg_id"
168             ],
169             [
170                 "u32",
171                 "client_index"
172             ],
173             [
174                 "u32",
175                 "context"
176             ],
177             {
178                 "crc": "0x51077d14"
179             }
180         ],
181         [
182             "map_domain_details",
183             [
184                 "u16",
185                 "_vl_msg_id"
186             ],
187             [
188                 "u32",
189                 "context"
190             ],
191             [
192                 "u32",
193                 "domain_index"
194             ],
195             [
196                 "vl_api_ip6_prefix_t",
197                 "ip6_prefix"
198             ],
199             [
200                 "vl_api_ip4_prefix_t",
201                 "ip4_prefix"
202             ],
203             [
204                 "vl_api_ip6_prefix_t",
205                 "ip6_src"
206             ],
207             [
208                 "u8",
209                 "ea_bits_len"
210             ],
211             [
212                 "u8",
213                 "psid_offset"
214             ],
215             [
216                 "u8",
217                 "psid_length"
218             ],
219             [
220                 "u8",
221                 "flags"
222             ],
223             [
224                 "u16",
225                 "mtu"
226             ],
227             {
228                 "crc": "0x2a17dcb8"
229             }
230         ],
231         [
232             "map_rule_dump",
233             [
234                 "u16",
235                 "_vl_msg_id"
236             ],
237             [
238                 "u32",
239                 "client_index"
240             ],
241             [
242                 "u32",
243                 "context"
244             ],
245             [
246                 "u32",
247                 "domain_index"
248             ],
249             {
250                 "crc": "0xe43e6ff6"
251             }
252         ],
253         [
254             "map_rule_details",
255             [
256                 "u16",
257                 "_vl_msg_id"
258             ],
259             [
260                 "u32",
261                 "context"
262             ],
263             [
264                 "vl_api_ip6_address_t",
265                 "ip6_dst"
266             ],
267             [
268                 "u16",
269                 "psid"
270             ],
271             {
272                 "crc": "0x4f932665"
273             }
274         ],
275         [
276             "map_if_enable_disable",
277             [
278                 "u16",
279                 "_vl_msg_id"
280             ],
281             [
282                 "u32",
283                 "client_index"
284             ],
285             [
286                 "u32",
287                 "context"
288             ],
289             [
290                 "u32",
291                 "sw_if_index"
292             ],
293             [
294                 "bool",
295                 "is_enable"
296             ],
297             [
298                 "bool",
299                 "is_translation"
300             ],
301             {
302                 "crc": "0x61a30cd9"
303             }
304         ],
305         [
306             "map_if_enable_disable_reply",
307             [
308                 "u16",
309                 "_vl_msg_id"
310             ],
311             [
312                 "u32",
313                 "context"
314             ],
315             [
316                 "i32",
317                 "retval"
318             ],
319             {
320                 "crc": "0xe8d4e804"
321             }
322         ],
323         [
324             "map_summary_stats",
325             [
326                 "u16",
327                 "_vl_msg_id"
328             ],
329             [
330                 "u32",
331                 "client_index"
332             ],
333             [
334                 "u32",
335                 "context"
336             ],
337             {
338                 "crc": "0x51077d14"
339             }
340         ],
341         [
342             "map_summary_stats_reply",
343             [
344                 "u16",
345                 "_vl_msg_id"
346             ],
347             [
348                 "u32",
349                 "context"
350             ],
351             [
352                 "i32",
353                 "retval"
354             ],
355             [
356                 "u64",
357                 "total_bindings"
358             ],
359             [
360                 "u64",
361                 "total_pkts",
362                 2
363             ],
364             [
365                 "u64",
366                 "total_bytes",
367                 2
368             ],
369             [
370                 "u64",
371                 "total_ip4_fragments"
372             ],
373             [
374                 "u64",
375                 "total_security_check",
376                 2
377             ],
378             {
379                 "crc": "0x0e4ace0e"
380             }
381         ],
382         [
383             "map_param_set_fragmentation",
384             [
385                 "u16",
386                 "_vl_msg_id"
387             ],
388             [
389                 "u32",
390                 "client_index"
391             ],
392             [
393                 "u32",
394                 "context"
395             ],
396             [
397                 "bool",
398                 "inner"
399             ],
400             [
401                 "bool",
402                 "ignore_df"
403             ],
404             {
405                 "crc": "0x9ff54d90"
406             }
407         ],
408         [
409             "map_param_set_fragmentation_reply",
410             [
411                 "u16",
412                 "_vl_msg_id"
413             ],
414             [
415                 "u32",
416                 "context"
417             ],
418             [
419                 "i32",
420                 "retval"
421             ],
422             {
423                 "crc": "0xe8d4e804"
424             }
425         ],
426         [
427             "map_param_set_icmp",
428             [
429                 "u16",
430                 "_vl_msg_id"
431             ],
432             [
433                 "u32",
434                 "client_index"
435             ],
436             [
437                 "u32",
438                 "context"
439             ],
440             [
441                 "vl_api_ip4_address_t",
442                 "ip4_err_relay_src"
443             ],
444             {
445                 "crc": "0x4c0a4fd2"
446             }
447         ],
448         [
449             "map_param_set_icmp_reply",
450             [
451                 "u16",
452                 "_vl_msg_id"
453             ],
454             [
455                 "u32",
456                 "context"
457             ],
458             [
459                 "i32",
460                 "retval"
461             ],
462             {
463                 "crc": "0xe8d4e804"
464             }
465         ],
466         [
467             "map_param_set_icmp6",
468             [
469                 "u16",
470                 "_vl_msg_id"
471             ],
472             [
473                 "u32",
474                 "client_index"
475             ],
476             [
477                 "u32",
478                 "context"
479             ],
480             [
481                 "bool",
482                 "enable_unreachable"
483             ],
484             {
485                 "crc": "0x5d01f8c1"
486             }
487         ],
488         [
489             "map_param_set_icmp6_reply",
490             [
491                 "u16",
492                 "_vl_msg_id"
493             ],
494             [
495                 "u32",
496                 "context"
497             ],
498             [
499                 "i32",
500                 "retval"
501             ],
502             {
503                 "crc": "0xe8d4e804"
504             }
505         ],
506         [
507             "map_param_add_del_pre_resolve",
508             [
509                 "u16",
510                 "_vl_msg_id"
511             ],
512             [
513                 "u32",
514                 "client_index"
515             ],
516             [
517                 "u32",
518                 "context"
519             ],
520             [
521                 "bool",
522                 "is_add"
523             ],
524             [
525                 "vl_api_ip4_address_t",
526                 "ip4_nh_address"
527             ],
528             [
529                 "vl_api_ip6_address_t",
530                 "ip6_nh_address"
531             ],
532             {
533                 "crc": "0xea9a9a4a"
534             }
535         ],
536         [
537             "map_param_add_del_pre_resolve_reply",
538             [
539                 "u16",
540                 "_vl_msg_id"
541             ],
542             [
543                 "u32",
544                 "context"
545             ],
546             [
547                 "i32",
548                 "retval"
549             ],
550             {
551                 "crc": "0xe8d4e804"
552             }
553         ],
554         [
555             "map_param_set_reassembly",
556             [
557                 "u16",
558                 "_vl_msg_id"
559             ],
560             [
561                 "u32",
562                 "client_index"
563             ],
564             [
565                 "u32",
566                 "context"
567             ],
568             [
569                 "bool",
570                 "is_ip6"
571             ],
572             [
573                 "u16",
574                 "lifetime_ms"
575             ],
576             [
577                 "u16",
578                 "pool_size"
579             ],
580             [
581                 "u32",
582                 "buffers"
583             ],
584             [
585                 "f64",
586                 "ht_ratio"
587             ],
588             {
589                 "crc": "0x54172b10"
590             }
591         ],
592         [
593             "map_param_set_reassembly_reply",
594             [
595                 "u16",
596                 "_vl_msg_id"
597             ],
598             [
599                 "u32",
600                 "context"
601             ],
602             [
603                 "i32",
604                 "retval"
605             ],
606             {
607                 "crc": "0xe8d4e804"
608             }
609         ],
610         [
611             "map_param_set_security_check",
612             [
613                 "u16",
614                 "_vl_msg_id"
615             ],
616             [
617                 "u32",
618                 "client_index"
619             ],
620             [
621                 "u32",
622                 "context"
623             ],
624             [
625                 "bool",
626                 "enable"
627             ],
628             [
629                 "bool",
630                 "fragments"
631             ],
632             {
633                 "crc": "0x6abe9836"
634             }
635         ],
636         [
637             "map_param_set_security_check_reply",
638             [
639                 "u16",
640                 "_vl_msg_id"
641             ],
642             [
643                 "u32",
644                 "context"
645             ],
646             [
647                 "i32",
648                 "retval"
649             ],
650             {
651                 "crc": "0xe8d4e804"
652             }
653         ],
654         [
655             "map_param_set_traffic_class",
656             [
657                 "u16",
658                 "_vl_msg_id"
659             ],
660             [
661                 "u32",
662                 "client_index"
663             ],
664             [
665                 "u32",
666                 "context"
667             ],
668             [
669                 "bool",
670                 "copy"
671             ],
672             [
673                 "u8",
674                 "class"
675             ],
676             {
677                 "crc": "0x007ee563"
678             }
679         ],
680         [
681             "map_param_set_traffic_class_reply",
682             [
683                 "u16",
684                 "_vl_msg_id"
685             ],
686             [
687                 "u32",
688                 "context"
689             ],
690             [
691                 "i32",
692                 "retval"
693             ],
694             {
695                 "crc": "0xe8d4e804"
696             }
697         ],
698         [
699             "map_param_set_tcp",
700             [
701                 "u16",
702                 "_vl_msg_id"
703             ],
704             [
705                 "u32",
706                 "client_index"
707             ],
708             [
709                 "u32",
710                 "context"
711             ],
712             [
713                 "u16",
714                 "tcp_mss"
715             ],
716             {
717                 "crc": "0x87a825d9"
718             }
719         ],
720         [
721             "map_param_set_tcp_reply",
722             [
723                 "u16",
724                 "_vl_msg_id"
725             ],
726             [
727                 "u32",
728                 "context"
729             ],
730             [
731                 "i32",
732                 "retval"
733             ],
734             {
735                 "crc": "0xe8d4e804"
736             }
737         ],
738         [
739             "map_param_get",
740             [
741                 "u16",
742                 "_vl_msg_id"
743             ],
744             [
745                 "u32",
746                 "client_index"
747             ],
748             [
749                 "u32",
750                 "context"
751             ],
752             {
753                 "crc": "0x51077d14"
754             }
755         ],
756         [
757             "map_param_get_reply",
758             [
759                 "u16",
760                 "_vl_msg_id"
761             ],
762             [
763                 "u32",
764                 "context"
765             ],
766             [
767                 "i32",
768                 "retval"
769             ],
770             [
771                 "u8",
772                 "frag_inner"
773             ],
774             [
775                 "u8",
776                 "frag_ignore_df"
777             ],
778             [
779                 "vl_api_ip4_address_t",
780                 "icmp_ip4_err_relay_src"
781             ],
782             [
783                 "bool",
784                 "icmp6_enable_unreachable"
785             ],
786             [
787                 "vl_api_ip4_address_t",
788                 "ip4_nh_address"
789             ],
790             [
791                 "vl_api_ip6_address_t",
792                 "ip6_nh_address"
793             ],
794             [
795                 "u16",
796                 "ip4_lifetime_ms"
797             ],
798             [
799                 "u16",
800                 "ip4_pool_size"
801             ],
802             [
803                 "u32",
804                 "ip4_buffers"
805             ],
806             [
807                 "f64",
808                 "ip4_ht_ratio"
809             ],
810             [
811                 "u16",
812                 "ip6_lifetime_ms"
813             ],
814             [
815                 "u16",
816                 "ip6_pool_size"
817             ],
818             [
819                 "u32",
820                 "ip6_buffers"
821             ],
822             [
823                 "f64",
824                 "ip6_ht_ratio"
825             ],
826             [
827                 "bool",
828                 "sec_check_enable"
829             ],
830             [
831                 "bool",
832                 "sec_check_fragments"
833             ],
834             [
835                 "bool",
836                 "tc_copy"
837             ],
838             [
839                 "u8",
840                 "tc_class"
841             ],
842             {
843                 "crc": "0xb40e9226"
844             }
845         ]
846     ],
847     "vl_api_version": "0x75de78c3",
848     "unions": [
849         [
850             "address_union",
851             [
852                 "vl_api_ip4_address_t",
853                 "ip4"
854             ],
855             [
856                 "vl_api_ip6_address_t",
857                 "ip6"
858             ],
859             {
860                 "crc": "0xd68a2fb4"
861             }
862         ]
863     ],
864     "services": {
865         "map_param_set_fragmentation": {
866             "reply": "map_param_set_fragmentation_reply"
867         },
868         "map_param_add_del_pre_resolve": {
869             "reply": "map_param_add_del_pre_resolve_reply"
870         },
871         "map_param_set_tcp": {
872             "reply": "map_param_set_tcp_reply"
873         },
874         "map_rule_dump": {
875             "reply": "map_rule_details",
876             "stream": true
877         },
878         "map_if_enable_disable": {
879             "reply": "map_if_enable_disable_reply"
880         },
881         "map_param_set_icmp6": {
882             "reply": "map_param_set_icmp6_reply"
883         },
884         "map_add_del_rule": {
885             "reply": "map_add_del_rule_reply"
886         },
887         "map_domain_dump": {
888             "reply": "map_domain_details",
889             "stream": true
890         },
891         "map_param_get": {
892             "reply": "map_param_get_reply"
893         },
894         "map_param_set_icmp": {
895             "reply": "map_param_set_icmp_reply"
896         },
897         "map_add_domain": {
898             "reply": "map_add_domain_reply"
899         },
900         "map_summary_stats": {
901             "reply": "map_summary_stats_reply"
902         },
903         "map_param_set_traffic_class": {
904             "reply": "map_param_set_traffic_class_reply"
905         },
906         "map_del_domain": {
907             "reply": "map_del_domain_reply"
908         },
909         "map_param_set_reassembly": {
910             "reply": "map_param_set_reassembly_reply"
911         },
912         "map_param_set_security_check": {
913             "reply": "map_param_set_security_check_reply"
914         }
915     },
916     "enums": [
917         [
918             "address_family",
919             [
920                 "ADDRESS_IP4",
921                 0
922             ],
923             [
924                 "ADDRESS_IP6",
925                 1
926             ],
927             {
928                 "enumtype": "u32"
929             }
930         ]
931     ],
932     "types": [
933         [
934             "address",
935             [
936                 "vl_api_address_family_t",
937                 "af"
938             ],
939             [
940                 "vl_api_address_union_t",
941                 "un"
942             ],
943             {
944                 "crc": "0x09f11671"
945             }
946         ],
947         [
948             "prefix",
949             [
950                 "vl_api_address_t",
951                 "address"
952             ],
953             [
954                 "u8",
955                 "address_length"
956             ],
957             {
958                 "crc": "0x0403aebc"
959             }
960         ],
961         [
962             "mprefix",
963             [
964                 "vl_api_address_family_t",
965                 "af"
966             ],
967             [
968                 "u16",
969                 "grp_address_length"
970             ],
971             [
972                 "vl_api_address_union_t",
973                 "grp_address"
974             ],
975             [
976                 "vl_api_address_union_t",
977                 "src_address"
978             ],
979             {
980                 "crc": "0x1c4cba05"
981             }
982         ],
983         [
984             "ip6_prefix",
985             [
986                 "vl_api_ip6_address_t",
987                 "prefix"
988             ],
989             [
990                 "u8",
991                 "len"
992             ],
993             {
994                 "crc": "0x779fd64f"
995             }
996         ],
997         [
998             "ip4_prefix",
999             [
1000                 "vl_api_ip4_address_t",
1001                 "prefix"
1002             ],
1003             [
1004                 "u8",
1005                 "len"
1006             ],
1007             {
1008                 "crc": "0xea8dc11d"
1009             }
1010         ]
1011     ],
1012     "aliases": {
1013         "ip6_address": {
1014             "length": 16,
1015             "type": "u8"
1016         },
1017         "ip4_address": {
1018             "length": 4,
1019             "type": "u8"
1020         }
1021     }
1022 }