8620c981e42b2f091526ce8c0921595ac99cf5f5
[govpp.git] / examples / bin_api / maps / maps.ba.go
1 // Code generated by GoVPP binapi-generator. DO NOT EDIT.
2 //  source: map.api.json
3
4 /*
5  Package maps is a generated from VPP binary API module 'map'.
6
7  It contains following objects:
8          28 messages
9           5 types
10           2 aliases
11           1 enum
12           1 union
13          14 services
14
15 */
16 package maps
17
18 import "git.fd.io/govpp.git/api"
19 import "github.com/lunixbochs/struc"
20 import "bytes"
21
22 // Reference imports to suppress errors if they are not otherwise used.
23 var _ = api.RegisterMessage
24 var _ = struc.Pack
25 var _ = bytes.NewBuffer
26
27 // Services represents VPP binary API services:
28 //
29 //      "services": {
30 //          "map_param_set_fragmentation": {
31 //              "reply": "map_param_set_fragmentation_reply"
32 //          },
33 //          "map_param_add_del_pre_resolve": {
34 //              "reply": "map_param_add_del_pre_resolve_reply"
35 //          },
36 //          "map_rule_dump": {
37 //              "reply": "map_rule_details",
38 //              "stream": true
39 //          },
40 //          "map_param_set_icmp6": {
41 //              "reply": "map_param_set_icmp6_reply"
42 //          },
43 //          "map_add_del_rule": {
44 //              "reply": "map_add_del_rule_reply"
45 //          },
46 //          "map_domain_dump": {
47 //              "reply": "map_domain_details",
48 //              "stream": true
49 //          },
50 //          "map_param_get": {
51 //              "reply": "map_param_get_reply"
52 //          },
53 //          "map_param_set_icmp": {
54 //              "reply": "map_param_set_icmp_reply"
55 //          },
56 //          "map_add_domain": {
57 //              "reply": "map_add_domain_reply"
58 //          },
59 //          "map_summary_stats": {
60 //              "reply": "map_summary_stats_reply"
61 //          },
62 //          "map_param_set_traffic_class": {
63 //              "reply": "map_param_set_traffic_class_reply"
64 //          },
65 //          "map_del_domain": {
66 //              "reply": "map_del_domain_reply"
67 //          },
68 //          "map_param_set_reassembly": {
69 //              "reply": "map_param_set_reassembly_reply"
70 //          },
71 //          "map_param_set_security_check": {
72 //              "reply": "map_param_set_security_check_reply"
73 //          }
74 //      },
75 //
76 type Services interface {
77         DumpMapDomain(*MapDomainDump) ([]*MapDomainDetails, error)
78         DumpMapRule(*MapRuleDump) ([]*MapRuleDetails, error)
79         MapAddDelRule(*MapAddDelRule) (*MapAddDelRuleReply, error)
80         MapAddDomain(*MapAddDomain) (*MapAddDomainReply, error)
81         MapDelDomain(*MapDelDomain) (*MapDelDomainReply, error)
82         MapParamAddDelPreResolve(*MapParamAddDelPreResolve) (*MapParamAddDelPreResolveReply, error)
83         MapParamGet(*MapParamGet) (*MapParamGetReply, error)
84         MapParamSetFragmentation(*MapParamSetFragmentation) (*MapParamSetFragmentationReply, error)
85         MapParamSetICMP(*MapParamSetICMP) (*MapParamSetICMPReply, error)
86         MapParamSetICMP6(*MapParamSetICMP6) (*MapParamSetICMP6Reply, error)
87         MapParamSetReassembly(*MapParamSetReassembly) (*MapParamSetReassemblyReply, error)
88         MapParamSetSecurityCheck(*MapParamSetSecurityCheck) (*MapParamSetSecurityCheckReply, error)
89         MapParamSetTrafficClass(*MapParamSetTrafficClass) (*MapParamSetTrafficClassReply, error)
90         MapSummaryStats(*MapSummaryStats) (*MapSummaryStatsReply, error)
91 }
92
93 /* Enums */
94
95 // AddressFamily represents VPP binary API enum 'address_family':
96 //
97 //      "address_family",
98 //      [
99 //          "ADDRESS_IP4",
100 //          0
101 //      ],
102 //      [
103 //          "ADDRESS_IP6",
104 //          1
105 //      ],
106 //      {
107 //          "enumtype": "u32"
108 //      }
109 //
110 type AddressFamily uint32
111
112 const (
113         ADDRESS_IP4 AddressFamily = 0
114         ADDRESS_IP6 AddressFamily = 1
115 )
116
117 /* Aliases */
118
119 // IP4Address represents VPP binary API alias 'ip4_address':
120 //
121 //      "ip4_address": {
122 //          "length": 4,
123 //          "type": "u8"
124 //      }
125 //
126 type IP4Address [4]uint8
127
128 // IP6Address represents VPP binary API alias 'ip6_address':
129 //
130 //      "ip6_address": {
131 //          "length": 16,
132 //          "type": "u8"
133 //      },
134 //
135 type IP6Address [16]uint8
136
137 /* Types */
138
139 // Address represents VPP binary API type 'address':
140 //
141 //      "address",
142 //      [
143 //          "vl_api_address_family_t",
144 //          "af"
145 //      ],
146 //      [
147 //          "vl_api_address_union_t",
148 //          "un"
149 //      ],
150 //      {
151 //          "crc": "0x09f11671"
152 //      }
153 //
154 type Address struct {
155         Af AddressFamily
156         Un AddressUnion
157 }
158
159 func (*Address) GetTypeName() string {
160         return "address"
161 }
162 func (*Address) GetCrcString() string {
163         return "09f11671"
164 }
165
166 // Prefix represents VPP binary API type 'prefix':
167 //
168 //      "prefix",
169 //      [
170 //          "vl_api_address_t",
171 //          "address"
172 //      ],
173 //      [
174 //          "u8",
175 //          "address_length"
176 //      ],
177 //      {
178 //          "crc": "0x0403aebc"
179 //      }
180 //
181 type Prefix struct {
182         Address       Address
183         AddressLength uint8
184 }
185
186 func (*Prefix) GetTypeName() string {
187         return "prefix"
188 }
189 func (*Prefix) GetCrcString() string {
190         return "0403aebc"
191 }
192
193 // Mprefix represents VPP binary API type 'mprefix':
194 //
195 //      "mprefix",
196 //      [
197 //          "vl_api_address_family_t",
198 //          "af"
199 //      ],
200 //      [
201 //          "u16",
202 //          "grp_address_length"
203 //      ],
204 //      [
205 //          "vl_api_address_union_t",
206 //          "grp_address"
207 //      ],
208 //      [
209 //          "vl_api_address_union_t",
210 //          "src_address"
211 //      ],
212 //      {
213 //          "crc": "0x1c4cba05"
214 //      }
215 //
216 type Mprefix struct {
217         Af               AddressFamily
218         GrpAddressLength uint16
219         GrpAddress       AddressUnion
220         SrcAddress       AddressUnion
221 }
222
223 func (*Mprefix) GetTypeName() string {
224         return "mprefix"
225 }
226 func (*Mprefix) GetCrcString() string {
227         return "1c4cba05"
228 }
229
230 // IP6Prefix represents VPP binary API type 'ip6_prefix':
231 //
232 //      "ip6_prefix",
233 //      [
234 //          "vl_api_ip6_address_t",
235 //          "prefix"
236 //      ],
237 //      [
238 //          "u8",
239 //          "len"
240 //      ],
241 //      {
242 //          "crc": "0x779fd64f"
243 //      }
244 //
245 type IP6Prefix struct {
246         Prefix IP6Address
247         Len    uint8
248 }
249
250 func (*IP6Prefix) GetTypeName() string {
251         return "ip6_prefix"
252 }
253 func (*IP6Prefix) GetCrcString() string {
254         return "779fd64f"
255 }
256
257 // IP4Prefix represents VPP binary API type 'ip4_prefix':
258 //
259 //      "ip4_prefix",
260 //      [
261 //          "vl_api_ip4_address_t",
262 //          "prefix"
263 //      ],
264 //      [
265 //          "u8",
266 //          "len"
267 //      ],
268 //      {
269 //          "crc": "0xea8dc11d"
270 //      }
271 //
272 type IP4Prefix struct {
273         Prefix IP4Address
274         Len    uint8
275 }
276
277 func (*IP4Prefix) GetTypeName() string {
278         return "ip4_prefix"
279 }
280 func (*IP4Prefix) GetCrcString() string {
281         return "ea8dc11d"
282 }
283
284 /* Unions */
285
286 // AddressUnion represents VPP binary API union 'address_union':
287 //
288 //      "address_union",
289 //      [
290 //          "vl_api_ip4_address_t",
291 //          "ip4"
292 //      ],
293 //      [
294 //          "vl_api_ip6_address_t",
295 //          "ip6"
296 //      ],
297 //      {
298 //          "crc": "0xd68a2fb4"
299 //      }
300 //
301 type AddressUnion struct {
302         Union_data [16]byte
303 }
304
305 func (*AddressUnion) GetTypeName() string {
306         return "address_union"
307 }
308 func (*AddressUnion) GetCrcString() string {
309         return "d68a2fb4"
310 }
311
312 func (u *AddressUnion) SetIP4(a IP4Address) {
313         var b = new(bytes.Buffer)
314         if err := struc.Pack(b, &a); err != nil {
315                 return
316         }
317         copy(u.Union_data[:], b.Bytes())
318 }
319 func (u *AddressUnion) GetIP4() (a IP4Address) {
320         var b = bytes.NewReader(u.Union_data[:])
321         struc.Unpack(b, &a)
322         return
323 }
324
325 func (u *AddressUnion) SetIP6(a IP6Address) {
326         var b = new(bytes.Buffer)
327         if err := struc.Pack(b, &a); err != nil {
328                 return
329         }
330         copy(u.Union_data[:], b.Bytes())
331 }
332 func (u *AddressUnion) GetIP6() (a IP6Address) {
333         var b = bytes.NewReader(u.Union_data[:])
334         struc.Unpack(b, &a)
335         return
336 }
337
338 /* Messages */
339
340 // MapAddDomain represents VPP binary API message 'map_add_domain':
341 //
342 //      "map_add_domain",
343 //      [
344 //          "u16",
345 //          "_vl_msg_id"
346 //      ],
347 //      [
348 //          "u32",
349 //          "client_index"
350 //      ],
351 //      [
352 //          "u32",
353 //          "context"
354 //      ],
355 //      [
356 //          "vl_api_ip6_prefix_t",
357 //          "ip6_prefix"
358 //      ],
359 //      [
360 //          "vl_api_ip4_prefix_t",
361 //          "ip4_prefix"
362 //      ],
363 //      [
364 //          "vl_api_ip6_prefix_t",
365 //          "ip6_src"
366 //      ],
367 //      [
368 //          "u8",
369 //          "ea_bits_len"
370 //      ],
371 //      [
372 //          "u8",
373 //          "psid_offset"
374 //      ],
375 //      [
376 //          "u8",
377 //          "psid_length"
378 //      ],
379 //      [
380 //          "bool",
381 //          "is_translation"
382 //      ],
383 //      [
384 //          "bool",
385 //          "is_rfc6052"
386 //      ],
387 //      [
388 //          "u16",
389 //          "mtu"
390 //      ],
391 //      {
392 //          "crc": "0x7a64714e"
393 //      }
394 //
395 type MapAddDomain struct {
396         IP6Prefix     IP6Prefix
397         IP4Prefix     IP4Prefix
398         IP6Src        IP6Prefix
399         EaBitsLen     uint8
400         PsidOffset    uint8
401         PsidLength    uint8
402         IsTranslation bool
403         IsRfc6052     bool
404         Mtu           uint16
405 }
406
407 func (*MapAddDomain) GetMessageName() string {
408         return "map_add_domain"
409 }
410 func (*MapAddDomain) GetCrcString() string {
411         return "7a64714e"
412 }
413 func (*MapAddDomain) GetMessageType() api.MessageType {
414         return api.RequestMessage
415 }
416
417 // MapAddDomainReply represents VPP binary API message 'map_add_domain_reply':
418 //
419 //      "map_add_domain_reply",
420 //      [
421 //          "u16",
422 //          "_vl_msg_id"
423 //      ],
424 //      [
425 //          "u32",
426 //          "context"
427 //      ],
428 //      [
429 //          "u32",
430 //          "index"
431 //      ],
432 //      [
433 //          "i32",
434 //          "retval"
435 //      ],
436 //      {
437 //          "crc": "0x3e6d4e2c"
438 //      }
439 //
440 type MapAddDomainReply struct {
441         Index  uint32
442         Retval int32
443 }
444
445 func (*MapAddDomainReply) GetMessageName() string {
446         return "map_add_domain_reply"
447 }
448 func (*MapAddDomainReply) GetCrcString() string {
449         return "3e6d4e2c"
450 }
451 func (*MapAddDomainReply) GetMessageType() api.MessageType {
452         return api.ReplyMessage
453 }
454
455 // MapDelDomain represents VPP binary API message 'map_del_domain':
456 //
457 //      "map_del_domain",
458 //      [
459 //          "u16",
460 //          "_vl_msg_id"
461 //      ],
462 //      [
463 //          "u32",
464 //          "client_index"
465 //      ],
466 //      [
467 //          "u32",
468 //          "context"
469 //      ],
470 //      [
471 //          "u32",
472 //          "index"
473 //      ],
474 //      {
475 //          "crc": "0x8ac76db6"
476 //      }
477 //
478 type MapDelDomain struct {
479         Index uint32
480 }
481
482 func (*MapDelDomain) GetMessageName() string {
483         return "map_del_domain"
484 }
485 func (*MapDelDomain) GetCrcString() string {
486         return "8ac76db6"
487 }
488 func (*MapDelDomain) GetMessageType() api.MessageType {
489         return api.RequestMessage
490 }
491
492 // MapDelDomainReply represents VPP binary API message 'map_del_domain_reply':
493 //
494 //      "map_del_domain_reply",
495 //      [
496 //          "u16",
497 //          "_vl_msg_id"
498 //      ],
499 //      [
500 //          "u32",
501 //          "context"
502 //      ],
503 //      [
504 //          "i32",
505 //          "retval"
506 //      ],
507 //      {
508 //          "crc": "0xe8d4e804"
509 //      }
510 //
511 type MapDelDomainReply struct {
512         Retval int32
513 }
514
515 func (*MapDelDomainReply) GetMessageName() string {
516         return "map_del_domain_reply"
517 }
518 func (*MapDelDomainReply) GetCrcString() string {
519         return "e8d4e804"
520 }
521 func (*MapDelDomainReply) GetMessageType() api.MessageType {
522         return api.ReplyMessage
523 }
524
525 // MapAddDelRule represents VPP binary API message 'map_add_del_rule':
526 //
527 //      "map_add_del_rule",
528 //      [
529 //          "u16",
530 //          "_vl_msg_id"
531 //      ],
532 //      [
533 //          "u32",
534 //          "client_index"
535 //      ],
536 //      [
537 //          "u32",
538 //          "context"
539 //      ],
540 //      [
541 //          "u32",
542 //          "index"
543 //      ],
544 //      [
545 //          "bool",
546 //          "is_add"
547 //      ],
548 //      [
549 //          "vl_api_ip6_address_t",
550 //          "ip6_dst"
551 //      ],
552 //      [
553 //          "u16",
554 //          "psid"
555 //      ],
556 //      {
557 //          "crc": "0xe6132040"
558 //      }
559 //
560 type MapAddDelRule struct {
561         Index  uint32
562         IsAdd  bool
563         IP6Dst IP6Address
564         Psid   uint16
565 }
566
567 func (*MapAddDelRule) GetMessageName() string {
568         return "map_add_del_rule"
569 }
570 func (*MapAddDelRule) GetCrcString() string {
571         return "e6132040"
572 }
573 func (*MapAddDelRule) GetMessageType() api.MessageType {
574         return api.RequestMessage
575 }
576
577 // MapAddDelRuleReply represents VPP binary API message 'map_add_del_rule_reply':
578 //
579 //      "map_add_del_rule_reply",
580 //      [
581 //          "u16",
582 //          "_vl_msg_id"
583 //      ],
584 //      [
585 //          "u32",
586 //          "context"
587 //      ],
588 //      [
589 //          "i32",
590 //          "retval"
591 //      ],
592 //      {
593 //          "crc": "0xe8d4e804"
594 //      }
595 //
596 type MapAddDelRuleReply struct {
597         Retval int32
598 }
599
600 func (*MapAddDelRuleReply) GetMessageName() string {
601         return "map_add_del_rule_reply"
602 }
603 func (*MapAddDelRuleReply) GetCrcString() string {
604         return "e8d4e804"
605 }
606 func (*MapAddDelRuleReply) GetMessageType() api.MessageType {
607         return api.ReplyMessage
608 }
609
610 // MapDomainDump represents VPP binary API message 'map_domain_dump':
611 //
612 //      "map_domain_dump",
613 //      [
614 //          "u16",
615 //          "_vl_msg_id"
616 //      ],
617 //      [
618 //          "u32",
619 //          "client_index"
620 //      ],
621 //      [
622 //          "u32",
623 //          "context"
624 //      ],
625 //      {
626 //          "crc": "0x51077d14"
627 //      }
628 //
629 type MapDomainDump struct{}
630
631 func (*MapDomainDump) GetMessageName() string {
632         return "map_domain_dump"
633 }
634 func (*MapDomainDump) GetCrcString() string {
635         return "51077d14"
636 }
637 func (*MapDomainDump) GetMessageType() api.MessageType {
638         return api.RequestMessage
639 }
640
641 // MapDomainDetails represents VPP binary API message 'map_domain_details':
642 //
643 //      "map_domain_details",
644 //      [
645 //          "u16",
646 //          "_vl_msg_id"
647 //      ],
648 //      [
649 //          "u32",
650 //          "context"
651 //      ],
652 //      [
653 //          "u32",
654 //          "domain_index"
655 //      ],
656 //      [
657 //          "vl_api_ip6_prefix_t",
658 //          "ip6_prefix"
659 //      ],
660 //      [
661 //          "vl_api_ip4_prefix_t",
662 //          "ip4_prefix"
663 //      ],
664 //      [
665 //          "vl_api_ip6_prefix_t",
666 //          "ip6_src"
667 //      ],
668 //      [
669 //          "u8",
670 //          "ea_bits_len"
671 //      ],
672 //      [
673 //          "u8",
674 //          "psid_offset"
675 //      ],
676 //      [
677 //          "u8",
678 //          "psid_length"
679 //      ],
680 //      [
681 //          "u8",
682 //          "flags"
683 //      ],
684 //      [
685 //          "u16",
686 //          "mtu"
687 //      ],
688 //      [
689 //          "bool",
690 //          "is_translation"
691 //      ],
692 //      {
693 //          "crc": "0x7a986fe6"
694 //      }
695 //
696 type MapDomainDetails struct {
697         DomainIndex   uint32
698         IP6Prefix     IP6Prefix
699         IP4Prefix     IP4Prefix
700         IP6Src        IP6Prefix
701         EaBitsLen     uint8
702         PsidOffset    uint8
703         PsidLength    uint8
704         Flags         uint8
705         Mtu           uint16
706         IsTranslation bool
707 }
708
709 func (*MapDomainDetails) GetMessageName() string {
710         return "map_domain_details"
711 }
712 func (*MapDomainDetails) GetCrcString() string {
713         return "7a986fe6"
714 }
715 func (*MapDomainDetails) GetMessageType() api.MessageType {
716         return api.ReplyMessage
717 }
718
719 // MapRuleDump represents VPP binary API message 'map_rule_dump':
720 //
721 //      "map_rule_dump",
722 //      [
723 //          "u16",
724 //          "_vl_msg_id"
725 //      ],
726 //      [
727 //          "u32",
728 //          "client_index"
729 //      ],
730 //      [
731 //          "u32",
732 //          "context"
733 //      ],
734 //      [
735 //          "u32",
736 //          "domain_index"
737 //      ],
738 //      {
739 //          "crc": "0xe43e6ff6"
740 //      }
741 //
742 type MapRuleDump struct {
743         DomainIndex uint32
744 }
745
746 func (*MapRuleDump) GetMessageName() string {
747         return "map_rule_dump"
748 }
749 func (*MapRuleDump) GetCrcString() string {
750         return "e43e6ff6"
751 }
752 func (*MapRuleDump) GetMessageType() api.MessageType {
753         return api.RequestMessage
754 }
755
756 // MapRuleDetails represents VPP binary API message 'map_rule_details':
757 //
758 //      "map_rule_details",
759 //      [
760 //          "u16",
761 //          "_vl_msg_id"
762 //      ],
763 //      [
764 //          "u32",
765 //          "context"
766 //      ],
767 //      [
768 //          "vl_api_ip6_address_t",
769 //          "ip6_dst"
770 //      ],
771 //      [
772 //          "u16",
773 //          "psid"
774 //      ],
775 //      {
776 //          "crc": "0x4f932665"
777 //      }
778 //
779 type MapRuleDetails struct {
780         IP6Dst IP6Address
781         Psid   uint16
782 }
783
784 func (*MapRuleDetails) GetMessageName() string {
785         return "map_rule_details"
786 }
787 func (*MapRuleDetails) GetCrcString() string {
788         return "4f932665"
789 }
790 func (*MapRuleDetails) GetMessageType() api.MessageType {
791         return api.ReplyMessage
792 }
793
794 // MapSummaryStats represents VPP binary API message 'map_summary_stats':
795 //
796 //      "map_summary_stats",
797 //      [
798 //          "u16",
799 //          "_vl_msg_id"
800 //      ],
801 //      [
802 //          "u32",
803 //          "client_index"
804 //      ],
805 //      [
806 //          "u32",
807 //          "context"
808 //      ],
809 //      {
810 //          "crc": "0x51077d14"
811 //      }
812 //
813 type MapSummaryStats struct{}
814
815 func (*MapSummaryStats) GetMessageName() string {
816         return "map_summary_stats"
817 }
818 func (*MapSummaryStats) GetCrcString() string {
819         return "51077d14"
820 }
821 func (*MapSummaryStats) GetMessageType() api.MessageType {
822         return api.RequestMessage
823 }
824
825 // MapSummaryStatsReply represents VPP binary API message 'map_summary_stats_reply':
826 //
827 //      "map_summary_stats_reply",
828 //      [
829 //          "u16",
830 //          "_vl_msg_id"
831 //      ],
832 //      [
833 //          "u32",
834 //          "context"
835 //      ],
836 //      [
837 //          "i32",
838 //          "retval"
839 //      ],
840 //      [
841 //          "u64",
842 //          "total_bindings"
843 //      ],
844 //      [
845 //          "u64",
846 //          "total_pkts",
847 //          2
848 //      ],
849 //      [
850 //          "u64",
851 //          "total_bytes",
852 //          2
853 //      ],
854 //      [
855 //          "u64",
856 //          "total_ip4_fragments"
857 //      ],
858 //      [
859 //          "u64",
860 //          "total_security_check",
861 //          2
862 //      ],
863 //      {
864 //          "crc": "0x0e4ace0e"
865 //      }
866 //
867 type MapSummaryStatsReply struct {
868         Retval             int32
869         TotalBindings      uint64
870         TotalPkts          []uint64 `struc:"[2]uint64"`
871         TotalBytes         []uint64 `struc:"[2]uint64"`
872         TotalIP4Fragments  uint64
873         TotalSecurityCheck []uint64 `struc:"[2]uint64"`
874 }
875
876 func (*MapSummaryStatsReply) GetMessageName() string {
877         return "map_summary_stats_reply"
878 }
879 func (*MapSummaryStatsReply) GetCrcString() string {
880         return "0e4ace0e"
881 }
882 func (*MapSummaryStatsReply) GetMessageType() api.MessageType {
883         return api.ReplyMessage
884 }
885
886 // MapParamSetFragmentation represents VPP binary API message 'map_param_set_fragmentation':
887 //
888 //      "map_param_set_fragmentation",
889 //      [
890 //          "u16",
891 //          "_vl_msg_id"
892 //      ],
893 //      [
894 //          "u32",
895 //          "client_index"
896 //      ],
897 //      [
898 //          "u32",
899 //          "context"
900 //      ],
901 //      [
902 //          "bool",
903 //          "inner"
904 //      ],
905 //      [
906 //          "bool",
907 //          "ignore_df"
908 //      ],
909 //      {
910 //          "crc": "0x9ff54d90"
911 //      }
912 //
913 type MapParamSetFragmentation struct {
914         Inner    bool
915         IgnoreDf bool
916 }
917
918 func (*MapParamSetFragmentation) GetMessageName() string {
919         return "map_param_set_fragmentation"
920 }
921 func (*MapParamSetFragmentation) GetCrcString() string {
922         return "9ff54d90"
923 }
924 func (*MapParamSetFragmentation) GetMessageType() api.MessageType {
925         return api.RequestMessage
926 }
927
928 // MapParamSetFragmentationReply represents VPP binary API message 'map_param_set_fragmentation_reply':
929 //
930 //      "map_param_set_fragmentation_reply",
931 //      [
932 //          "u16",
933 //          "_vl_msg_id"
934 //      ],
935 //      [
936 //          "u32",
937 //          "context"
938 //      ],
939 //      [
940 //          "i32",
941 //          "retval"
942 //      ],
943 //      {
944 //          "crc": "0xe8d4e804"
945 //      }
946 //
947 type MapParamSetFragmentationReply struct {
948         Retval int32
949 }
950
951 func (*MapParamSetFragmentationReply) GetMessageName() string {
952         return "map_param_set_fragmentation_reply"
953 }
954 func (*MapParamSetFragmentationReply) GetCrcString() string {
955         return "e8d4e804"
956 }
957 func (*MapParamSetFragmentationReply) GetMessageType() api.MessageType {
958         return api.ReplyMessage
959 }
960
961 // MapParamSetICMP represents VPP binary API message 'map_param_set_icmp':
962 //
963 //      "map_param_set_icmp",
964 //      [
965 //          "u16",
966 //          "_vl_msg_id"
967 //      ],
968 //      [
969 //          "u32",
970 //          "client_index"
971 //      ],
972 //      [
973 //          "u32",
974 //          "context"
975 //      ],
976 //      [
977 //          "vl_api_ip4_address_t",
978 //          "ip4_err_relay_src"
979 //      ],
980 //      {
981 //          "crc": "0x4c0a4fd2"
982 //      }
983 //
984 type MapParamSetICMP struct {
985         IP4ErrRelaySrc IP4Address
986 }
987
988 func (*MapParamSetICMP) GetMessageName() string {
989         return "map_param_set_icmp"
990 }
991 func (*MapParamSetICMP) GetCrcString() string {
992         return "4c0a4fd2"
993 }
994 func (*MapParamSetICMP) GetMessageType() api.MessageType {
995         return api.RequestMessage
996 }
997
998 // MapParamSetICMPReply represents VPP binary API message 'map_param_set_icmp_reply':
999 //
1000 //      "map_param_set_icmp_reply",
1001 //      [
1002 //          "u16",
1003 //          "_vl_msg_id"
1004 //      ],
1005 //      [
1006 //          "u32",
1007 //          "context"
1008 //      ],
1009 //      [
1010 //          "i32",
1011 //          "retval"
1012 //      ],
1013 //      {
1014 //          "crc": "0xe8d4e804"
1015 //      }
1016 //
1017 type MapParamSetICMPReply struct {
1018         Retval int32
1019 }
1020
1021 func (*MapParamSetICMPReply) GetMessageName() string {
1022         return "map_param_set_icmp_reply"
1023 }
1024 func (*MapParamSetICMPReply) GetCrcString() string {
1025         return "e8d4e804"
1026 }
1027 func (*MapParamSetICMPReply) GetMessageType() api.MessageType {
1028         return api.ReplyMessage
1029 }
1030
1031 // MapParamSetICMP6 represents VPP binary API message 'map_param_set_icmp6':
1032 //
1033 //      "map_param_set_icmp6",
1034 //      [
1035 //          "u16",
1036 //          "_vl_msg_id"
1037 //      ],
1038 //      [
1039 //          "u32",
1040 //          "client_index"
1041 //      ],
1042 //      [
1043 //          "u32",
1044 //          "context"
1045 //      ],
1046 //      [
1047 //          "bool",
1048 //          "enable_unreachable"
1049 //      ],
1050 //      {
1051 //          "crc": "0x5d01f8c1"
1052 //      }
1053 //
1054 type MapParamSetICMP6 struct {
1055         EnableUnreachable bool
1056 }
1057
1058 func (*MapParamSetICMP6) GetMessageName() string {
1059         return "map_param_set_icmp6"
1060 }
1061 func (*MapParamSetICMP6) GetCrcString() string {
1062         return "5d01f8c1"
1063 }
1064 func (*MapParamSetICMP6) GetMessageType() api.MessageType {
1065         return api.RequestMessage
1066 }
1067
1068 // MapParamSetICMP6Reply represents VPP binary API message 'map_param_set_icmp6_reply':
1069 //
1070 //      "map_param_set_icmp6_reply",
1071 //      [
1072 //          "u16",
1073 //          "_vl_msg_id"
1074 //      ],
1075 //      [
1076 //          "u32",
1077 //          "context"
1078 //      ],
1079 //      [
1080 //          "i32",
1081 //          "retval"
1082 //      ],
1083 //      {
1084 //          "crc": "0xe8d4e804"
1085 //      }
1086 //
1087 type MapParamSetICMP6Reply struct {
1088         Retval int32
1089 }
1090
1091 func (*MapParamSetICMP6Reply) GetMessageName() string {
1092         return "map_param_set_icmp6_reply"
1093 }
1094 func (*MapParamSetICMP6Reply) GetCrcString() string {
1095         return "e8d4e804"
1096 }
1097 func (*MapParamSetICMP6Reply) GetMessageType() api.MessageType {
1098         return api.ReplyMessage
1099 }
1100
1101 // MapParamAddDelPreResolve represents VPP binary API message 'map_param_add_del_pre_resolve':
1102 //
1103 //      "map_param_add_del_pre_resolve",
1104 //      [
1105 //          "u16",
1106 //          "_vl_msg_id"
1107 //      ],
1108 //      [
1109 //          "u32",
1110 //          "client_index"
1111 //      ],
1112 //      [
1113 //          "u32",
1114 //          "context"
1115 //      ],
1116 //      [
1117 //          "bool",
1118 //          "is_add"
1119 //      ],
1120 //      [
1121 //          "vl_api_ip4_address_t",
1122 //          "ip4_nh_address"
1123 //      ],
1124 //      [
1125 //          "vl_api_ip6_address_t",
1126 //          "ip6_nh_address"
1127 //      ],
1128 //      {
1129 //          "crc": "0xea9a9a4a"
1130 //      }
1131 //
1132 type MapParamAddDelPreResolve struct {
1133         IsAdd        bool
1134         IP4NhAddress IP4Address
1135         IP6NhAddress IP6Address
1136 }
1137
1138 func (*MapParamAddDelPreResolve) GetMessageName() string {
1139         return "map_param_add_del_pre_resolve"
1140 }
1141 func (*MapParamAddDelPreResolve) GetCrcString() string {
1142         return "ea9a9a4a"
1143 }
1144 func (*MapParamAddDelPreResolve) GetMessageType() api.MessageType {
1145         return api.RequestMessage
1146 }
1147
1148 // MapParamAddDelPreResolveReply represents VPP binary API message 'map_param_add_del_pre_resolve_reply':
1149 //
1150 //      "map_param_add_del_pre_resolve_reply",
1151 //      [
1152 //          "u16",
1153 //          "_vl_msg_id"
1154 //      ],
1155 //      [
1156 //          "u32",
1157 //          "context"
1158 //      ],
1159 //      [
1160 //          "i32",
1161 //          "retval"
1162 //      ],
1163 //      {
1164 //          "crc": "0xe8d4e804"
1165 //      }
1166 //
1167 type MapParamAddDelPreResolveReply struct {
1168         Retval int32
1169 }
1170
1171 func (*MapParamAddDelPreResolveReply) GetMessageName() string {
1172         return "map_param_add_del_pre_resolve_reply"
1173 }
1174 func (*MapParamAddDelPreResolveReply) GetCrcString() string {
1175         return "e8d4e804"
1176 }
1177 func (*MapParamAddDelPreResolveReply) GetMessageType() api.MessageType {
1178         return api.ReplyMessage
1179 }
1180
1181 // MapParamSetReassembly represents VPP binary API message 'map_param_set_reassembly':
1182 //
1183 //      "map_param_set_reassembly",
1184 //      [
1185 //          "u16",
1186 //          "_vl_msg_id"
1187 //      ],
1188 //      [
1189 //          "u32",
1190 //          "client_index"
1191 //      ],
1192 //      [
1193 //          "u32",
1194 //          "context"
1195 //      ],
1196 //      [
1197 //          "bool",
1198 //          "is_ip6"
1199 //      ],
1200 //      [
1201 //          "u16",
1202 //          "lifetime_ms"
1203 //      ],
1204 //      [
1205 //          "u16",
1206 //          "pool_size"
1207 //      ],
1208 //      [
1209 //          "u32",
1210 //          "buffers"
1211 //      ],
1212 //      [
1213 //          "f64",
1214 //          "ht_ratio"
1215 //      ],
1216 //      {
1217 //          "crc": "0x54172b10"
1218 //      }
1219 //
1220 type MapParamSetReassembly struct {
1221         IsIP6      bool
1222         LifetimeMs uint16
1223         PoolSize   uint16
1224         Buffers    uint32
1225         HtRatio    float64
1226 }
1227
1228 func (*MapParamSetReassembly) GetMessageName() string {
1229         return "map_param_set_reassembly"
1230 }
1231 func (*MapParamSetReassembly) GetCrcString() string {
1232         return "54172b10"
1233 }
1234 func (*MapParamSetReassembly) GetMessageType() api.MessageType {
1235         return api.RequestMessage
1236 }
1237
1238 // MapParamSetReassemblyReply represents VPP binary API message 'map_param_set_reassembly_reply':
1239 //
1240 //      "map_param_set_reassembly_reply",
1241 //      [
1242 //          "u16",
1243 //          "_vl_msg_id"
1244 //      ],
1245 //      [
1246 //          "u32",
1247 //          "context"
1248 //      ],
1249 //      [
1250 //          "i32",
1251 //          "retval"
1252 //      ],
1253 //      {
1254 //          "crc": "0xe8d4e804"
1255 //      }
1256 //
1257 type MapParamSetReassemblyReply struct {
1258         Retval int32
1259 }
1260
1261 func (*MapParamSetReassemblyReply) GetMessageName() string {
1262         return "map_param_set_reassembly_reply"
1263 }
1264 func (*MapParamSetReassemblyReply) GetCrcString() string {
1265         return "e8d4e804"
1266 }
1267 func (*MapParamSetReassemblyReply) GetMessageType() api.MessageType {
1268         return api.ReplyMessage
1269 }
1270
1271 // MapParamSetSecurityCheck represents VPP binary API message 'map_param_set_security_check':
1272 //
1273 //      "map_param_set_security_check",
1274 //      [
1275 //          "u16",
1276 //          "_vl_msg_id"
1277 //      ],
1278 //      [
1279 //          "u32",
1280 //          "client_index"
1281 //      ],
1282 //      [
1283 //          "u32",
1284 //          "context"
1285 //      ],
1286 //      [
1287 //          "bool",
1288 //          "enable"
1289 //      ],
1290 //      [
1291 //          "bool",
1292 //          "fragments"
1293 //      ],
1294 //      {
1295 //          "crc": "0x6abe9836"
1296 //      }
1297 //
1298 type MapParamSetSecurityCheck struct {
1299         Enable    bool
1300         Fragments bool
1301 }
1302
1303 func (*MapParamSetSecurityCheck) GetMessageName() string {
1304         return "map_param_set_security_check"
1305 }
1306 func (*MapParamSetSecurityCheck) GetCrcString() string {
1307         return "6abe9836"
1308 }
1309 func (*MapParamSetSecurityCheck) GetMessageType() api.MessageType {
1310         return api.RequestMessage
1311 }
1312
1313 // MapParamSetSecurityCheckReply represents VPP binary API message 'map_param_set_security_check_reply':
1314 //
1315 //      "map_param_set_security_check_reply",
1316 //      [
1317 //          "u16",
1318 //          "_vl_msg_id"
1319 //      ],
1320 //      [
1321 //          "u32",
1322 //          "context"
1323 //      ],
1324 //      [
1325 //          "i32",
1326 //          "retval"
1327 //      ],
1328 //      {
1329 //          "crc": "0xe8d4e804"
1330 //      }
1331 //
1332 type MapParamSetSecurityCheckReply struct {
1333         Retval int32
1334 }
1335
1336 func (*MapParamSetSecurityCheckReply) GetMessageName() string {
1337         return "map_param_set_security_check_reply"
1338 }
1339 func (*MapParamSetSecurityCheckReply) GetCrcString() string {
1340         return "e8d4e804"
1341 }
1342 func (*MapParamSetSecurityCheckReply) GetMessageType() api.MessageType {
1343         return api.ReplyMessage
1344 }
1345
1346 // MapParamSetTrafficClass represents VPP binary API message 'map_param_set_traffic_class':
1347 //
1348 //      "map_param_set_traffic_class",
1349 //      [
1350 //          "u16",
1351 //          "_vl_msg_id"
1352 //      ],
1353 //      [
1354 //          "u32",
1355 //          "client_index"
1356 //      ],
1357 //      [
1358 //          "u32",
1359 //          "context"
1360 //      ],
1361 //      [
1362 //          "bool",
1363 //          "copy"
1364 //      ],
1365 //      [
1366 //          "u8",
1367 //          "class"
1368 //      ],
1369 //      {
1370 //          "crc": "0x007ee563"
1371 //      }
1372 //
1373 type MapParamSetTrafficClass struct {
1374         Copy  bool
1375         Class uint8
1376 }
1377
1378 func (*MapParamSetTrafficClass) GetMessageName() string {
1379         return "map_param_set_traffic_class"
1380 }
1381 func (*MapParamSetTrafficClass) GetCrcString() string {
1382         return "007ee563"
1383 }
1384 func (*MapParamSetTrafficClass) GetMessageType() api.MessageType {
1385         return api.RequestMessage
1386 }
1387
1388 // MapParamSetTrafficClassReply represents VPP binary API message 'map_param_set_traffic_class_reply':
1389 //
1390 //      "map_param_set_traffic_class_reply",
1391 //      [
1392 //          "u16",
1393 //          "_vl_msg_id"
1394 //      ],
1395 //      [
1396 //          "u32",
1397 //          "context"
1398 //      ],
1399 //      [
1400 //          "i32",
1401 //          "retval"
1402 //      ],
1403 //      {
1404 //          "crc": "0xe8d4e804"
1405 //      }
1406 //
1407 type MapParamSetTrafficClassReply struct {
1408         Retval int32
1409 }
1410
1411 func (*MapParamSetTrafficClassReply) GetMessageName() string {
1412         return "map_param_set_traffic_class_reply"
1413 }
1414 func (*MapParamSetTrafficClassReply) GetCrcString() string {
1415         return "e8d4e804"
1416 }
1417 func (*MapParamSetTrafficClassReply) GetMessageType() api.MessageType {
1418         return api.ReplyMessage
1419 }
1420
1421 // MapParamGet represents VPP binary API message 'map_param_get':
1422 //
1423 //      "map_param_get",
1424 //      [
1425 //          "u16",
1426 //          "_vl_msg_id"
1427 //      ],
1428 //      [
1429 //          "u32",
1430 //          "client_index"
1431 //      ],
1432 //      [
1433 //          "u32",
1434 //          "context"
1435 //      ],
1436 //      {
1437 //          "crc": "0x51077d14"
1438 //      }
1439 //
1440 type MapParamGet struct{}
1441
1442 func (*MapParamGet) GetMessageName() string {
1443         return "map_param_get"
1444 }
1445 func (*MapParamGet) GetCrcString() string {
1446         return "51077d14"
1447 }
1448 func (*MapParamGet) GetMessageType() api.MessageType {
1449         return api.RequestMessage
1450 }
1451
1452 // MapParamGetReply represents VPP binary API message 'map_param_get_reply':
1453 //
1454 //      "map_param_get_reply",
1455 //      [
1456 //          "u16",
1457 //          "_vl_msg_id"
1458 //      ],
1459 //      [
1460 //          "u32",
1461 //          "context"
1462 //      ],
1463 //      [
1464 //          "i32",
1465 //          "retval"
1466 //      ],
1467 //      [
1468 //          "u8",
1469 //          "frag_inner"
1470 //      ],
1471 //      [
1472 //          "u8",
1473 //          "frag_ignore_df"
1474 //      ],
1475 //      [
1476 //          "vl_api_ip4_address_t",
1477 //          "icmp_ip4_err_relay_src"
1478 //      ],
1479 //      [
1480 //          "bool",
1481 //          "icmp6_enable_unreachable"
1482 //      ],
1483 //      [
1484 //          "vl_api_ip4_address_t",
1485 //          "ip4_nh_address"
1486 //      ],
1487 //      [
1488 //          "vl_api_ip6_address_t",
1489 //          "ip6_nh_address"
1490 //      ],
1491 //      [
1492 //          "u16",
1493 //          "ip4_lifetime_ms"
1494 //      ],
1495 //      [
1496 //          "u16",
1497 //          "ip4_pool_size"
1498 //      ],
1499 //      [
1500 //          "u32",
1501 //          "ip4_buffers"
1502 //      ],
1503 //      [
1504 //          "f64",
1505 //          "ip4_ht_ratio"
1506 //      ],
1507 //      [
1508 //          "u16",
1509 //          "ip6_lifetime_ms"
1510 //      ],
1511 //      [
1512 //          "u16",
1513 //          "ip6_pool_size"
1514 //      ],
1515 //      [
1516 //          "u32",
1517 //          "ip6_buffers"
1518 //      ],
1519 //      [
1520 //          "f64",
1521 //          "ip6_ht_ratio"
1522 //      ],
1523 //      [
1524 //          "bool",
1525 //          "sec_check_enable"
1526 //      ],
1527 //      [
1528 //          "bool",
1529 //          "sec_check_fragments"
1530 //      ],
1531 //      [
1532 //          "bool",
1533 //          "tc_copy"
1534 //      ],
1535 //      [
1536 //          "u8",
1537 //          "tc_class"
1538 //      ],
1539 //      {
1540 //          "crc": "0xb40e9226"
1541 //      }
1542 //
1543 type MapParamGetReply struct {
1544         Retval                 int32
1545         FragInner              uint8
1546         FragIgnoreDf           uint8
1547         ICMPIP4ErrRelaySrc     IP4Address
1548         ICMP6EnableUnreachable bool
1549         IP4NhAddress           IP4Address
1550         IP6NhAddress           IP6Address
1551         IP4LifetimeMs          uint16
1552         IP4PoolSize            uint16
1553         IP4Buffers             uint32
1554         IP4HtRatio             float64
1555         IP6LifetimeMs          uint16
1556         IP6PoolSize            uint16
1557         IP6Buffers             uint32
1558         IP6HtRatio             float64
1559         SecCheckEnable         bool
1560         SecCheckFragments      bool
1561         TcCopy                 bool
1562         TcClass                uint8
1563 }
1564
1565 func (*MapParamGetReply) GetMessageName() string {
1566         return "map_param_get_reply"
1567 }
1568 func (*MapParamGetReply) GetCrcString() string {
1569         return "b40e9226"
1570 }
1571 func (*MapParamGetReply) GetMessageType() api.MessageType {
1572         return api.ReplyMessage
1573 }
1574
1575 func init() {
1576         api.RegisterMessage((*MapAddDomain)(nil), "map.MapAddDomain")
1577         api.RegisterMessage((*MapAddDomainReply)(nil), "map.MapAddDomainReply")
1578         api.RegisterMessage((*MapDelDomain)(nil), "map.MapDelDomain")
1579         api.RegisterMessage((*MapDelDomainReply)(nil), "map.MapDelDomainReply")
1580         api.RegisterMessage((*MapAddDelRule)(nil), "map.MapAddDelRule")
1581         api.RegisterMessage((*MapAddDelRuleReply)(nil), "map.MapAddDelRuleReply")
1582         api.RegisterMessage((*MapDomainDump)(nil), "map.MapDomainDump")
1583         api.RegisterMessage((*MapDomainDetails)(nil), "map.MapDomainDetails")
1584         api.RegisterMessage((*MapRuleDump)(nil), "map.MapRuleDump")
1585         api.RegisterMessage((*MapRuleDetails)(nil), "map.MapRuleDetails")
1586         api.RegisterMessage((*MapSummaryStats)(nil), "map.MapSummaryStats")
1587         api.RegisterMessage((*MapSummaryStatsReply)(nil), "map.MapSummaryStatsReply")
1588         api.RegisterMessage((*MapParamSetFragmentation)(nil), "map.MapParamSetFragmentation")
1589         api.RegisterMessage((*MapParamSetFragmentationReply)(nil), "map.MapParamSetFragmentationReply")
1590         api.RegisterMessage((*MapParamSetICMP)(nil), "map.MapParamSetICMP")
1591         api.RegisterMessage((*MapParamSetICMPReply)(nil), "map.MapParamSetICMPReply")
1592         api.RegisterMessage((*MapParamSetICMP6)(nil), "map.MapParamSetICMP6")
1593         api.RegisterMessage((*MapParamSetICMP6Reply)(nil), "map.MapParamSetICMP6Reply")
1594         api.RegisterMessage((*MapParamAddDelPreResolve)(nil), "map.MapParamAddDelPreResolve")
1595         api.RegisterMessage((*MapParamAddDelPreResolveReply)(nil), "map.MapParamAddDelPreResolveReply")
1596         api.RegisterMessage((*MapParamSetReassembly)(nil), "map.MapParamSetReassembly")
1597         api.RegisterMessage((*MapParamSetReassemblyReply)(nil), "map.MapParamSetReassemblyReply")
1598         api.RegisterMessage((*MapParamSetSecurityCheck)(nil), "map.MapParamSetSecurityCheck")
1599         api.RegisterMessage((*MapParamSetSecurityCheckReply)(nil), "map.MapParamSetSecurityCheckReply")
1600         api.RegisterMessage((*MapParamSetTrafficClass)(nil), "map.MapParamSetTrafficClass")
1601         api.RegisterMessage((*MapParamSetTrafficClassReply)(nil), "map.MapParamSetTrafficClassReply")
1602         api.RegisterMessage((*MapParamGet)(nil), "map.MapParamGet")
1603         api.RegisterMessage((*MapParamGetReply)(nil), "map.MapParamGetReply")
1604 }