Merge "Add support for jumbo frames to libmemif"
[govpp.git] / examples / bin_api / ip / ip.go
1 // Code generated by govpp binapi-generator DO NOT EDIT.
2 // Package ip represents the VPP binary API of the 'ip' VPP module.
3 // Generated from '../../bin_api/ip.api.json'
4 package ip
5
6 import "git.fd.io/govpp.git/api"
7
8 // VlApiVersion contains version of the API.
9 const VlAPIVersion = 0xb395c625
10
11 // FibPath represents the VPP binary API data type 'fib_path'.
12 // Generated from '../../bin_api/ip.api.json', line 2199:
13 //
14 //            "fib_path",
15 //            [
16 //                "u32",
17 //                "sw_if_index"
18 //            ],
19 //            [
20 //                "u32",
21 //                "table_id"
22 //            ],
23 //            [
24 //                "u8",
25 //                "weight"
26 //            ],
27 //            [
28 //                "u8",
29 //                "preference"
30 //            ],
31 //            [
32 //                "u8",
33 //                "is_local"
34 //            ],
35 //            [
36 //                "u8",
37 //                "is_drop"
38 //            ],
39 //            [
40 //                "u8",
41 //                "is_unreach"
42 //            ],
43 //            [
44 //                "u8",
45 //                "is_prohibit"
46 //            ],
47 //            [
48 //                "u8",
49 //                "afi"
50 //            ],
51 //            [
52 //                "u8",
53 //                "next_hop",
54 //                16
55 //            ],
56 //            {
57 //                "crc": "0xcd899e0a"
58 //            }
59 //
60 type FibPath struct {
61         SwIfIndex  uint32
62         TableID    uint32
63         Weight     uint8
64         Preference uint8
65         IsLocal    uint8
66         IsDrop     uint8
67         IsUnreach  uint8
68         IsProhibit uint8
69         Afi        uint8
70         NextHop    []byte `struc:"[16]byte"`
71 }
72
73 func (*FibPath) GetTypeName() string {
74         return "fib_path"
75 }
76 func (*FibPath) GetCrcString() string {
77         return "cd899e0a"
78 }
79
80 // IPTableAddDel represents the VPP binary API message 'ip_table_add_del'.
81 // Generated from '../../bin_api/ip.api.json', line 187:
82 //
83 //            "ip_table_add_del",
84 //            [
85 //                "u16",
86 //                "_vl_msg_id"
87 //            ],
88 //            [
89 //                "u32",
90 //                "client_index"
91 //            ],
92 //            [
93 //                "u32",
94 //                "context"
95 //            ],
96 //            [
97 //                "u32",
98 //                "table_id"
99 //            ],
100 //            [
101 //                "u8",
102 //                "is_ipv6"
103 //            ],
104 //            [
105 //                "u8",
106 //                "is_add"
107 //            ],
108 //            [
109 //                "u8",
110 //                "name",
111 //                64
112 //            ],
113 //            {
114 //                "crc": "0x0240c89d"
115 //            }
116 //
117 type IPTableAddDel struct {
118         TableID uint32
119         IsIpv6  uint8
120         IsAdd   uint8
121         Name    []byte `struc:"[64]byte"`
122 }
123
124 func (*IPTableAddDel) GetMessageName() string {
125         return "ip_table_add_del"
126 }
127 func (*IPTableAddDel) GetMessageType() api.MessageType {
128         return api.RequestMessage
129 }
130 func (*IPTableAddDel) GetCrcString() string {
131         return "0240c89d"
132 }
133 func NewIPTableAddDel() api.Message {
134         return &IPTableAddDel{}
135 }
136
137 // IPTableAddDelReply represents the VPP binary API message 'ip_table_add_del_reply'.
138 // Generated from '../../bin_api/ip.api.json', line 222:
139 //
140 //            "ip_table_add_del_reply",
141 //            [
142 //                "u16",
143 //                "_vl_msg_id"
144 //            ],
145 //            [
146 //                "u32",
147 //                "context"
148 //            ],
149 //            [
150 //                "i32",
151 //                "retval"
152 //            ],
153 //            {
154 //                "crc": "0xe8d4e804"
155 //            }
156 //
157 type IPTableAddDelReply struct {
158         Retval int32
159 }
160
161 func (*IPTableAddDelReply) GetMessageName() string {
162         return "ip_table_add_del_reply"
163 }
164 func (*IPTableAddDelReply) GetMessageType() api.MessageType {
165         return api.ReplyMessage
166 }
167 func (*IPTableAddDelReply) GetCrcString() string {
168         return "e8d4e804"
169 }
170 func NewIPTableAddDelReply() api.Message {
171         return &IPTableAddDelReply{}
172 }
173
174 // IPFibDump represents the VPP binary API message 'ip_fib_dump'.
175 // Generated from '../../bin_api/ip.api.json', line 240:
176 //
177 //            "ip_fib_dump",
178 //            [
179 //                "u16",
180 //                "_vl_msg_id"
181 //            ],
182 //            [
183 //                "u32",
184 //                "client_index"
185 //            ],
186 //            [
187 //                "u32",
188 //                "context"
189 //            ],
190 //            {
191 //                "crc": "0x51077d14"
192 //            }
193 //
194 type IPFibDump struct {
195 }
196
197 func (*IPFibDump) GetMessageName() string {
198         return "ip_fib_dump"
199 }
200 func (*IPFibDump) GetMessageType() api.MessageType {
201         return api.RequestMessage
202 }
203 func (*IPFibDump) GetCrcString() string {
204         return "51077d14"
205 }
206 func NewIPFibDump() api.Message {
207         return &IPFibDump{}
208 }
209
210 // IPFibDetails represents the VPP binary API message 'ip_fib_details'.
211 // Generated from '../../bin_api/ip.api.json', line 258:
212 //
213 //            "ip_fib_details",
214 //            [
215 //                "u16",
216 //                "_vl_msg_id"
217 //            ],
218 //            [
219 //                "u32",
220 //                "context"
221 //            ],
222 //            [
223 //                "u32",
224 //                "table_id"
225 //            ],
226 //            [
227 //                "u8",
228 //                "table_name",
229 //                64
230 //            ],
231 //            [
232 //                "u8",
233 //                "address_length"
234 //            ],
235 //            [
236 //                "u8",
237 //                "address",
238 //                4
239 //            ],
240 //            [
241 //                "u32",
242 //                "count"
243 //            ],
244 //            [
245 //                "vl_api_fib_path_t",
246 //                "path",
247 //                0,
248 //                "count"
249 //            ],
250 //            {
251 //                "crc": "0x99dfd73b"
252 //            }
253 //
254 type IPFibDetails struct {
255         TableID       uint32
256         TableName     []byte `struc:"[64]byte"`
257         AddressLength uint8
258         Address       []byte `struc:"[4]byte"`
259         Count         uint32 `struc:"sizeof=Path"`
260         Path          []FibPath
261 }
262
263 func (*IPFibDetails) GetMessageName() string {
264         return "ip_fib_details"
265 }
266 func (*IPFibDetails) GetMessageType() api.MessageType {
267         return api.ReplyMessage
268 }
269 func (*IPFibDetails) GetCrcString() string {
270         return "99dfd73b"
271 }
272 func NewIPFibDetails() api.Message {
273         return &IPFibDetails{}
274 }
275
276 // IP6FibDump represents the VPP binary API message 'ip6_fib_dump'.
277 // Generated from '../../bin_api/ip.api.json', line 300:
278 //
279 //            "ip6_fib_dump",
280 //            [
281 //                "u16",
282 //                "_vl_msg_id"
283 //            ],
284 //            [
285 //                "u32",
286 //                "client_index"
287 //            ],
288 //            [
289 //                "u32",
290 //                "context"
291 //            ],
292 //            {
293 //                "crc": "0x51077d14"
294 //            }
295 //
296 type IP6FibDump struct {
297 }
298
299 func (*IP6FibDump) GetMessageName() string {
300         return "ip6_fib_dump"
301 }
302 func (*IP6FibDump) GetMessageType() api.MessageType {
303         return api.RequestMessage
304 }
305 func (*IP6FibDump) GetCrcString() string {
306         return "51077d14"
307 }
308 func NewIP6FibDump() api.Message {
309         return &IP6FibDump{}
310 }
311
312 // IP6FibDetails represents the VPP binary API message 'ip6_fib_details'.
313 // Generated from '../../bin_api/ip.api.json', line 318:
314 //
315 //            "ip6_fib_details",
316 //            [
317 //                "u16",
318 //                "_vl_msg_id"
319 //            ],
320 //            [
321 //                "u32",
322 //                "context"
323 //            ],
324 //            [
325 //                "u32",
326 //                "table_id"
327 //            ],
328 //            [
329 //                "u8",
330 //                "table_name",
331 //                64
332 //            ],
333 //            [
334 //                "u8",
335 //                "address_length"
336 //            ],
337 //            [
338 //                "u8",
339 //                "address",
340 //                16
341 //            ],
342 //            [
343 //                "u32",
344 //                "count"
345 //            ],
346 //            [
347 //                "vl_api_fib_path_t",
348 //                "path",
349 //                0,
350 //                "count"
351 //            ],
352 //            {
353 //                "crc": "0xabd0060e"
354 //            }
355 //
356 type IP6FibDetails struct {
357         TableID       uint32
358         TableName     []byte `struc:"[64]byte"`
359         AddressLength uint8
360         Address       []byte `struc:"[16]byte"`
361         Count         uint32 `struc:"sizeof=Path"`
362         Path          []FibPath
363 }
364
365 func (*IP6FibDetails) GetMessageName() string {
366         return "ip6_fib_details"
367 }
368 func (*IP6FibDetails) GetMessageType() api.MessageType {
369         return api.ReplyMessage
370 }
371 func (*IP6FibDetails) GetCrcString() string {
372         return "abd0060e"
373 }
374 func NewIP6FibDetails() api.Message {
375         return &IP6FibDetails{}
376 }
377
378 // IPNeighborDump represents the VPP binary API message 'ip_neighbor_dump'.
379 // Generated from '../../bin_api/ip.api.json', line 360:
380 //
381 //            "ip_neighbor_dump",
382 //            [
383 //                "u16",
384 //                "_vl_msg_id"
385 //            ],
386 //            [
387 //                "u32",
388 //                "client_index"
389 //            ],
390 //            [
391 //                "u32",
392 //                "context"
393 //            ],
394 //            [
395 //                "u32",
396 //                "sw_if_index"
397 //            ],
398 //            [
399 //                "u8",
400 //                "is_ipv6"
401 //            ],
402 //            {
403 //                "crc": "0x6b7bcd0a"
404 //            }
405 //
406 type IPNeighborDump struct {
407         SwIfIndex uint32
408         IsIpv6    uint8
409 }
410
411 func (*IPNeighborDump) GetMessageName() string {
412         return "ip_neighbor_dump"
413 }
414 func (*IPNeighborDump) GetMessageType() api.MessageType {
415         return api.RequestMessage
416 }
417 func (*IPNeighborDump) GetCrcString() string {
418         return "6b7bcd0a"
419 }
420 func NewIPNeighborDump() api.Message {
421         return &IPNeighborDump{}
422 }
423
424 // IPNeighborDetails represents the VPP binary API message 'ip_neighbor_details'.
425 // Generated from '../../bin_api/ip.api.json', line 386:
426 //
427 //            "ip_neighbor_details",
428 //            [
429 //                "u16",
430 //                "_vl_msg_id"
431 //            ],
432 //            [
433 //                "u32",
434 //                "context"
435 //            ],
436 //            [
437 //                "u32",
438 //                "sw_if_index"
439 //            ],
440 //            [
441 //                "u8",
442 //                "is_static"
443 //            ],
444 //            [
445 //                "u8",
446 //                "is_ipv6"
447 //            ],
448 //            [
449 //                "u8",
450 //                "mac_address",
451 //                6
452 //            ],
453 //            [
454 //                "u8",
455 //                "ip_address",
456 //                16
457 //            ],
458 //            {
459 //                "crc": "0x85e32a72"
460 //            }
461 //
462 type IPNeighborDetails struct {
463         SwIfIndex  uint32
464         IsStatic   uint8
465         IsIpv6     uint8
466         MacAddress []byte `struc:"[6]byte"`
467         IPAddress  []byte `struc:"[16]byte"`
468 }
469
470 func (*IPNeighborDetails) GetMessageName() string {
471         return "ip_neighbor_details"
472 }
473 func (*IPNeighborDetails) GetMessageType() api.MessageType {
474         return api.ReplyMessage
475 }
476 func (*IPNeighborDetails) GetCrcString() string {
477         return "85e32a72"
478 }
479 func NewIPNeighborDetails() api.Message {
480         return &IPNeighborDetails{}
481 }
482
483 // IPNeighborAddDel represents the VPP binary API message 'ip_neighbor_add_del'.
484 // Generated from '../../bin_api/ip.api.json', line 422:
485 //
486 //            "ip_neighbor_add_del",
487 //            [
488 //                "u16",
489 //                "_vl_msg_id"
490 //            ],
491 //            [
492 //                "u32",
493 //                "client_index"
494 //            ],
495 //            [
496 //                "u32",
497 //                "context"
498 //            ],
499 //            [
500 //                "u32",
501 //                "sw_if_index"
502 //            ],
503 //            [
504 //                "u8",
505 //                "is_add"
506 //            ],
507 //            [
508 //                "u8",
509 //                "is_ipv6"
510 //            ],
511 //            [
512 //                "u8",
513 //                "is_static"
514 //            ],
515 //            [
516 //                "u8",
517 //                "is_no_adj_fib"
518 //            ],
519 //            [
520 //                "u8",
521 //                "mac_address",
522 //                6
523 //            ],
524 //            [
525 //                "u8",
526 //                "dst_address",
527 //                16
528 //            ],
529 //            {
530 //                "crc": "0x4711eb25"
531 //            }
532 //
533 type IPNeighborAddDel struct {
534         SwIfIndex  uint32
535         IsAdd      uint8
536         IsIpv6     uint8
537         IsStatic   uint8
538         IsNoAdjFib uint8
539         MacAddress []byte `struc:"[6]byte"`
540         DstAddress []byte `struc:"[16]byte"`
541 }
542
543 func (*IPNeighborAddDel) GetMessageName() string {
544         return "ip_neighbor_add_del"
545 }
546 func (*IPNeighborAddDel) GetMessageType() api.MessageType {
547         return api.RequestMessage
548 }
549 func (*IPNeighborAddDel) GetCrcString() string {
550         return "4711eb25"
551 }
552 func NewIPNeighborAddDel() api.Message {
553         return &IPNeighborAddDel{}
554 }
555
556 // IPNeighborAddDelReply represents the VPP binary API message 'ip_neighbor_add_del_reply'.
557 // Generated from '../../bin_api/ip.api.json', line 470:
558 //
559 //            "ip_neighbor_add_del_reply",
560 //            [
561 //                "u16",
562 //                "_vl_msg_id"
563 //            ],
564 //            [
565 //                "u32",
566 //                "context"
567 //            ],
568 //            [
569 //                "i32",
570 //                "retval"
571 //            ],
572 //            {
573 //                "crc": "0xe8d4e804"
574 //            }
575 //
576 type IPNeighborAddDelReply struct {
577         Retval int32
578 }
579
580 func (*IPNeighborAddDelReply) GetMessageName() string {
581         return "ip_neighbor_add_del_reply"
582 }
583 func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
584         return api.ReplyMessage
585 }
586 func (*IPNeighborAddDelReply) GetCrcString() string {
587         return "e8d4e804"
588 }
589 func NewIPNeighborAddDelReply() api.Message {
590         return &IPNeighborAddDelReply{}
591 }
592
593 // SetIPFlowHash represents the VPP binary API message 'set_ip_flow_hash'.
594 // Generated from '../../bin_api/ip.api.json', line 488:
595 //
596 //            "set_ip_flow_hash",
597 //            [
598 //                "u16",
599 //                "_vl_msg_id"
600 //            ],
601 //            [
602 //                "u32",
603 //                "client_index"
604 //            ],
605 //            [
606 //                "u32",
607 //                "context"
608 //            ],
609 //            [
610 //                "u32",
611 //                "vrf_id"
612 //            ],
613 //            [
614 //                "u8",
615 //                "is_ipv6"
616 //            ],
617 //            [
618 //                "u8",
619 //                "src"
620 //            ],
621 //            [
622 //                "u8",
623 //                "dst"
624 //            ],
625 //            [
626 //                "u8",
627 //                "sport"
628 //            ],
629 //            [
630 //                "u8",
631 //                "dport"
632 //            ],
633 //            [
634 //                "u8",
635 //                "proto"
636 //            ],
637 //            [
638 //                "u8",
639 //                "reverse"
640 //            ],
641 //            {
642 //                "crc": "0x32ebf737"
643 //            }
644 //
645 type SetIPFlowHash struct {
646         VrfID   uint32
647         IsIpv6  uint8
648         Src     uint8
649         Dst     uint8
650         Sport   uint8
651         Dport   uint8
652         Proto   uint8
653         Reverse uint8
654 }
655
656 func (*SetIPFlowHash) GetMessageName() string {
657         return "set_ip_flow_hash"
658 }
659 func (*SetIPFlowHash) GetMessageType() api.MessageType {
660         return api.RequestMessage
661 }
662 func (*SetIPFlowHash) GetCrcString() string {
663         return "32ebf737"
664 }
665 func NewSetIPFlowHash() api.Message {
666         return &SetIPFlowHash{}
667 }
668
669 // SetIPFlowHashReply represents the VPP binary API message 'set_ip_flow_hash_reply'.
670 // Generated from '../../bin_api/ip.api.json', line 538:
671 //
672 //            "set_ip_flow_hash_reply",
673 //            [
674 //                "u16",
675 //                "_vl_msg_id"
676 //            ],
677 //            [
678 //                "u32",
679 //                "context"
680 //            ],
681 //            [
682 //                "i32",
683 //                "retval"
684 //            ],
685 //            {
686 //                "crc": "0xe8d4e804"
687 //            }
688 //
689 type SetIPFlowHashReply struct {
690         Retval int32
691 }
692
693 func (*SetIPFlowHashReply) GetMessageName() string {
694         return "set_ip_flow_hash_reply"
695 }
696 func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
697         return api.ReplyMessage
698 }
699 func (*SetIPFlowHashReply) GetCrcString() string {
700         return "e8d4e804"
701 }
702 func NewSetIPFlowHashReply() api.Message {
703         return &SetIPFlowHashReply{}
704 }
705
706 // SwInterfaceIP6ndRaConfig represents the VPP binary API message 'sw_interface_ip6nd_ra_config'.
707 // Generated from '../../bin_api/ip.api.json', line 556:
708 //
709 //            "sw_interface_ip6nd_ra_config",
710 //            [
711 //                "u16",
712 //                "_vl_msg_id"
713 //            ],
714 //            [
715 //                "u32",
716 //                "client_index"
717 //            ],
718 //            [
719 //                "u32",
720 //                "context"
721 //            ],
722 //            [
723 //                "u32",
724 //                "sw_if_index"
725 //            ],
726 //            [
727 //                "u8",
728 //                "suppress"
729 //            ],
730 //            [
731 //                "u8",
732 //                "managed"
733 //            ],
734 //            [
735 //                "u8",
736 //                "other"
737 //            ],
738 //            [
739 //                "u8",
740 //                "ll_option"
741 //            ],
742 //            [
743 //                "u8",
744 //                "send_unicast"
745 //            ],
746 //            [
747 //                "u8",
748 //                "cease"
749 //            ],
750 //            [
751 //                "u8",
752 //                "is_no"
753 //            ],
754 //            [
755 //                "u8",
756 //                "default_router"
757 //            ],
758 //            [
759 //                "u32",
760 //                "max_interval"
761 //            ],
762 //            [
763 //                "u32",
764 //                "min_interval"
765 //            ],
766 //            [
767 //                "u32",
768 //                "lifetime"
769 //            ],
770 //            [
771 //                "u32",
772 //                "initial_count"
773 //            ],
774 //            [
775 //                "u32",
776 //                "initial_interval"
777 //            ],
778 //            {
779 //                "crc": "0xc3f02daa"
780 //            }
781 //
782 type SwInterfaceIP6ndRaConfig struct {
783         SwIfIndex       uint32
784         Suppress        uint8
785         Managed         uint8
786         Other           uint8
787         LlOption        uint8
788         SendUnicast     uint8
789         Cease           uint8
790         IsNo            uint8
791         DefaultRouter   uint8
792         MaxInterval     uint32
793         MinInterval     uint32
794         Lifetime        uint32
795         InitialCount    uint32
796         InitialInterval uint32
797 }
798
799 func (*SwInterfaceIP6ndRaConfig) GetMessageName() string {
800         return "sw_interface_ip6nd_ra_config"
801 }
802 func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
803         return api.RequestMessage
804 }
805 func (*SwInterfaceIP6ndRaConfig) GetCrcString() string {
806         return "c3f02daa"
807 }
808 func NewSwInterfaceIP6ndRaConfig() api.Message {
809         return &SwInterfaceIP6ndRaConfig{}
810 }
811
812 // SwInterfaceIP6ndRaConfigReply represents the VPP binary API message 'sw_interface_ip6nd_ra_config_reply'.
813 // Generated from '../../bin_api/ip.api.json', line 630:
814 //
815 //            "sw_interface_ip6nd_ra_config_reply",
816 //            [
817 //                "u16",
818 //                "_vl_msg_id"
819 //            ],
820 //            [
821 //                "u32",
822 //                "context"
823 //            ],
824 //            [
825 //                "i32",
826 //                "retval"
827 //            ],
828 //            {
829 //                "crc": "0xe8d4e804"
830 //            }
831 //
832 type SwInterfaceIP6ndRaConfigReply struct {
833         Retval int32
834 }
835
836 func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
837         return "sw_interface_ip6nd_ra_config_reply"
838 }
839 func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
840         return api.ReplyMessage
841 }
842 func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string {
843         return "e8d4e804"
844 }
845 func NewSwInterfaceIP6ndRaConfigReply() api.Message {
846         return &SwInterfaceIP6ndRaConfigReply{}
847 }
848
849 // SwInterfaceIP6ndRaPrefix represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix'.
850 // Generated from '../../bin_api/ip.api.json', line 648:
851 //
852 //            "sw_interface_ip6nd_ra_prefix",
853 //            [
854 //                "u16",
855 //                "_vl_msg_id"
856 //            ],
857 //            [
858 //                "u32",
859 //                "client_index"
860 //            ],
861 //            [
862 //                "u32",
863 //                "context"
864 //            ],
865 //            [
866 //                "u32",
867 //                "sw_if_index"
868 //            ],
869 //            [
870 //                "u8",
871 //                "address",
872 //                16
873 //            ],
874 //            [
875 //                "u8",
876 //                "address_length"
877 //            ],
878 //            [
879 //                "u8",
880 //                "use_default"
881 //            ],
882 //            [
883 //                "u8",
884 //                "no_advertise"
885 //            ],
886 //            [
887 //                "u8",
888 //                "off_link"
889 //            ],
890 //            [
891 //                "u8",
892 //                "no_autoconfig"
893 //            ],
894 //            [
895 //                "u8",
896 //                "no_onlink"
897 //            ],
898 //            [
899 //                "u8",
900 //                "is_no"
901 //            ],
902 //            [
903 //                "u32",
904 //                "val_lifetime"
905 //            ],
906 //            [
907 //                "u32",
908 //                "pref_lifetime"
909 //            ],
910 //            {
911 //                "crc": "0xca763c9a"
912 //            }
913 //
914 type SwInterfaceIP6ndRaPrefix struct {
915         SwIfIndex     uint32
916         Address       []byte `struc:"[16]byte"`
917         AddressLength uint8
918         UseDefault    uint8
919         NoAdvertise   uint8
920         OffLink       uint8
921         NoAutoconfig  uint8
922         NoOnlink      uint8
923         IsNo          uint8
924         ValLifetime   uint32
925         PrefLifetime  uint32
926 }
927
928 func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string {
929         return "sw_interface_ip6nd_ra_prefix"
930 }
931 func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
932         return api.RequestMessage
933 }
934 func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string {
935         return "ca763c9a"
936 }
937 func NewSwInterfaceIP6ndRaPrefix() api.Message {
938         return &SwInterfaceIP6ndRaPrefix{}
939 }
940
941 // SwInterfaceIP6ndRaPrefixReply represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply'.
942 // Generated from '../../bin_api/ip.api.json', line 711:
943 //
944 //            "sw_interface_ip6nd_ra_prefix_reply",
945 //            [
946 //                "u16",
947 //                "_vl_msg_id"
948 //            ],
949 //            [
950 //                "u32",
951 //                "context"
952 //            ],
953 //            [
954 //                "i32",
955 //                "retval"
956 //            ],
957 //            {
958 //                "crc": "0xe8d4e804"
959 //            }
960 //
961 type SwInterfaceIP6ndRaPrefixReply struct {
962         Retval int32
963 }
964
965 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
966         return "sw_interface_ip6nd_ra_prefix_reply"
967 }
968 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
969         return api.ReplyMessage
970 }
971 func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string {
972         return "e8d4e804"
973 }
974 func NewSwInterfaceIP6ndRaPrefixReply() api.Message {
975         return &SwInterfaceIP6ndRaPrefixReply{}
976 }
977
978 // IP6ndProxyAddDel represents the VPP binary API message 'ip6nd_proxy_add_del'.
979 // Generated from '../../bin_api/ip.api.json', line 729:
980 //
981 //            "ip6nd_proxy_add_del",
982 //            [
983 //                "u16",
984 //                "_vl_msg_id"
985 //            ],
986 //            [
987 //                "u32",
988 //                "client_index"
989 //            ],
990 //            [
991 //                "u32",
992 //                "context"
993 //            ],
994 //            [
995 //                "u32",
996 //                "sw_if_index"
997 //            ],
998 //            [
999 //                "u8",
1000 //                "is_del"
1001 //            ],
1002 //            [
1003 //                "u8",
1004 //                "address",
1005 //                16
1006 //            ],
1007 //            {
1008 //                "crc": "0xd95f0fa0"
1009 //            }
1010 //
1011 type IP6ndProxyAddDel struct {
1012         SwIfIndex uint32
1013         IsDel     uint8
1014         Address   []byte `struc:"[16]byte"`
1015 }
1016
1017 func (*IP6ndProxyAddDel) GetMessageName() string {
1018         return "ip6nd_proxy_add_del"
1019 }
1020 func (*IP6ndProxyAddDel) GetMessageType() api.MessageType {
1021         return api.RequestMessage
1022 }
1023 func (*IP6ndProxyAddDel) GetCrcString() string {
1024         return "d95f0fa0"
1025 }
1026 func NewIP6ndProxyAddDel() api.Message {
1027         return &IP6ndProxyAddDel{}
1028 }
1029
1030 // IP6ndProxyAddDelReply represents the VPP binary API message 'ip6nd_proxy_add_del_reply'.
1031 // Generated from '../../bin_api/ip.api.json', line 760:
1032 //
1033 //            "ip6nd_proxy_add_del_reply",
1034 //            [
1035 //                "u16",
1036 //                "_vl_msg_id"
1037 //            ],
1038 //            [
1039 //                "u32",
1040 //                "context"
1041 //            ],
1042 //            [
1043 //                "i32",
1044 //                "retval"
1045 //            ],
1046 //            {
1047 //                "crc": "0xe8d4e804"
1048 //            }
1049 //
1050 type IP6ndProxyAddDelReply struct {
1051         Retval int32
1052 }
1053
1054 func (*IP6ndProxyAddDelReply) GetMessageName() string {
1055         return "ip6nd_proxy_add_del_reply"
1056 }
1057 func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType {
1058         return api.ReplyMessage
1059 }
1060 func (*IP6ndProxyAddDelReply) GetCrcString() string {
1061         return "e8d4e804"
1062 }
1063 func NewIP6ndProxyAddDelReply() api.Message {
1064         return &IP6ndProxyAddDelReply{}
1065 }
1066
1067 // IP6ndProxyDetails represents the VPP binary API message 'ip6nd_proxy_details'.
1068 // Generated from '../../bin_api/ip.api.json', line 778:
1069 //
1070 //            "ip6nd_proxy_details",
1071 //            [
1072 //                "u16",
1073 //                "_vl_msg_id"
1074 //            ],
1075 //            [
1076 //                "u32",
1077 //                "client_index"
1078 //            ],
1079 //            [
1080 //                "u32",
1081 //                "context"
1082 //            ],
1083 //            [
1084 //                "u32",
1085 //                "sw_if_index"
1086 //            ],
1087 //            [
1088 //                "u8",
1089 //                "address",
1090 //                16
1091 //            ],
1092 //            {
1093 //                "crc": "0xd73bf1ab"
1094 //            }
1095 //
1096 type IP6ndProxyDetails struct {
1097         SwIfIndex uint32
1098         Address   []byte `struc:"[16]byte"`
1099 }
1100
1101 func (*IP6ndProxyDetails) GetMessageName() string {
1102         return "ip6nd_proxy_details"
1103 }
1104 func (*IP6ndProxyDetails) GetMessageType() api.MessageType {
1105         return api.RequestMessage
1106 }
1107 func (*IP6ndProxyDetails) GetCrcString() string {
1108         return "d73bf1ab"
1109 }
1110 func NewIP6ndProxyDetails() api.Message {
1111         return &IP6ndProxyDetails{}
1112 }
1113
1114 // IP6ndProxyDump represents the VPP binary API message 'ip6nd_proxy_dump'.
1115 // Generated from '../../bin_api/ip.api.json', line 805:
1116 //
1117 //            "ip6nd_proxy_dump",
1118 //            [
1119 //                "u16",
1120 //                "_vl_msg_id"
1121 //            ],
1122 //            [
1123 //                "u32",
1124 //                "client_index"
1125 //            ],
1126 //            [
1127 //                "u32",
1128 //                "context"
1129 //            ],
1130 //            {
1131 //                "crc": "0x51077d14"
1132 //            }
1133 //
1134 type IP6ndProxyDump struct {
1135 }
1136
1137 func (*IP6ndProxyDump) GetMessageName() string {
1138         return "ip6nd_proxy_dump"
1139 }
1140 func (*IP6ndProxyDump) GetMessageType() api.MessageType {
1141         return api.RequestMessage
1142 }
1143 func (*IP6ndProxyDump) GetCrcString() string {
1144         return "51077d14"
1145 }
1146 func NewIP6ndProxyDump() api.Message {
1147         return &IP6ndProxyDump{}
1148 }
1149
1150 // SwInterfaceIP6EnableDisable represents the VPP binary API message 'sw_interface_ip6_enable_disable'.
1151 // Generated from '../../bin_api/ip.api.json', line 823:
1152 //
1153 //            "sw_interface_ip6_enable_disable",
1154 //            [
1155 //                "u16",
1156 //                "_vl_msg_id"
1157 //            ],
1158 //            [
1159 //                "u32",
1160 //                "client_index"
1161 //            ],
1162 //            [
1163 //                "u32",
1164 //                "context"
1165 //            ],
1166 //            [
1167 //                "u32",
1168 //                "sw_if_index"
1169 //            ],
1170 //            [
1171 //                "u8",
1172 //                "enable"
1173 //            ],
1174 //            {
1175 //                "crc": "0xa36fadc0"
1176 //            }
1177 //
1178 type SwInterfaceIP6EnableDisable struct {
1179         SwIfIndex uint32
1180         Enable    uint8
1181 }
1182
1183 func (*SwInterfaceIP6EnableDisable) GetMessageName() string {
1184         return "sw_interface_ip6_enable_disable"
1185 }
1186 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType {
1187         return api.RequestMessage
1188 }
1189 func (*SwInterfaceIP6EnableDisable) GetCrcString() string {
1190         return "a36fadc0"
1191 }
1192 func NewSwInterfaceIP6EnableDisable() api.Message {
1193         return &SwInterfaceIP6EnableDisable{}
1194 }
1195
1196 // SwInterfaceIP6EnableDisableReply represents the VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
1197 // Generated from '../../bin_api/ip.api.json', line 849:
1198 //
1199 //            "sw_interface_ip6_enable_disable_reply",
1200 //            [
1201 //                "u16",
1202 //                "_vl_msg_id"
1203 //            ],
1204 //            [
1205 //                "u32",
1206 //                "context"
1207 //            ],
1208 //            [
1209 //                "i32",
1210 //                "retval"
1211 //            ],
1212 //            {
1213 //                "crc": "0xe8d4e804"
1214 //            }
1215 //
1216 type SwInterfaceIP6EnableDisableReply struct {
1217         Retval int32
1218 }
1219
1220 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
1221         return "sw_interface_ip6_enable_disable_reply"
1222 }
1223 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType {
1224         return api.ReplyMessage
1225 }
1226 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string {
1227         return "e8d4e804"
1228 }
1229 func NewSwInterfaceIP6EnableDisableReply() api.Message {
1230         return &SwInterfaceIP6EnableDisableReply{}
1231 }
1232
1233 // SwInterfaceIP6SetLinkLocalAddress represents the VPP binary API message 'sw_interface_ip6_set_link_local_address'.
1234 // Generated from '../../bin_api/ip.api.json', line 867:
1235 //
1236 //            "sw_interface_ip6_set_link_local_address",
1237 //            [
1238 //                "u16",
1239 //                "_vl_msg_id"
1240 //            ],
1241 //            [
1242 //                "u32",
1243 //                "client_index"
1244 //            ],
1245 //            [
1246 //                "u32",
1247 //                "context"
1248 //            ],
1249 //            [
1250 //                "u32",
1251 //                "sw_if_index"
1252 //            ],
1253 //            [
1254 //                "u8",
1255 //                "address",
1256 //                16
1257 //            ],
1258 //            {
1259 //                "crc": "0xd73bf1ab"
1260 //            }
1261 //
1262 type SwInterfaceIP6SetLinkLocalAddress struct {
1263         SwIfIndex uint32
1264         Address   []byte `struc:"[16]byte"`
1265 }
1266
1267 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string {
1268         return "sw_interface_ip6_set_link_local_address"
1269 }
1270 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType {
1271         return api.RequestMessage
1272 }
1273 func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string {
1274         return "d73bf1ab"
1275 }
1276 func NewSwInterfaceIP6SetLinkLocalAddress() api.Message {
1277         return &SwInterfaceIP6SetLinkLocalAddress{}
1278 }
1279
1280 // SwInterfaceIP6SetLinkLocalAddressReply represents the VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'.
1281 // Generated from '../../bin_api/ip.api.json', line 894:
1282 //
1283 //            "sw_interface_ip6_set_link_local_address_reply",
1284 //            [
1285 //                "u16",
1286 //                "_vl_msg_id"
1287 //            ],
1288 //            [
1289 //                "u32",
1290 //                "context"
1291 //            ],
1292 //            [
1293 //                "i32",
1294 //                "retval"
1295 //            ],
1296 //            {
1297 //                "crc": "0xe8d4e804"
1298 //            }
1299 //
1300 type SwInterfaceIP6SetLinkLocalAddressReply struct {
1301         Retval int32
1302 }
1303
1304 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string {
1305         return "sw_interface_ip6_set_link_local_address_reply"
1306 }
1307 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType {
1308         return api.ReplyMessage
1309 }
1310 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string {
1311         return "e8d4e804"
1312 }
1313 func NewSwInterfaceIP6SetLinkLocalAddressReply() api.Message {
1314         return &SwInterfaceIP6SetLinkLocalAddressReply{}
1315 }
1316
1317 // IPAddDelRoute represents the VPP binary API message 'ip_add_del_route'.
1318 // Generated from '../../bin_api/ip.api.json', line 912:
1319 //
1320 //            "ip_add_del_route",
1321 //            [
1322 //                "u16",
1323 //                "_vl_msg_id"
1324 //            ],
1325 //            [
1326 //                "u32",
1327 //                "client_index"
1328 //            ],
1329 //            [
1330 //                "u32",
1331 //                "context"
1332 //            ],
1333 //            [
1334 //                "u32",
1335 //                "next_hop_sw_if_index"
1336 //            ],
1337 //            [
1338 //                "u32",
1339 //                "table_id"
1340 //            ],
1341 //            [
1342 //                "u32",
1343 //                "classify_table_index"
1344 //            ],
1345 //            [
1346 //                "u32",
1347 //                "next_hop_table_id"
1348 //            ],
1349 //            [
1350 //                "u32",
1351 //                "next_hop_id"
1352 //            ],
1353 //            [
1354 //                "u8",
1355 //                "is_add"
1356 //            ],
1357 //            [
1358 //                "u8",
1359 //                "is_drop"
1360 //            ],
1361 //            [
1362 //                "u8",
1363 //                "is_unreach"
1364 //            ],
1365 //            [
1366 //                "u8",
1367 //                "is_prohibit"
1368 //            ],
1369 //            [
1370 //                "u8",
1371 //                "is_ipv6"
1372 //            ],
1373 //            [
1374 //                "u8",
1375 //                "is_local"
1376 //            ],
1377 //            [
1378 //                "u8",
1379 //                "is_classify"
1380 //            ],
1381 //            [
1382 //                "u8",
1383 //                "is_multipath"
1384 //            ],
1385 //            [
1386 //                "u8",
1387 //                "is_resolve_host"
1388 //            ],
1389 //            [
1390 //                "u8",
1391 //                "is_resolve_attached"
1392 //            ],
1393 //            [
1394 //                "u8",
1395 //                "is_dvr"
1396 //            ],
1397 //            [
1398 //                "u8",
1399 //                "is_source_lookup"
1400 //            ],
1401 //            [
1402 //                "u8",
1403 //                "is_udp_encap"
1404 //            ],
1405 //            [
1406 //                "u8",
1407 //                "next_hop_weight"
1408 //            ],
1409 //            [
1410 //                "u8",
1411 //                "next_hop_preference"
1412 //            ],
1413 //            [
1414 //                "u8",
1415 //                "next_hop_proto"
1416 //            ],
1417 //            [
1418 //                "u8",
1419 //                "dst_address_length"
1420 //            ],
1421 //            [
1422 //                "u8",
1423 //                "dst_address",
1424 //                16
1425 //            ],
1426 //            [
1427 //                "u8",
1428 //                "next_hop_address",
1429 //                16
1430 //            ],
1431 //            [
1432 //                "u8",
1433 //                "next_hop_n_out_labels"
1434 //            ],
1435 //            [
1436 //                "u32",
1437 //                "next_hop_via_label"
1438 //            ],
1439 //            [
1440 //                "u32",
1441 //                "next_hop_out_label_stack",
1442 //                0,
1443 //                "next_hop_n_out_labels"
1444 //            ],
1445 //            {
1446 //                "crc": "0xc85f8290"
1447 //            }
1448 //
1449 type IPAddDelRoute struct {
1450         NextHopSwIfIndex     uint32
1451         TableID              uint32
1452         ClassifyTableIndex   uint32
1453         NextHopTableID       uint32
1454         NextHopID            uint32
1455         IsAdd                uint8
1456         IsDrop               uint8
1457         IsUnreach            uint8
1458         IsProhibit           uint8
1459         IsIpv6               uint8
1460         IsLocal              uint8
1461         IsClassify           uint8
1462         IsMultipath          uint8
1463         IsResolveHost        uint8
1464         IsResolveAttached    uint8
1465         IsDvr                uint8
1466         IsSourceLookup       uint8
1467         IsUDPEncap           uint8
1468         NextHopWeight        uint8
1469         NextHopPreference    uint8
1470         NextHopProto         uint8
1471         DstAddressLength     uint8
1472         DstAddress           []byte `struc:"[16]byte"`
1473         NextHopAddress       []byte `struc:"[16]byte"`
1474         NextHopNOutLabels    uint8  `struc:"sizeof=NextHopOutLabelStack"`
1475         NextHopViaLabel      uint32
1476         NextHopOutLabelStack []uint32
1477 }
1478
1479 func (*IPAddDelRoute) GetMessageName() string {
1480         return "ip_add_del_route"
1481 }
1482 func (*IPAddDelRoute) GetMessageType() api.MessageType {
1483         return api.RequestMessage
1484 }
1485 func (*IPAddDelRoute) GetCrcString() string {
1486         return "c85f8290"
1487 }
1488 func NewIPAddDelRoute() api.Message {
1489         return &IPAddDelRoute{}
1490 }
1491
1492 // IPAddDelRouteReply represents the VPP binary API message 'ip_add_del_route_reply'.
1493 // Generated from '../../bin_api/ip.api.json', line 1042:
1494 //
1495 //            "ip_add_del_route_reply",
1496 //            [
1497 //                "u16",
1498 //                "_vl_msg_id"
1499 //            ],
1500 //            [
1501 //                "u32",
1502 //                "context"
1503 //            ],
1504 //            [
1505 //                "i32",
1506 //                "retval"
1507 //            ],
1508 //            {
1509 //                "crc": "0xe8d4e804"
1510 //            }
1511 //
1512 type IPAddDelRouteReply struct {
1513         Retval int32
1514 }
1515
1516 func (*IPAddDelRouteReply) GetMessageName() string {
1517         return "ip_add_del_route_reply"
1518 }
1519 func (*IPAddDelRouteReply) GetMessageType() api.MessageType {
1520         return api.ReplyMessage
1521 }
1522 func (*IPAddDelRouteReply) GetCrcString() string {
1523         return "e8d4e804"
1524 }
1525 func NewIPAddDelRouteReply() api.Message {
1526         return &IPAddDelRouteReply{}
1527 }
1528
1529 // IPMrouteAddDel represents the VPP binary API message 'ip_mroute_add_del'.
1530 // Generated from '../../bin_api/ip.api.json', line 1060:
1531 //
1532 //            "ip_mroute_add_del",
1533 //            [
1534 //                "u16",
1535 //                "_vl_msg_id"
1536 //            ],
1537 //            [
1538 //                "u32",
1539 //                "client_index"
1540 //            ],
1541 //            [
1542 //                "u32",
1543 //                "context"
1544 //            ],
1545 //            [
1546 //                "u32",
1547 //                "next_hop_sw_if_index"
1548 //            ],
1549 //            [
1550 //                "u32",
1551 //                "table_id"
1552 //            ],
1553 //            [
1554 //                "u32",
1555 //                "entry_flags"
1556 //            ],
1557 //            [
1558 //                "u32",
1559 //                "itf_flags"
1560 //            ],
1561 //            [
1562 //                "u32",
1563 //                "rpf_id"
1564 //            ],
1565 //            [
1566 //                "u32",
1567 //                "bier_imp"
1568 //            ],
1569 //            [
1570 //                "u16",
1571 //                "grp_address_length"
1572 //            ],
1573 //            [
1574 //                "u8",
1575 //                "next_hop_afi"
1576 //            ],
1577 //            [
1578 //                "u8",
1579 //                "is_add"
1580 //            ],
1581 //            [
1582 //                "u8",
1583 //                "is_ipv6"
1584 //            ],
1585 //            [
1586 //                "u8",
1587 //                "is_local"
1588 //            ],
1589 //            [
1590 //                "u8",
1591 //                "grp_address",
1592 //                16
1593 //            ],
1594 //            [
1595 //                "u8",
1596 //                "src_address",
1597 //                16
1598 //            ],
1599 //            {
1600 //                "crc": "0xc37112f7"
1601 //            }
1602 //
1603 type IPMrouteAddDel struct {
1604         NextHopSwIfIndex uint32
1605         TableID          uint32
1606         EntryFlags       uint32
1607         ItfFlags         uint32
1608         RpfID            uint32
1609         BierImp          uint32
1610         GrpAddressLength uint16
1611         NextHopAfi       uint8
1612         IsAdd            uint8
1613         IsIpv6           uint8
1614         IsLocal          uint8
1615         GrpAddress       []byte `struc:"[16]byte"`
1616         SrcAddress       []byte `struc:"[16]byte"`
1617 }
1618
1619 func (*IPMrouteAddDel) GetMessageName() string {
1620         return "ip_mroute_add_del"
1621 }
1622 func (*IPMrouteAddDel) GetMessageType() api.MessageType {
1623         return api.RequestMessage
1624 }
1625 func (*IPMrouteAddDel) GetCrcString() string {
1626         return "c37112f7"
1627 }
1628 func NewIPMrouteAddDel() api.Message {
1629         return &IPMrouteAddDel{}
1630 }
1631
1632 // IPMrouteAddDelReply represents the VPP binary API message 'ip_mroute_add_del_reply'.
1633 // Generated from '../../bin_api/ip.api.json', line 1132:
1634 //
1635 //            "ip_mroute_add_del_reply",
1636 //            [
1637 //                "u16",
1638 //                "_vl_msg_id"
1639 //            ],
1640 //            [
1641 //                "u32",
1642 //                "context"
1643 //            ],
1644 //            [
1645 //                "i32",
1646 //                "retval"
1647 //            ],
1648 //            {
1649 //                "crc": "0xe8d4e804"
1650 //            }
1651 //
1652 type IPMrouteAddDelReply struct {
1653         Retval int32
1654 }
1655
1656 func (*IPMrouteAddDelReply) GetMessageName() string {
1657         return "ip_mroute_add_del_reply"
1658 }
1659 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
1660         return api.ReplyMessage
1661 }
1662 func (*IPMrouteAddDelReply) GetCrcString() string {
1663         return "e8d4e804"
1664 }
1665 func NewIPMrouteAddDelReply() api.Message {
1666         return &IPMrouteAddDelReply{}
1667 }
1668
1669 // IPMfibDump represents the VPP binary API message 'ip_mfib_dump'.
1670 // Generated from '../../bin_api/ip.api.json', line 1150:
1671 //
1672 //            "ip_mfib_dump",
1673 //            [
1674 //                "u16",
1675 //                "_vl_msg_id"
1676 //            ],
1677 //            [
1678 //                "u32",
1679 //                "client_index"
1680 //            ],
1681 //            [
1682 //                "u32",
1683 //                "context"
1684 //            ],
1685 //            {
1686 //                "crc": "0x51077d14"
1687 //            }
1688 //
1689 type IPMfibDump struct {
1690 }
1691
1692 func (*IPMfibDump) GetMessageName() string {
1693         return "ip_mfib_dump"
1694 }
1695 func (*IPMfibDump) GetMessageType() api.MessageType {
1696         return api.RequestMessage
1697 }
1698 func (*IPMfibDump) GetCrcString() string {
1699         return "51077d14"
1700 }
1701 func NewIPMfibDump() api.Message {
1702         return &IPMfibDump{}
1703 }
1704
1705 // IPMfibDetails represents the VPP binary API message 'ip_mfib_details'.
1706 // Generated from '../../bin_api/ip.api.json', line 1168:
1707 //
1708 //            "ip_mfib_details",
1709 //            [
1710 //                "u16",
1711 //                "_vl_msg_id"
1712 //            ],
1713 //            [
1714 //                "u32",
1715 //                "context"
1716 //            ],
1717 //            [
1718 //                "u32",
1719 //                "table_id"
1720 //            ],
1721 //            [
1722 //                "u32",
1723 //                "entry_flags"
1724 //            ],
1725 //            [
1726 //                "u32",
1727 //                "rpf_id"
1728 //            ],
1729 //            [
1730 //                "u8",
1731 //                "address_length"
1732 //            ],
1733 //            [
1734 //                "u8",
1735 //                "grp_address",
1736 //                4
1737 //            ],
1738 //            [
1739 //                "u8",
1740 //                "src_address",
1741 //                4
1742 //            ],
1743 //            [
1744 //                "u32",
1745 //                "count"
1746 //            ],
1747 //            [
1748 //                "vl_api_fib_path_t",
1749 //                "path",
1750 //                0,
1751 //                "count"
1752 //            ],
1753 //            {
1754 //                "crc": "0x5e530d5e"
1755 //            }
1756 //
1757 type IPMfibDetails struct {
1758         TableID       uint32
1759         EntryFlags    uint32
1760         RpfID         uint32
1761         AddressLength uint8
1762         GrpAddress    []byte `struc:"[4]byte"`
1763         SrcAddress    []byte `struc:"[4]byte"`
1764         Count         uint32 `struc:"sizeof=Path"`
1765         Path          []FibPath
1766 }
1767
1768 func (*IPMfibDetails) GetMessageName() string {
1769         return "ip_mfib_details"
1770 }
1771 func (*IPMfibDetails) GetMessageType() api.MessageType {
1772         return api.ReplyMessage
1773 }
1774 func (*IPMfibDetails) GetCrcString() string {
1775         return "5e530d5e"
1776 }
1777 func NewIPMfibDetails() api.Message {
1778         return &IPMfibDetails{}
1779 }
1780
1781 // IP6MfibDump represents the VPP binary API message 'ip6_mfib_dump'.
1782 // Generated from '../../bin_api/ip.api.json', line 1218:
1783 //
1784 //            "ip6_mfib_dump",
1785 //            [
1786 //                "u16",
1787 //                "_vl_msg_id"
1788 //            ],
1789 //            [
1790 //                "u32",
1791 //                "client_index"
1792 //            ],
1793 //            [
1794 //                "u32",
1795 //                "context"
1796 //            ],
1797 //            {
1798 //                "crc": "0x51077d14"
1799 //            }
1800 //
1801 type IP6MfibDump struct {
1802 }
1803
1804 func (*IP6MfibDump) GetMessageName() string {
1805         return "ip6_mfib_dump"
1806 }
1807 func (*IP6MfibDump) GetMessageType() api.MessageType {
1808         return api.RequestMessage
1809 }
1810 func (*IP6MfibDump) GetCrcString() string {
1811         return "51077d14"
1812 }
1813 func NewIP6MfibDump() api.Message {
1814         return &IP6MfibDump{}
1815 }
1816
1817 // IP6MfibDetails represents the VPP binary API message 'ip6_mfib_details'.
1818 // Generated from '../../bin_api/ip.api.json', line 1236:
1819 //
1820 //            "ip6_mfib_details",
1821 //            [
1822 //                "u16",
1823 //                "_vl_msg_id"
1824 //            ],
1825 //            [
1826 //                "u32",
1827 //                "context"
1828 //            ],
1829 //            [
1830 //                "u32",
1831 //                "table_id"
1832 //            ],
1833 //            [
1834 //                "u8",
1835 //                "address_length"
1836 //            ],
1837 //            [
1838 //                "u8",
1839 //                "grp_address",
1840 //                16
1841 //            ],
1842 //            [
1843 //                "u8",
1844 //                "src_address",
1845 //                16
1846 //            ],
1847 //            [
1848 //                "u32",
1849 //                "count"
1850 //            ],
1851 //            [
1852 //                "vl_api_fib_path_t",
1853 //                "path",
1854 //                0,
1855 //                "count"
1856 //            ],
1857 //            {
1858 //                "crc": "0xe02dcb4b"
1859 //            }
1860 //
1861 type IP6MfibDetails struct {
1862         TableID       uint32
1863         AddressLength uint8
1864         GrpAddress    []byte `struc:"[16]byte"`
1865         SrcAddress    []byte `struc:"[16]byte"`
1866         Count         uint32 `struc:"sizeof=Path"`
1867         Path          []FibPath
1868 }
1869
1870 func (*IP6MfibDetails) GetMessageName() string {
1871         return "ip6_mfib_details"
1872 }
1873 func (*IP6MfibDetails) GetMessageType() api.MessageType {
1874         return api.ReplyMessage
1875 }
1876 func (*IP6MfibDetails) GetCrcString() string {
1877         return "e02dcb4b"
1878 }
1879 func NewIP6MfibDetails() api.Message {
1880         return &IP6MfibDetails{}
1881 }
1882
1883 // IPAddressDetails represents the VPP binary API message 'ip_address_details'.
1884 // Generated from '../../bin_api/ip.api.json', line 1278:
1885 //
1886 //            "ip_address_details",
1887 //            [
1888 //                "u16",
1889 //                "_vl_msg_id"
1890 //            ],
1891 //            [
1892 //                "u32",
1893 //                "client_index"
1894 //            ],
1895 //            [
1896 //                "u32",
1897 //                "context"
1898 //            ],
1899 //            [
1900 //                "u8",
1901 //                "ip",
1902 //                16
1903 //            ],
1904 //            [
1905 //                "u8",
1906 //                "prefix_length"
1907 //            ],
1908 //            [
1909 //                "u32",
1910 //                "sw_if_index"
1911 //            ],
1912 //            [
1913 //                "u8",
1914 //                "is_ipv6"
1915 //            ],
1916 //            {
1917 //                "crc": "0xbc7442f2"
1918 //            }
1919 //
1920 type IPAddressDetails struct {
1921         IP           []byte `struc:"[16]byte"`
1922         PrefixLength uint8
1923         SwIfIndex    uint32
1924         IsIpv6       uint8
1925 }
1926
1927 func (*IPAddressDetails) GetMessageName() string {
1928         return "ip_address_details"
1929 }
1930 func (*IPAddressDetails) GetMessageType() api.MessageType {
1931         return api.RequestMessage
1932 }
1933 func (*IPAddressDetails) GetCrcString() string {
1934         return "bc7442f2"
1935 }
1936 func NewIPAddressDetails() api.Message {
1937         return &IPAddressDetails{}
1938 }
1939
1940 // IPAddressDump represents the VPP binary API message 'ip_address_dump'.
1941 // Generated from '../../bin_api/ip.api.json', line 1313:
1942 //
1943 //            "ip_address_dump",
1944 //            [
1945 //                "u16",
1946 //                "_vl_msg_id"
1947 //            ],
1948 //            [
1949 //                "u32",
1950 //                "client_index"
1951 //            ],
1952 //            [
1953 //                "u32",
1954 //                "context"
1955 //            ],
1956 //            [
1957 //                "u32",
1958 //                "sw_if_index"
1959 //            ],
1960 //            [
1961 //                "u8",
1962 //                "is_ipv6"
1963 //            ],
1964 //            {
1965 //                "crc": "0x6b7bcd0a"
1966 //            }
1967 //
1968 type IPAddressDump struct {
1969         SwIfIndex uint32
1970         IsIpv6    uint8
1971 }
1972
1973 func (*IPAddressDump) GetMessageName() string {
1974         return "ip_address_dump"
1975 }
1976 func (*IPAddressDump) GetMessageType() api.MessageType {
1977         return api.RequestMessage
1978 }
1979 func (*IPAddressDump) GetCrcString() string {
1980         return "6b7bcd0a"
1981 }
1982 func NewIPAddressDump() api.Message {
1983         return &IPAddressDump{}
1984 }
1985
1986 // IPDetails represents the VPP binary API message 'ip_details'.
1987 // Generated from '../../bin_api/ip.api.json', line 1339:
1988 //
1989 //            "ip_details",
1990 //            [
1991 //                "u16",
1992 //                "_vl_msg_id"
1993 //            ],
1994 //            [
1995 //                "u32",
1996 //                "sw_if_index"
1997 //            ],
1998 //            [
1999 //                "u32",
2000 //                "context"
2001 //            ],
2002 //            [
2003 //                "u8",
2004 //                "is_ipv6"
2005 //            ],
2006 //            {
2007 //                "crc": "0x452ffc5a"
2008 //            }
2009 //
2010 type IPDetails struct {
2011         SwIfIndex uint32
2012         Context   uint32
2013         IsIpv6    uint8
2014 }
2015
2016 func (*IPDetails) GetMessageName() string {
2017         return "ip_details"
2018 }
2019 func (*IPDetails) GetMessageType() api.MessageType {
2020         return api.OtherMessage
2021 }
2022 func (*IPDetails) GetCrcString() string {
2023         return "452ffc5a"
2024 }
2025 func NewIPDetails() api.Message {
2026         return &IPDetails{}
2027 }
2028
2029 // IPDump represents the VPP binary API message 'ip_dump'.
2030 // Generated from '../../bin_api/ip.api.json', line 1361:
2031 //
2032 //            "ip_dump",
2033 //            [
2034 //                "u16",
2035 //                "_vl_msg_id"
2036 //            ],
2037 //            [
2038 //                "u32",
2039 //                "client_index"
2040 //            ],
2041 //            [
2042 //                "u32",
2043 //                "context"
2044 //            ],
2045 //            [
2046 //                "u8",
2047 //                "is_ipv6"
2048 //            ],
2049 //            {
2050 //                "crc": "0xde883da4"
2051 //            }
2052 //
2053 type IPDump struct {
2054         IsIpv6 uint8
2055 }
2056
2057 func (*IPDump) GetMessageName() string {
2058         return "ip_dump"
2059 }
2060 func (*IPDump) GetMessageType() api.MessageType {
2061         return api.RequestMessage
2062 }
2063 func (*IPDump) GetCrcString() string {
2064         return "de883da4"
2065 }
2066 func NewIPDump() api.Message {
2067         return &IPDump{}
2068 }
2069
2070 // MfibSignalDump represents the VPP binary API message 'mfib_signal_dump'.
2071 // Generated from '../../bin_api/ip.api.json', line 1383:
2072 //
2073 //            "mfib_signal_dump",
2074 //            [
2075 //                "u16",
2076 //                "_vl_msg_id"
2077 //            ],
2078 //            [
2079 //                "u32",
2080 //                "client_index"
2081 //            ],
2082 //            [
2083 //                "u32",
2084 //                "context"
2085 //            ],
2086 //            {
2087 //                "crc": "0x51077d14"
2088 //            }
2089 //
2090 type MfibSignalDump struct {
2091 }
2092
2093 func (*MfibSignalDump) GetMessageName() string {
2094         return "mfib_signal_dump"
2095 }
2096 func (*MfibSignalDump) GetMessageType() api.MessageType {
2097         return api.RequestMessage
2098 }
2099 func (*MfibSignalDump) GetCrcString() string {
2100         return "51077d14"
2101 }
2102 func NewMfibSignalDump() api.Message {
2103         return &MfibSignalDump{}
2104 }
2105
2106 // MfibSignalDetails represents the VPP binary API message 'mfib_signal_details'.
2107 // Generated from '../../bin_api/ip.api.json', line 1401:
2108 //
2109 //            "mfib_signal_details",
2110 //            [
2111 //                "u16",
2112 //                "_vl_msg_id"
2113 //            ],
2114 //            [
2115 //                "u32",
2116 //                "client_index"
2117 //            ],
2118 //            [
2119 //                "u32",
2120 //                "context"
2121 //            ],
2122 //            [
2123 //                "u32",
2124 //                "sw_if_index"
2125 //            ],
2126 //            [
2127 //                "u32",
2128 //                "table_id"
2129 //            ],
2130 //            [
2131 //                "u16",
2132 //                "grp_address_len"
2133 //            ],
2134 //            [
2135 //                "u8",
2136 //                "grp_address",
2137 //                16
2138 //            ],
2139 //            [
2140 //                "u8",
2141 //                "src_address",
2142 //                16
2143 //            ],
2144 //            [
2145 //                "u16",
2146 //                "ip_packet_len"
2147 //            ],
2148 //            [
2149 //                "u8",
2150 //                "ip_packet_data",
2151 //                256
2152 //            ],
2153 //            {
2154 //                "crc": "0x791bbeab"
2155 //            }
2156 //
2157 type MfibSignalDetails struct {
2158         SwIfIndex     uint32
2159         TableID       uint32
2160         GrpAddressLen uint16
2161         GrpAddress    []byte `struc:"[16]byte"`
2162         SrcAddress    []byte `struc:"[16]byte"`
2163         IPPacketLen   uint16
2164         IPPacketData  []byte `struc:"[256]byte"`
2165 }
2166
2167 func (*MfibSignalDetails) GetMessageName() string {
2168         return "mfib_signal_details"
2169 }
2170 func (*MfibSignalDetails) GetMessageType() api.MessageType {
2171         return api.RequestMessage
2172 }
2173 func (*MfibSignalDetails) GetCrcString() string {
2174         return "791bbeab"
2175 }
2176 func NewMfibSignalDetails() api.Message {
2177         return &MfibSignalDetails{}
2178 }
2179
2180 // IPPuntPolice represents the VPP binary API message 'ip_punt_police'.
2181 // Generated from '../../bin_api/ip.api.json', line 1450:
2182 //
2183 //            "ip_punt_police",
2184 //            [
2185 //                "u16",
2186 //                "_vl_msg_id"
2187 //            ],
2188 //            [
2189 //                "u32",
2190 //                "client_index"
2191 //            ],
2192 //            [
2193 //                "u32",
2194 //                "context"
2195 //            ],
2196 //            [
2197 //                "u32",
2198 //                "policer_index"
2199 //            ],
2200 //            [
2201 //                "u8",
2202 //                "is_add"
2203 //            ],
2204 //            [
2205 //                "u8",
2206 //                "is_ip6"
2207 //            ],
2208 //            {
2209 //                "crc": "0x38691592"
2210 //            }
2211 //
2212 type IPPuntPolice struct {
2213         PolicerIndex uint32
2214         IsAdd        uint8
2215         IsIP6        uint8
2216 }
2217
2218 func (*IPPuntPolice) GetMessageName() string {
2219         return "ip_punt_police"
2220 }
2221 func (*IPPuntPolice) GetMessageType() api.MessageType {
2222         return api.RequestMessage
2223 }
2224 func (*IPPuntPolice) GetCrcString() string {
2225         return "38691592"
2226 }
2227 func NewIPPuntPolice() api.Message {
2228         return &IPPuntPolice{}
2229 }
2230
2231 // IPPuntPoliceReply represents the VPP binary API message 'ip_punt_police_reply'.
2232 // Generated from '../../bin_api/ip.api.json', line 1480:
2233 //
2234 //            "ip_punt_police_reply",
2235 //            [
2236 //                "u16",
2237 //                "_vl_msg_id"
2238 //            ],
2239 //            [
2240 //                "u32",
2241 //                "context"
2242 //            ],
2243 //            [
2244 //                "i32",
2245 //                "retval"
2246 //            ],
2247 //            {
2248 //                "crc": "0xe8d4e804"
2249 //            }
2250 //
2251 type IPPuntPoliceReply struct {
2252         Retval int32
2253 }
2254
2255 func (*IPPuntPoliceReply) GetMessageName() string {
2256         return "ip_punt_police_reply"
2257 }
2258 func (*IPPuntPoliceReply) GetMessageType() api.MessageType {
2259         return api.ReplyMessage
2260 }
2261 func (*IPPuntPoliceReply) GetCrcString() string {
2262         return "e8d4e804"
2263 }
2264 func NewIPPuntPoliceReply() api.Message {
2265         return &IPPuntPoliceReply{}
2266 }
2267
2268 // IPPuntRedirect represents the VPP binary API message 'ip_punt_redirect'.
2269 // Generated from '../../bin_api/ip.api.json', line 1498:
2270 //
2271 //            "ip_punt_redirect",
2272 //            [
2273 //                "u16",
2274 //                "_vl_msg_id"
2275 //            ],
2276 //            [
2277 //                "u32",
2278 //                "client_index"
2279 //            ],
2280 //            [
2281 //                "u32",
2282 //                "context"
2283 //            ],
2284 //            [
2285 //                "u32",
2286 //                "rx_sw_if_index"
2287 //            ],
2288 //            [
2289 //                "u32",
2290 //                "tx_sw_if_index"
2291 //            ],
2292 //            [
2293 //                "u8",
2294 //                "is_add"
2295 //            ],
2296 //            [
2297 //                "u8",
2298 //                "is_ip6"
2299 //            ],
2300 //            [
2301 //                "u8",
2302 //                "nh",
2303 //                16
2304 //            ],
2305 //            {
2306 //                "crc": "0x996b6603"
2307 //            }
2308 //
2309 type IPPuntRedirect struct {
2310         RxSwIfIndex uint32
2311         TxSwIfIndex uint32
2312         IsAdd       uint8
2313         IsIP6       uint8
2314         Nh          []byte `struc:"[16]byte"`
2315 }
2316
2317 func (*IPPuntRedirect) GetMessageName() string {
2318         return "ip_punt_redirect"
2319 }
2320 func (*IPPuntRedirect) GetMessageType() api.MessageType {
2321         return api.RequestMessage
2322 }
2323 func (*IPPuntRedirect) GetCrcString() string {
2324         return "996b6603"
2325 }
2326 func NewIPPuntRedirect() api.Message {
2327         return &IPPuntRedirect{}
2328 }
2329
2330 // IPPuntRedirectReply represents the VPP binary API message 'ip_punt_redirect_reply'.
2331 // Generated from '../../bin_api/ip.api.json', line 1537:
2332 //
2333 //            "ip_punt_redirect_reply",
2334 //            [
2335 //                "u16",
2336 //                "_vl_msg_id"
2337 //            ],
2338 //            [
2339 //                "u32",
2340 //                "context"
2341 //            ],
2342 //            [
2343 //                "i32",
2344 //                "retval"
2345 //            ],
2346 //            {
2347 //                "crc": "0xe8d4e804"
2348 //            }
2349 //
2350 type IPPuntRedirectReply struct {
2351         Retval int32
2352 }
2353
2354 func (*IPPuntRedirectReply) GetMessageName() string {
2355         return "ip_punt_redirect_reply"
2356 }
2357 func (*IPPuntRedirectReply) GetMessageType() api.MessageType {
2358         return api.ReplyMessage
2359 }
2360 func (*IPPuntRedirectReply) GetCrcString() string {
2361         return "e8d4e804"
2362 }
2363 func NewIPPuntRedirectReply() api.Message {
2364         return &IPPuntRedirectReply{}
2365 }
2366
2367 // IPContainerProxyAddDel represents the VPP binary API message 'ip_container_proxy_add_del'.
2368 // Generated from '../../bin_api/ip.api.json', line 1555:
2369 //
2370 //            "ip_container_proxy_add_del",
2371 //            [
2372 //                "u16",
2373 //                "_vl_msg_id"
2374 //            ],
2375 //            [
2376 //                "u32",
2377 //                "client_index"
2378 //            ],
2379 //            [
2380 //                "u32",
2381 //                "context"
2382 //            ],
2383 //            [
2384 //                "u8",
2385 //                "ip",
2386 //                16
2387 //            ],
2388 //            [
2389 //                "u8",
2390 //                "is_ip4"
2391 //            ],
2392 //            [
2393 //                "u8",
2394 //                "plen"
2395 //            ],
2396 //            [
2397 //                "u32",
2398 //                "sw_if_index"
2399 //            ],
2400 //            [
2401 //                "u8",
2402 //                "is_add"
2403 //            ],
2404 //            {
2405 //                "crc": "0x0a355d39"
2406 //            }
2407 //
2408 type IPContainerProxyAddDel struct {
2409         IP        []byte `struc:"[16]byte"`
2410         IsIP4     uint8
2411         Plen      uint8
2412         SwIfIndex uint32
2413         IsAdd     uint8
2414 }
2415
2416 func (*IPContainerProxyAddDel) GetMessageName() string {
2417         return "ip_container_proxy_add_del"
2418 }
2419 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
2420         return api.RequestMessage
2421 }
2422 func (*IPContainerProxyAddDel) GetCrcString() string {
2423         return "0a355d39"
2424 }
2425 func NewIPContainerProxyAddDel() api.Message {
2426         return &IPContainerProxyAddDel{}
2427 }
2428
2429 // IPContainerProxyAddDelReply represents the VPP binary API message 'ip_container_proxy_add_del_reply'.
2430 // Generated from '../../bin_api/ip.api.json', line 1594:
2431 //
2432 //            "ip_container_proxy_add_del_reply",
2433 //            [
2434 //                "u16",
2435 //                "_vl_msg_id"
2436 //            ],
2437 //            [
2438 //                "u32",
2439 //                "context"
2440 //            ],
2441 //            [
2442 //                "i32",
2443 //                "retval"
2444 //            ],
2445 //            {
2446 //                "crc": "0xe8d4e804"
2447 //            }
2448 //
2449 type IPContainerProxyAddDelReply struct {
2450         Retval int32
2451 }
2452
2453 func (*IPContainerProxyAddDelReply) GetMessageName() string {
2454         return "ip_container_proxy_add_del_reply"
2455 }
2456 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
2457         return api.ReplyMessage
2458 }
2459 func (*IPContainerProxyAddDelReply) GetCrcString() string {
2460         return "e8d4e804"
2461 }
2462 func NewIPContainerProxyAddDelReply() api.Message {
2463         return &IPContainerProxyAddDelReply{}
2464 }
2465
2466 // IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'.
2467 // Generated from '../../bin_api/ip.api.json', line 1612:
2468 //
2469 //            "ip_source_and_port_range_check_add_del",
2470 //            [
2471 //                "u16",
2472 //                "_vl_msg_id"
2473 //            ],
2474 //            [
2475 //                "u32",
2476 //                "client_index"
2477 //            ],
2478 //            [
2479 //                "u32",
2480 //                "context"
2481 //            ],
2482 //            [
2483 //                "u8",
2484 //                "is_ipv6"
2485 //            ],
2486 //            [
2487 //                "u8",
2488 //                "is_add"
2489 //            ],
2490 //            [
2491 //                "u8",
2492 //                "mask_length"
2493 //            ],
2494 //            [
2495 //                "u8",
2496 //                "address",
2497 //                16
2498 //            ],
2499 //            [
2500 //                "u8",
2501 //                "number_of_ranges"
2502 //            ],
2503 //            [
2504 //                "u16",
2505 //                "low_ports",
2506 //                32
2507 //            ],
2508 //            [
2509 //                "u16",
2510 //                "high_ports",
2511 //                32
2512 //            ],
2513 //            [
2514 //                "u32",
2515 //                "vrf_id"
2516 //            ],
2517 //            {
2518 //                "crc": "0x03d6b03a"
2519 //            }
2520 //
2521 type IPSourceAndPortRangeCheckAddDel struct {
2522         IsIpv6         uint8
2523         IsAdd          uint8
2524         MaskLength     uint8
2525         Address        []byte `struc:"[16]byte"`
2526         NumberOfRanges uint8
2527         LowPorts       []uint16 `struc:"[32]uint16"`
2528         HighPorts      []uint16 `struc:"[32]uint16"`
2529         VrfID          uint32
2530 }
2531
2532 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
2533         return "ip_source_and_port_range_check_add_del"
2534 }
2535 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
2536         return api.RequestMessage
2537 }
2538 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string {
2539         return "03d6b03a"
2540 }
2541 func NewIPSourceAndPortRangeCheckAddDel() api.Message {
2542         return &IPSourceAndPortRangeCheckAddDel{}
2543 }
2544
2545 // IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
2546 // Generated from '../../bin_api/ip.api.json', line 1665:
2547 //
2548 //            "ip_source_and_port_range_check_add_del_reply",
2549 //            [
2550 //                "u16",
2551 //                "_vl_msg_id"
2552 //            ],
2553 //            [
2554 //                "u32",
2555 //                "context"
2556 //            ],
2557 //            [
2558 //                "i32",
2559 //                "retval"
2560 //            ],
2561 //            {
2562 //                "crc": "0xe8d4e804"
2563 //            }
2564 //
2565 type IPSourceAndPortRangeCheckAddDelReply struct {
2566         Retval int32
2567 }
2568
2569 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
2570         return "ip_source_and_port_range_check_add_del_reply"
2571 }
2572 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
2573         return api.ReplyMessage
2574 }
2575 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string {
2576         return "e8d4e804"
2577 }
2578 func NewIPSourceAndPortRangeCheckAddDelReply() api.Message {
2579         return &IPSourceAndPortRangeCheckAddDelReply{}
2580 }
2581
2582 // IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
2583 // Generated from '../../bin_api/ip.api.json', line 1683:
2584 //
2585 //            "ip_source_and_port_range_check_interface_add_del",
2586 //            [
2587 //                "u16",
2588 //                "_vl_msg_id"
2589 //            ],
2590 //            [
2591 //                "u32",
2592 //                "client_index"
2593 //            ],
2594 //            [
2595 //                "u32",
2596 //                "context"
2597 //            ],
2598 //            [
2599 //                "u8",
2600 //                "is_add"
2601 //            ],
2602 //            [
2603 //                "u32",
2604 //                "sw_if_index"
2605 //            ],
2606 //            [
2607 //                "u32",
2608 //                "tcp_in_vrf_id"
2609 //            ],
2610 //            [
2611 //                "u32",
2612 //                "tcp_out_vrf_id"
2613 //            ],
2614 //            [
2615 //                "u32",
2616 //                "udp_in_vrf_id"
2617 //            ],
2618 //            [
2619 //                "u32",
2620 //                "udp_out_vrf_id"
2621 //            ],
2622 //            {
2623 //                "crc": "0x6966bc44"
2624 //            }
2625 //
2626 type IPSourceAndPortRangeCheckInterfaceAddDel struct {
2627         IsAdd       uint8
2628         SwIfIndex   uint32
2629         TCPInVrfID  uint32
2630         TCPOutVrfID uint32
2631         UDPInVrfID  uint32
2632         UDPOutVrfID uint32
2633 }
2634
2635 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
2636         return "ip_source_and_port_range_check_interface_add_del"
2637 }
2638 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
2639         return api.RequestMessage
2640 }
2641 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string {
2642         return "6966bc44"
2643 }
2644 func NewIPSourceAndPortRangeCheckInterfaceAddDel() api.Message {
2645         return &IPSourceAndPortRangeCheckInterfaceAddDel{}
2646 }
2647
2648 // IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
2649 // Generated from '../../bin_api/ip.api.json', line 1725:
2650 //
2651 //            "ip_source_and_port_range_check_interface_add_del_reply",
2652 //            [
2653 //                "u16",
2654 //                "_vl_msg_id"
2655 //            ],
2656 //            [
2657 //                "u32",
2658 //                "context"
2659 //            ],
2660 //            [
2661 //                "i32",
2662 //                "retval"
2663 //            ],
2664 //            {
2665 //                "crc": "0xe8d4e804"
2666 //            }
2667 //
2668 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
2669         Retval int32
2670 }
2671
2672 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
2673         return "ip_source_and_port_range_check_interface_add_del_reply"
2674 }
2675 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
2676         return api.ReplyMessage
2677 }
2678 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string {
2679         return "e8d4e804"
2680 }
2681 func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message {
2682         return &IPSourceAndPortRangeCheckInterfaceAddDelReply{}
2683 }
2684
2685 // WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'.
2686 // Generated from '../../bin_api/ip.api.json', line 1743:
2687 //
2688 //            "want_ip4_arp_events",
2689 //            [
2690 //                "u16",
2691 //                "_vl_msg_id"
2692 //            ],
2693 //            [
2694 //                "u32",
2695 //                "client_index"
2696 //            ],
2697 //            [
2698 //                "u32",
2699 //                "context"
2700 //            ],
2701 //            [
2702 //                "u8",
2703 //                "enable_disable"
2704 //            ],
2705 //            [
2706 //                "u32",
2707 //                "pid"
2708 //            ],
2709 //            [
2710 //                "u32",
2711 //                "address"
2712 //            ],
2713 //            {
2714 //                "crc": "0x77e06379"
2715 //            }
2716 //
2717 type WantIP4ArpEvents struct {
2718         EnableDisable uint8
2719         Pid           uint32
2720         Address       uint32
2721 }
2722
2723 func (*WantIP4ArpEvents) GetMessageName() string {
2724         return "want_ip4_arp_events"
2725 }
2726 func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
2727         return api.RequestMessage
2728 }
2729 func (*WantIP4ArpEvents) GetCrcString() string {
2730         return "77e06379"
2731 }
2732 func NewWantIP4ArpEvents() api.Message {
2733         return &WantIP4ArpEvents{}
2734 }
2735
2736 // WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'.
2737 // Generated from '../../bin_api/ip.api.json', line 1773:
2738 //
2739 //            "want_ip4_arp_events_reply",
2740 //            [
2741 //                "u16",
2742 //                "_vl_msg_id"
2743 //            ],
2744 //            [
2745 //                "u32",
2746 //                "context"
2747 //            ],
2748 //            [
2749 //                "i32",
2750 //                "retval"
2751 //            ],
2752 //            {
2753 //                "crc": "0xe8d4e804"
2754 //            }
2755 //
2756 type WantIP4ArpEventsReply struct {
2757         Retval int32
2758 }
2759
2760 func (*WantIP4ArpEventsReply) GetMessageName() string {
2761         return "want_ip4_arp_events_reply"
2762 }
2763 func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType {
2764         return api.ReplyMessage
2765 }
2766 func (*WantIP4ArpEventsReply) GetCrcString() string {
2767         return "e8d4e804"
2768 }
2769 func NewWantIP4ArpEventsReply() api.Message {
2770         return &WantIP4ArpEventsReply{}
2771 }
2772
2773 // IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'.
2774 // Generated from '../../bin_api/ip.api.json', line 1791:
2775 //
2776 //            "ip4_arp_event",
2777 //            [
2778 //                "u16",
2779 //                "_vl_msg_id"
2780 //            ],
2781 //            [
2782 //                "u32",
2783 //                "client_index"
2784 //            ],
2785 //            [
2786 //                "u32",
2787 //                "address"
2788 //            ],
2789 //            [
2790 //                "u32",
2791 //                "pid"
2792 //            ],
2793 //            [
2794 //                "u32",
2795 //                "sw_if_index"
2796 //            ],
2797 //            [
2798 //                "u8",
2799 //                "new_mac",
2800 //                6
2801 //            ],
2802 //            [
2803 //                "u8",
2804 //                "mac_ip"
2805 //            ],
2806 //            {
2807 //                "crc": "0xef7235f7"
2808 //            }
2809 //
2810 type IP4ArpEvent struct {
2811         Address   uint32
2812         Pid       uint32
2813         SwIfIndex uint32
2814         NewMac    []byte `struc:"[6]byte"`
2815         MacIP     uint8
2816 }
2817
2818 func (*IP4ArpEvent) GetMessageName() string {
2819         return "ip4_arp_event"
2820 }
2821 func (*IP4ArpEvent) GetMessageType() api.MessageType {
2822         return api.EventMessage
2823 }
2824 func (*IP4ArpEvent) GetCrcString() string {
2825         return "ef7235f7"
2826 }
2827 func NewIP4ArpEvent() api.Message {
2828         return &IP4ArpEvent{}
2829 }
2830
2831 // WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'.
2832 // Generated from '../../bin_api/ip.api.json', line 1826:
2833 //
2834 //            "want_ip6_nd_events",
2835 //            [
2836 //                "u16",
2837 //                "_vl_msg_id"
2838 //            ],
2839 //            [
2840 //                "u32",
2841 //                "client_index"
2842 //            ],
2843 //            [
2844 //                "u32",
2845 //                "context"
2846 //            ],
2847 //            [
2848 //                "u8",
2849 //                "enable_disable"
2850 //            ],
2851 //            [
2852 //                "u32",
2853 //                "pid"
2854 //            ],
2855 //            [
2856 //                "u8",
2857 //                "address",
2858 //                16
2859 //            ],
2860 //            {
2861 //                "crc": "0x1cf65fbb"
2862 //            }
2863 //
2864 type WantIP6NdEvents struct {
2865         EnableDisable uint8
2866         Pid           uint32
2867         Address       []byte `struc:"[16]byte"`
2868 }
2869
2870 func (*WantIP6NdEvents) GetMessageName() string {
2871         return "want_ip6_nd_events"
2872 }
2873 func (*WantIP6NdEvents) GetMessageType() api.MessageType {
2874         return api.RequestMessage
2875 }
2876 func (*WantIP6NdEvents) GetCrcString() string {
2877         return "1cf65fbb"
2878 }
2879 func NewWantIP6NdEvents() api.Message {
2880         return &WantIP6NdEvents{}
2881 }
2882
2883 // WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'.
2884 // Generated from '../../bin_api/ip.api.json', line 1857:
2885 //
2886 //            "want_ip6_nd_events_reply",
2887 //            [
2888 //                "u16",
2889 //                "_vl_msg_id"
2890 //            ],
2891 //            [
2892 //                "u32",
2893 //                "context"
2894 //            ],
2895 //            [
2896 //                "i32",
2897 //                "retval"
2898 //            ],
2899 //            {
2900 //                "crc": "0xe8d4e804"
2901 //            }
2902 //
2903 type WantIP6NdEventsReply struct {
2904         Retval int32
2905 }
2906
2907 func (*WantIP6NdEventsReply) GetMessageName() string {
2908         return "want_ip6_nd_events_reply"
2909 }
2910 func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
2911         return api.ReplyMessage
2912 }
2913 func (*WantIP6NdEventsReply) GetCrcString() string {
2914         return "e8d4e804"
2915 }
2916 func NewWantIP6NdEventsReply() api.Message {
2917         return &WantIP6NdEventsReply{}
2918 }
2919
2920 // IP6NdEvent represents the VPP binary API message 'ip6_nd_event'.
2921 // Generated from '../../bin_api/ip.api.json', line 1875:
2922 //
2923 //            "ip6_nd_event",
2924 //            [
2925 //                "u16",
2926 //                "_vl_msg_id"
2927 //            ],
2928 //            [
2929 //                "u32",
2930 //                "client_index"
2931 //            ],
2932 //            [
2933 //                "u32",
2934 //                "pid"
2935 //            ],
2936 //            [
2937 //                "u32",
2938 //                "sw_if_index"
2939 //            ],
2940 //            [
2941 //                "u8",
2942 //                "address",
2943 //                16
2944 //            ],
2945 //            [
2946 //                "u8",
2947 //                "new_mac",
2948 //                6
2949 //            ],
2950 //            [
2951 //                "u8",
2952 //                "mac_ip"
2953 //            ],
2954 //            {
2955 //                "crc": "0x96ab2fdd"
2956 //            }
2957 //
2958 type IP6NdEvent struct {
2959         Pid       uint32
2960         SwIfIndex uint32
2961         Address   []byte `struc:"[16]byte"`
2962         NewMac    []byte `struc:"[6]byte"`
2963         MacIP     uint8
2964 }
2965
2966 func (*IP6NdEvent) GetMessageName() string {
2967         return "ip6_nd_event"
2968 }
2969 func (*IP6NdEvent) GetMessageType() api.MessageType {
2970         return api.EventMessage
2971 }
2972 func (*IP6NdEvent) GetCrcString() string {
2973         return "96ab2fdd"
2974 }
2975 func NewIP6NdEvent() api.Message {
2976         return &IP6NdEvent{}
2977 }
2978
2979 // ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'.
2980 // Generated from '../../bin_api/ip.api.json', line 1911:
2981 //
2982 //            "proxy_arp_add_del",
2983 //            [
2984 //                "u16",
2985 //                "_vl_msg_id"
2986 //            ],
2987 //            [
2988 //                "u32",
2989 //                "client_index"
2990 //            ],
2991 //            [
2992 //                "u32",
2993 //                "context"
2994 //            ],
2995 //            [
2996 //                "u32",
2997 //                "vrf_id"
2998 //            ],
2999 //            [
3000 //                "u8",
3001 //                "is_add"
3002 //            ],
3003 //            [
3004 //                "u8",
3005 //                "low_address",
3006 //                4
3007 //            ],
3008 //            [
3009 //                "u8",
3010 //                "hi_address",
3011 //                4
3012 //            ],
3013 //            {
3014 //                "crc": "0xc2442918"
3015 //            }
3016 //
3017 type ProxyArpAddDel struct {
3018         VrfID      uint32
3019         IsAdd      uint8
3020         LowAddress []byte `struc:"[4]byte"`
3021         HiAddress  []byte `struc:"[4]byte"`
3022 }
3023
3024 func (*ProxyArpAddDel) GetMessageName() string {
3025         return "proxy_arp_add_del"
3026 }
3027 func (*ProxyArpAddDel) GetMessageType() api.MessageType {
3028         return api.RequestMessage
3029 }
3030 func (*ProxyArpAddDel) GetCrcString() string {
3031         return "c2442918"
3032 }
3033 func NewProxyArpAddDel() api.Message {
3034         return &ProxyArpAddDel{}
3035 }
3036
3037 // ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'.
3038 // Generated from '../../bin_api/ip.api.json', line 1947:
3039 //
3040 //            "proxy_arp_add_del_reply",
3041 //            [
3042 //                "u16",
3043 //                "_vl_msg_id"
3044 //            ],
3045 //            [
3046 //                "u32",
3047 //                "context"
3048 //            ],
3049 //            [
3050 //                "i32",
3051 //                "retval"
3052 //            ],
3053 //            {
3054 //                "crc": "0xe8d4e804"
3055 //            }
3056 //
3057 type ProxyArpAddDelReply struct {
3058         Retval int32
3059 }
3060
3061 func (*ProxyArpAddDelReply) GetMessageName() string {
3062         return "proxy_arp_add_del_reply"
3063 }
3064 func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
3065         return api.ReplyMessage
3066 }
3067 func (*ProxyArpAddDelReply) GetCrcString() string {
3068         return "e8d4e804"
3069 }
3070 func NewProxyArpAddDelReply() api.Message {
3071         return &ProxyArpAddDelReply{}
3072 }
3073
3074 // ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'.
3075 // Generated from '../../bin_api/ip.api.json', line 1965:
3076 //
3077 //            "proxy_arp_intfc_enable_disable",
3078 //            [
3079 //                "u16",
3080 //                "_vl_msg_id"
3081 //            ],
3082 //            [
3083 //                "u32",
3084 //                "client_index"
3085 //            ],
3086 //            [
3087 //                "u32",
3088 //                "context"
3089 //            ],
3090 //            [
3091 //                "u32",
3092 //                "sw_if_index"
3093 //            ],
3094 //            [
3095 //                "u8",
3096 //                "enable_disable"
3097 //            ],
3098 //            {
3099 //                "crc": "0x69d24598"
3100 //            }
3101 //
3102 type ProxyArpIntfcEnableDisable struct {
3103         SwIfIndex     uint32
3104         EnableDisable uint8
3105 }
3106
3107 func (*ProxyArpIntfcEnableDisable) GetMessageName() string {
3108         return "proxy_arp_intfc_enable_disable"
3109 }
3110 func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
3111         return api.RequestMessage
3112 }
3113 func (*ProxyArpIntfcEnableDisable) GetCrcString() string {
3114         return "69d24598"
3115 }
3116 func NewProxyArpIntfcEnableDisable() api.Message {
3117         return &ProxyArpIntfcEnableDisable{}
3118 }
3119
3120 // ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'.
3121 // Generated from '../../bin_api/ip.api.json', line 1991:
3122 //
3123 //            "proxy_arp_intfc_enable_disable_reply",
3124 //            [
3125 //                "u16",
3126 //                "_vl_msg_id"
3127 //            ],
3128 //            [
3129 //                "u32",
3130 //                "context"
3131 //            ],
3132 //            [
3133 //                "i32",
3134 //                "retval"
3135 //            ],
3136 //            {
3137 //                "crc": "0xe8d4e804"
3138 //            }
3139 //
3140 type ProxyArpIntfcEnableDisableReply struct {
3141         Retval int32
3142 }
3143
3144 func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string {
3145         return "proxy_arp_intfc_enable_disable_reply"
3146 }
3147 func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
3148         return api.ReplyMessage
3149 }
3150 func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string {
3151         return "e8d4e804"
3152 }
3153 func NewProxyArpIntfcEnableDisableReply() api.Message {
3154         return &ProxyArpIntfcEnableDisableReply{}
3155 }
3156
3157 // ResetFib represents the VPP binary API message 'reset_fib'.
3158 // Generated from '../../bin_api/ip.api.json', line 2009:
3159 //
3160 //            "reset_fib",
3161 //            [
3162 //                "u16",
3163 //                "_vl_msg_id"
3164 //            ],
3165 //            [
3166 //                "u32",
3167 //                "client_index"
3168 //            ],
3169 //            [
3170 //                "u32",
3171 //                "context"
3172 //            ],
3173 //            [
3174 //                "u32",
3175 //                "vrf_id"
3176 //            ],
3177 //            [
3178 //                "u8",
3179 //                "is_ipv6"
3180 //            ],
3181 //            {
3182 //                "crc": "0x8553ebd9"
3183 //            }
3184 //
3185 type ResetFib struct {
3186         VrfID  uint32
3187         IsIpv6 uint8
3188 }
3189
3190 func (*ResetFib) GetMessageName() string {
3191         return "reset_fib"
3192 }
3193 func (*ResetFib) GetMessageType() api.MessageType {
3194         return api.RequestMessage
3195 }
3196 func (*ResetFib) GetCrcString() string {
3197         return "8553ebd9"
3198 }
3199 func NewResetFib() api.Message {
3200         return &ResetFib{}
3201 }
3202
3203 // ResetFibReply represents the VPP binary API message 'reset_fib_reply'.
3204 // Generated from '../../bin_api/ip.api.json', line 2035:
3205 //
3206 //            "reset_fib_reply",
3207 //            [
3208 //                "u16",
3209 //                "_vl_msg_id"
3210 //            ],
3211 //            [
3212 //                "u32",
3213 //                "context"
3214 //            ],
3215 //            [
3216 //                "i32",
3217 //                "retval"
3218 //            ],
3219 //            {
3220 //                "crc": "0xe8d4e804"
3221 //            }
3222 //
3223 type ResetFibReply struct {
3224         Retval int32
3225 }
3226
3227 func (*ResetFibReply) GetMessageName() string {
3228         return "reset_fib_reply"
3229 }
3230 func (*ResetFibReply) GetMessageType() api.MessageType {
3231         return api.ReplyMessage
3232 }
3233 func (*ResetFibReply) GetCrcString() string {
3234         return "e8d4e804"
3235 }
3236 func NewResetFibReply() api.Message {
3237         return &ResetFibReply{}
3238 }
3239
3240 // SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'.
3241 // Generated from '../../bin_api/ip.api.json', line 2053:
3242 //
3243 //            "set_arp_neighbor_limit",
3244 //            [
3245 //                "u16",
3246 //                "_vl_msg_id"
3247 //            ],
3248 //            [
3249 //                "u32",
3250 //                "client_index"
3251 //            ],
3252 //            [
3253 //                "u32",
3254 //                "context"
3255 //            ],
3256 //            [
3257 //                "u8",
3258 //                "is_ipv6"
3259 //            ],
3260 //            [
3261 //                "u32",
3262 //                "arp_neighbor_limit"
3263 //            ],
3264 //            {
3265 //                "crc": "0x97d01fd6"
3266 //            }
3267 //
3268 type SetArpNeighborLimit struct {
3269         IsIpv6           uint8
3270         ArpNeighborLimit uint32
3271 }
3272
3273 func (*SetArpNeighborLimit) GetMessageName() string {
3274         return "set_arp_neighbor_limit"
3275 }
3276 func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
3277         return api.RequestMessage
3278 }
3279 func (*SetArpNeighborLimit) GetCrcString() string {
3280         return "97d01fd6"
3281 }
3282 func NewSetArpNeighborLimit() api.Message {
3283         return &SetArpNeighborLimit{}
3284 }
3285
3286 // SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'.
3287 // Generated from '../../bin_api/ip.api.json', line 2079:
3288 //
3289 //            "set_arp_neighbor_limit_reply",
3290 //            [
3291 //                "u16",
3292 //                "_vl_msg_id"
3293 //            ],
3294 //            [
3295 //                "u32",
3296 //                "context"
3297 //            ],
3298 //            [
3299 //                "i32",
3300 //                "retval"
3301 //            ],
3302 //            {
3303 //                "crc": "0xe8d4e804"
3304 //            }
3305 //
3306 type SetArpNeighborLimitReply struct {
3307         Retval int32
3308 }
3309
3310 func (*SetArpNeighborLimitReply) GetMessageName() string {
3311         return "set_arp_neighbor_limit_reply"
3312 }
3313 func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
3314         return api.ReplyMessage
3315 }
3316 func (*SetArpNeighborLimitReply) GetCrcString() string {
3317         return "e8d4e804"
3318 }
3319 func NewSetArpNeighborLimitReply() api.Message {
3320         return &SetArpNeighborLimitReply{}
3321 }
3322
3323 // IoamEnable represents the VPP binary API message 'ioam_enable'.
3324 // Generated from '../../bin_api/ip.api.json', line 2097:
3325 //
3326 //            "ioam_enable",
3327 //            [
3328 //                "u16",
3329 //                "_vl_msg_id"
3330 //            ],
3331 //            [
3332 //                "u32",
3333 //                "client_index"
3334 //            ],
3335 //            [
3336 //                "u32",
3337 //                "context"
3338 //            ],
3339 //            [
3340 //                "u16",
3341 //                "id"
3342 //            ],
3343 //            [
3344 //                "u8",
3345 //                "seqno"
3346 //            ],
3347 //            [
3348 //                "u8",
3349 //                "analyse"
3350 //            ],
3351 //            [
3352 //                "u8",
3353 //                "pot_enable"
3354 //            ],
3355 //            [
3356 //                "u8",
3357 //                "trace_enable"
3358 //            ],
3359 //            [
3360 //                "u32",
3361 //                "node_id"
3362 //            ],
3363 //            {
3364 //                "crc": "0x9392e032"
3365 //            }
3366 //
3367 type IoamEnable struct {
3368         ID          uint16
3369         Seqno       uint8
3370         Analyse     uint8
3371         PotEnable   uint8
3372         TraceEnable uint8
3373         NodeID      uint32
3374 }
3375
3376 func (*IoamEnable) GetMessageName() string {
3377         return "ioam_enable"
3378 }
3379 func (*IoamEnable) GetMessageType() api.MessageType {
3380         return api.RequestMessage
3381 }
3382 func (*IoamEnable) GetCrcString() string {
3383         return "9392e032"
3384 }
3385 func NewIoamEnable() api.Message {
3386         return &IoamEnable{}
3387 }
3388
3389 // IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'.
3390 // Generated from '../../bin_api/ip.api.json', line 2139:
3391 //
3392 //            "ioam_enable_reply",
3393 //            [
3394 //                "u16",
3395 //                "_vl_msg_id"
3396 //            ],
3397 //            [
3398 //                "u32",
3399 //                "context"
3400 //            ],
3401 //            [
3402 //                "i32",
3403 //                "retval"
3404 //            ],
3405 //            {
3406 //                "crc": "0xe8d4e804"
3407 //            }
3408 //
3409 type IoamEnableReply struct {
3410         Retval int32
3411 }
3412
3413 func (*IoamEnableReply) GetMessageName() string {
3414         return "ioam_enable_reply"
3415 }
3416 func (*IoamEnableReply) GetMessageType() api.MessageType {
3417         return api.ReplyMessage
3418 }
3419 func (*IoamEnableReply) GetCrcString() string {
3420         return "e8d4e804"
3421 }
3422 func NewIoamEnableReply() api.Message {
3423         return &IoamEnableReply{}
3424 }
3425
3426 // IoamDisable represents the VPP binary API message 'ioam_disable'.
3427 // Generated from '../../bin_api/ip.api.json', line 2157:
3428 //
3429 //            "ioam_disable",
3430 //            [
3431 //                "u16",
3432 //                "_vl_msg_id"
3433 //            ],
3434 //            [
3435 //                "u32",
3436 //                "client_index"
3437 //            ],
3438 //            [
3439 //                "u32",
3440 //                "context"
3441 //            ],
3442 //            [
3443 //                "u16",
3444 //                "id"
3445 //            ],
3446 //            {
3447 //                "crc": "0x6b16a45e"
3448 //            }
3449 //
3450 type IoamDisable struct {
3451         ID uint16
3452 }
3453
3454 func (*IoamDisable) GetMessageName() string {
3455         return "ioam_disable"
3456 }
3457 func (*IoamDisable) GetMessageType() api.MessageType {
3458         return api.RequestMessage
3459 }
3460 func (*IoamDisable) GetCrcString() string {
3461         return "6b16a45e"
3462 }
3463 func NewIoamDisable() api.Message {
3464         return &IoamDisable{}
3465 }
3466
3467 // IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'.
3468 // Generated from '../../bin_api/ip.api.json', line 2179:
3469 //
3470 //            "ioam_disable_reply",
3471 //            [
3472 //                "u16",
3473 //                "_vl_msg_id"
3474 //            ],
3475 //            [
3476 //                "u32",
3477 //                "context"
3478 //            ],
3479 //            [
3480 //                "i32",
3481 //                "retval"
3482 //            ],
3483 //            {
3484 //                "crc": "0xe8d4e804"
3485 //            }
3486 //
3487 type IoamDisableReply struct {
3488         Retval int32
3489 }
3490
3491 func (*IoamDisableReply) GetMessageName() string {
3492         return "ioam_disable_reply"
3493 }
3494 func (*IoamDisableReply) GetMessageType() api.MessageType {
3495         return api.ReplyMessage
3496 }
3497 func (*IoamDisableReply) GetCrcString() string {
3498         return "e8d4e804"
3499 }
3500 func NewIoamDisableReply() api.Message {
3501         return &IoamDisableReply{}
3502 }