Simplify subscribing to events and fix events
[govpp.git] / examples / bin_api / ip / ip.ba.go
1 // Code generated by GoVPP binapi-generator. DO NOT EDIT.
2 // source: ip.api.json
3
4 /*
5 Package ip is a generated VPP binary API of the 'ip' VPP module.
6
7 It is generated from this file:
8         ip.api.json
9
10 It contains these VPP binary API objects:
11         87 messages
12         8 types
13         1 enum
14         1 union
15         42 services
16 */
17 package ip
18
19 import "git.fd.io/govpp.git/api"
20 import "github.com/lunixbochs/struc"
21 import "bytes"
22
23 // Reference imports to suppress errors if they are not otherwise used.
24 var _ = api.RegisterMessage
25 var _ = struc.Pack
26 var _ = bytes.NewBuffer
27
28 /* Enums */
29
30 // AddressFamily represents the VPP binary API enum 'address_family'.
31 // Generated from 'ip.api.json', line 2727:
32 //
33 //            "address_family",
34 //            [
35 //                "ADDRESS_IP4",
36 //                0
37 //            ],
38 //            [
39 //                "ADDRESS_IP6",
40 //                1
41 //            ],
42 //            {
43 //                "enumtype": "u32"
44 //            }
45 //
46 type AddressFamily uint32
47
48 const (
49         ADDRESS_IP4 AddressFamily = 0
50         ADDRESS_IP6 AddressFamily = 1
51 )
52
53 /* Types */
54
55 // IP4Address represents the VPP binary API type 'ip4_address'.
56 // Generated from 'ip.api.json', line 2743:
57 //
58 //            "ip4_address",
59 //            [
60 //                "u8",
61 //                "address",
62 //                4
63 //            ],
64 //            {
65 //                "crc": "0xfc4baa28"
66 //            }
67 //
68 type IP4Address struct {
69         Address []byte `struc:"[4]byte"`
70 }
71
72 func (*IP4Address) GetTypeName() string {
73         return "ip4_address"
74 }
75 func (*IP4Address) GetCrcString() string {
76         return "fc4baa28"
77 }
78
79 // IP6Address represents the VPP binary API type 'ip6_address'.
80 // Generated from 'ip.api.json', line 2754:
81 //
82 //            "ip6_address",
83 //            [
84 //                "u8",
85 //                "address",
86 //                16
87 //            ],
88 //            {
89 //                "crc": "0xad99ccc2"
90 //            }
91 //
92 type IP6Address struct {
93         Address []byte `struc:"[16]byte"`
94 }
95
96 func (*IP6Address) GetTypeName() string {
97         return "ip6_address"
98 }
99 func (*IP6Address) GetCrcString() string {
100         return "ad99ccc2"
101 }
102
103 // Address represents the VPP binary API type 'address'.
104 // Generated from 'ip.api.json', line 2765:
105 //
106 //            "address",
107 //            [
108 //                "vl_api_address_family_t",
109 //                "af"
110 //            ],
111 //            [
112 //                "vl_api_address_union_t",
113 //                "un"
114 //            ],
115 //            {
116 //                "crc": "0x09f11671"
117 //            }
118 //
119 type Address struct {
120         Af AddressFamily
121         Un AddressUnion
122 }
123
124 func (*Address) GetTypeName() string {
125         return "address"
126 }
127 func (*Address) GetCrcString() string {
128         return "09f11671"
129 }
130
131 // Prefix represents the VPP binary API type 'prefix'.
132 // Generated from 'ip.api.json', line 2779:
133 //
134 //            "prefix",
135 //            [
136 //                "vl_api_address_t",
137 //                "address"
138 //            ],
139 //            [
140 //                "u8",
141 //                "address_length"
142 //            ],
143 //            {
144 //                "crc": "0x0403aebc"
145 //            }
146 //
147 type Prefix struct {
148         Address       Address
149         AddressLength uint8
150 }
151
152 func (*Prefix) GetTypeName() string {
153         return "prefix"
154 }
155 func (*Prefix) GetCrcString() string {
156         return "0403aebc"
157 }
158
159 // FibMplsLabel represents the VPP binary API type 'fib_mpls_label'.
160 // Generated from 'ip.api.json', line 2793:
161 //
162 //            "fib_mpls_label",
163 //            [
164 //                "u8",
165 //                "is_uniform"
166 //            ],
167 //            [
168 //                "u32",
169 //                "label"
170 //            ],
171 //            [
172 //                "u8",
173 //                "ttl"
174 //            ],
175 //            [
176 //                "u8",
177 //                "exp"
178 //            ],
179 //            {
180 //                "crc": "0xc93bf35c"
181 //            }
182 //
183 type FibMplsLabel struct {
184         IsUniform uint8
185         Label     uint32
186         TTL       uint8
187         Exp       uint8
188 }
189
190 func (*FibMplsLabel) GetTypeName() string {
191         return "fib_mpls_label"
192 }
193 func (*FibMplsLabel) GetCrcString() string {
194         return "c93bf35c"
195 }
196
197 // FibPath represents the VPP binary API type 'fib_path'.
198 // Generated from 'ip.api.json', line 2815:
199 //
200 //            "fib_path",
201 //            [
202 //                "u32",
203 //                "sw_if_index"
204 //            ],
205 //            [
206 //                "u32",
207 //                "table_id"
208 //            ],
209 //            [
210 //                "u8",
211 //                "weight"
212 //            ],
213 //            [
214 //                "u8",
215 //                "preference"
216 //            ],
217 //            [
218 //                "u8",
219 //                "is_local"
220 //            ],
221 //            [
222 //                "u8",
223 //                "is_drop"
224 //            ],
225 //            [
226 //                "u8",
227 //                "is_udp_encap"
228 //            ],
229 //            [
230 //                "u8",
231 //                "is_unreach"
232 //            ],
233 //            [
234 //                "u8",
235 //                "is_prohibit"
236 //            ],
237 //            [
238 //                "u8",
239 //                "is_resolve_host"
240 //            ],
241 //            [
242 //                "u8",
243 //                "is_resolve_attached"
244 //            ],
245 //            [
246 //                "u8",
247 //                "is_dvr"
248 //            ],
249 //            [
250 //                "u8",
251 //                "is_source_lookup"
252 //            ],
253 //            [
254 //                "u8",
255 //                "afi"
256 //            ],
257 //            [
258 //                "u8",
259 //                "next_hop",
260 //                16
261 //            ],
262 //            [
263 //                "u32",
264 //                "next_hop_id"
265 //            ],
266 //            [
267 //                "u32",
268 //                "rpf_id"
269 //            ],
270 //            [
271 //                "u32",
272 //                "via_label"
273 //            ],
274 //            [
275 //                "u8",
276 //                "n_labels"
277 //            ],
278 //            [
279 //                "vl_api_fib_mpls_label_t",
280 //                "label_stack",
281 //                16
282 //            ],
283 //            {
284 //                "crc": "0xabe483ef"
285 //            }
286 //
287 type FibPath struct {
288         SwIfIndex         uint32
289         TableID           uint32
290         Weight            uint8
291         Preference        uint8
292         IsLocal           uint8
293         IsDrop            uint8
294         IsUDPEncap        uint8
295         IsUnreach         uint8
296         IsProhibit        uint8
297         IsResolveHost     uint8
298         IsResolveAttached uint8
299         IsDvr             uint8
300         IsSourceLookup    uint8
301         Afi               uint8
302         NextHop           []byte `struc:"[16]byte"`
303         NextHopID         uint32
304         RpfID             uint32
305         ViaLabel          uint32
306         NLabels           uint8
307         LabelStack        []FibMplsLabel `struc:"[16]FibMplsLabel"`
308 }
309
310 func (*FibPath) GetTypeName() string {
311         return "fib_path"
312 }
313 func (*FibPath) GetCrcString() string {
314         return "abe483ef"
315 }
316
317 // IP6RaPrefixInfo represents the VPP binary API type 'ip6_ra_prefix_info'.
318 // Generated from 'ip.api.json', line 2903:
319 //
320 //            "ip6_ra_prefix_info",
321 //            [
322 //                "u8",
323 //                "dst_address",
324 //                16
325 //            ],
326 //            [
327 //                "u8",
328 //                "dst_address_length"
329 //            ],
330 //            [
331 //                "u8",
332 //                "flags"
333 //            ],
334 //            [
335 //                "u32",
336 //                "valid_time"
337 //            ],
338 //            [
339 //                "u32",
340 //                "preferred_time"
341 //            ],
342 //            {
343 //                "crc": "0x83d7c6e5"
344 //            }
345 //
346 type IP6RaPrefixInfo struct {
347         DstAddress       []byte `struc:"[16]byte"`
348         DstAddressLength uint8
349         Flags            uint8
350         ValidTime        uint32
351         PreferredTime    uint32
352 }
353
354 func (*IP6RaPrefixInfo) GetTypeName() string {
355         return "ip6_ra_prefix_info"
356 }
357 func (*IP6RaPrefixInfo) GetCrcString() string {
358         return "83d7c6e5"
359 }
360
361 // ProxyArp represents the VPP binary API type 'proxy_arp'.
362 // Generated from 'ip.api.json', line 2930:
363 //
364 //            "proxy_arp",
365 //            [
366 //                "u32",
367 //                "vrf_id"
368 //            ],
369 //            [
370 //                "u8",
371 //                "low_address",
372 //                4
373 //            ],
374 //            [
375 //                "u8",
376 //                "hi_address",
377 //                4
378 //            ],
379 //            {
380 //                "crc": "0x6d88106e"
381 //            }
382 //
383 type ProxyArp struct {
384         VrfID      uint32
385         LowAddress []byte `struc:"[4]byte"`
386         HiAddress  []byte `struc:"[4]byte"`
387 }
388
389 func (*ProxyArp) GetTypeName() string {
390         return "proxy_arp"
391 }
392 func (*ProxyArp) GetCrcString() string {
393         return "6d88106e"
394 }
395
396 /* Unions */
397
398 // AddressUnion represents the VPP binary API union 'address_union'.
399 // Generated from 'ip.api.json', line 2562:
400 //
401 //            "address_union",
402 //            [
403 //                "vl_api_ip4_address_t",
404 //                "ip4"
405 //            ],
406 //            [
407 //                "vl_api_ip6_address_t",
408 //                "ip6"
409 //            ],
410 //            {
411 //                "crc": "0xd68a2fb4"
412 //            }
413 //
414 type AddressUnion struct {
415         Union_data [16]byte
416 }
417
418 func (*AddressUnion) GetTypeName() string {
419         return "address_union"
420 }
421 func (*AddressUnion) GetCrcString() string {
422         return "d68a2fb4"
423 }
424
425 func (u *AddressUnion) SetIP4(a IP4Address) {
426         var b = new(bytes.Buffer)
427         if err := struc.Pack(b, &a); err != nil {
428                 return
429         }
430         copy(u.Union_data[:], b.Bytes())
431 }
432 func (u *AddressUnion) GetIP4() (a IP4Address) {
433         var b = bytes.NewReader(u.Union_data[:])
434         struc.Unpack(b, &a)
435         return
436 }
437
438 func (u *AddressUnion) SetIP6(a IP6Address) {
439         var b = new(bytes.Buffer)
440         if err := struc.Pack(b, &a); err != nil {
441                 return
442         }
443         copy(u.Union_data[:], b.Bytes())
444 }
445 func (u *AddressUnion) GetIP6() (a IP6Address) {
446         var b = bytes.NewReader(u.Union_data[:])
447         struc.Unpack(b, &a)
448         return
449 }
450
451 /* Messages */
452
453 // IPTableAddDel represents the VPP binary API message 'ip_table_add_del'.
454 // Generated from 'ip.api.json', line 4:
455 //
456 //            "ip_table_add_del",
457 //            [
458 //                "u16",
459 //                "_vl_msg_id"
460 //            ],
461 //            [
462 //                "u32",
463 //                "client_index"
464 //            ],
465 //            [
466 //                "u32",
467 //                "context"
468 //            ],
469 //            [
470 //                "u32",
471 //                "table_id"
472 //            ],
473 //            [
474 //                "u8",
475 //                "is_ipv6"
476 //            ],
477 //            [
478 //                "u8",
479 //                "is_add"
480 //            ],
481 //            [
482 //                "u8",
483 //                "name",
484 //                64
485 //            ],
486 //            {
487 //                "crc": "0x0240c89d"
488 //            }
489 //
490 type IPTableAddDel struct {
491         TableID uint32
492         IsIPv6  uint8
493         IsAdd   uint8
494         Name    []byte `struc:"[64]byte"`
495 }
496
497 func (*IPTableAddDel) GetMessageName() string {
498         return "ip_table_add_del"
499 }
500 func (*IPTableAddDel) GetCrcString() string {
501         return "0240c89d"
502 }
503 func (*IPTableAddDel) GetMessageType() api.MessageType {
504         return api.RequestMessage
505 }
506 func NewIPTableAddDel() api.Message {
507         return &IPTableAddDel{}
508 }
509
510 // IPTableAddDelReply represents the VPP binary API message 'ip_table_add_del_reply'.
511 // Generated from 'ip.api.json', line 39:
512 //
513 //            "ip_table_add_del_reply",
514 //            [
515 //                "u16",
516 //                "_vl_msg_id"
517 //            ],
518 //            [
519 //                "u32",
520 //                "context"
521 //            ],
522 //            [
523 //                "i32",
524 //                "retval"
525 //            ],
526 //            {
527 //                "crc": "0xe8d4e804"
528 //            }
529 //
530 type IPTableAddDelReply struct {
531         Retval int32
532 }
533
534 func (*IPTableAddDelReply) GetMessageName() string {
535         return "ip_table_add_del_reply"
536 }
537 func (*IPTableAddDelReply) GetCrcString() string {
538         return "e8d4e804"
539 }
540 func (*IPTableAddDelReply) GetMessageType() api.MessageType {
541         return api.ReplyMessage
542 }
543 func NewIPTableAddDelReply() api.Message {
544         return &IPTableAddDelReply{}
545 }
546
547 // IPFibDump represents the VPP binary API message 'ip_fib_dump'.
548 // Generated from 'ip.api.json', line 57:
549 //
550 //            "ip_fib_dump",
551 //            [
552 //                "u16",
553 //                "_vl_msg_id"
554 //            ],
555 //            [
556 //                "u32",
557 //                "client_index"
558 //            ],
559 //            [
560 //                "u32",
561 //                "context"
562 //            ],
563 //            {
564 //                "crc": "0x51077d14"
565 //            }
566 //
567 type IPFibDump struct{}
568
569 func (*IPFibDump) GetMessageName() string {
570         return "ip_fib_dump"
571 }
572 func (*IPFibDump) GetCrcString() string {
573         return "51077d14"
574 }
575 func (*IPFibDump) GetMessageType() api.MessageType {
576         return api.RequestMessage
577 }
578 func NewIPFibDump() api.Message {
579         return &IPFibDump{}
580 }
581
582 // IPFibDetails represents the VPP binary API message 'ip_fib_details'.
583 // Generated from 'ip.api.json', line 75:
584 //
585 //            "ip_fib_details",
586 //            [
587 //                "u16",
588 //                "_vl_msg_id"
589 //            ],
590 //            [
591 //                "u32",
592 //                "context"
593 //            ],
594 //            [
595 //                "u32",
596 //                "table_id"
597 //            ],
598 //            [
599 //                "u8",
600 //                "table_name",
601 //                64
602 //            ],
603 //            [
604 //                "u8",
605 //                "address_length"
606 //            ],
607 //            [
608 //                "u8",
609 //                "address",
610 //                4
611 //            ],
612 //            [
613 //                "u32",
614 //                "count"
615 //            ],
616 //            [
617 //                "vl_api_fib_path_t",
618 //                "path",
619 //                0,
620 //                "count"
621 //            ],
622 //            {
623 //                "crc": "0x99dfd73b"
624 //            }
625 //
626 type IPFibDetails struct {
627         TableID       uint32
628         TableName     []byte `struc:"[64]byte"`
629         AddressLength uint8
630         Address       []byte `struc:"[4]byte"`
631         Count         uint32 `struc:"sizeof=Path"`
632         Path          []FibPath
633 }
634
635 func (*IPFibDetails) GetMessageName() string {
636         return "ip_fib_details"
637 }
638 func (*IPFibDetails) GetCrcString() string {
639         return "99dfd73b"
640 }
641 func (*IPFibDetails) GetMessageType() api.MessageType {
642         return api.ReplyMessage
643 }
644 func NewIPFibDetails() api.Message {
645         return &IPFibDetails{}
646 }
647
648 // IP6FibDump represents the VPP binary API message 'ip6_fib_dump'.
649 // Generated from 'ip.api.json', line 117:
650 //
651 //            "ip6_fib_dump",
652 //            [
653 //                "u16",
654 //                "_vl_msg_id"
655 //            ],
656 //            [
657 //                "u32",
658 //                "client_index"
659 //            ],
660 //            [
661 //                "u32",
662 //                "context"
663 //            ],
664 //            {
665 //                "crc": "0x51077d14"
666 //            }
667 //
668 type IP6FibDump struct{}
669
670 func (*IP6FibDump) GetMessageName() string {
671         return "ip6_fib_dump"
672 }
673 func (*IP6FibDump) GetCrcString() string {
674         return "51077d14"
675 }
676 func (*IP6FibDump) GetMessageType() api.MessageType {
677         return api.RequestMessage
678 }
679 func NewIP6FibDump() api.Message {
680         return &IP6FibDump{}
681 }
682
683 // IP6FibDetails represents the VPP binary API message 'ip6_fib_details'.
684 // Generated from 'ip.api.json', line 135:
685 //
686 //            "ip6_fib_details",
687 //            [
688 //                "u16",
689 //                "_vl_msg_id"
690 //            ],
691 //            [
692 //                "u32",
693 //                "context"
694 //            ],
695 //            [
696 //                "u32",
697 //                "table_id"
698 //            ],
699 //            [
700 //                "u8",
701 //                "table_name",
702 //                64
703 //            ],
704 //            [
705 //                "u8",
706 //                "address_length"
707 //            ],
708 //            [
709 //                "u8",
710 //                "address",
711 //                16
712 //            ],
713 //            [
714 //                "u32",
715 //                "count"
716 //            ],
717 //            [
718 //                "vl_api_fib_path_t",
719 //                "path",
720 //                0,
721 //                "count"
722 //            ],
723 //            {
724 //                "crc": "0xabd0060e"
725 //            }
726 //
727 type IP6FibDetails struct {
728         TableID       uint32
729         TableName     []byte `struc:"[64]byte"`
730         AddressLength uint8
731         Address       []byte `struc:"[16]byte"`
732         Count         uint32 `struc:"sizeof=Path"`
733         Path          []FibPath
734 }
735
736 func (*IP6FibDetails) GetMessageName() string {
737         return "ip6_fib_details"
738 }
739 func (*IP6FibDetails) GetCrcString() string {
740         return "abd0060e"
741 }
742 func (*IP6FibDetails) GetMessageType() api.MessageType {
743         return api.ReplyMessage
744 }
745 func NewIP6FibDetails() api.Message {
746         return &IP6FibDetails{}
747 }
748
749 // IPNeighborDump represents the VPP binary API message 'ip_neighbor_dump'.
750 // Generated from 'ip.api.json', line 177:
751 //
752 //            "ip_neighbor_dump",
753 //            [
754 //                "u16",
755 //                "_vl_msg_id"
756 //            ],
757 //            [
758 //                "u32",
759 //                "client_index"
760 //            ],
761 //            [
762 //                "u32",
763 //                "context"
764 //            ],
765 //            [
766 //                "u32",
767 //                "sw_if_index"
768 //            ],
769 //            [
770 //                "u8",
771 //                "is_ipv6"
772 //            ],
773 //            {
774 //                "crc": "0x6b7bcd0a"
775 //            }
776 //
777 type IPNeighborDump struct {
778         SwIfIndex uint32
779         IsIPv6    uint8
780 }
781
782 func (*IPNeighborDump) GetMessageName() string {
783         return "ip_neighbor_dump"
784 }
785 func (*IPNeighborDump) GetCrcString() string {
786         return "6b7bcd0a"
787 }
788 func (*IPNeighborDump) GetMessageType() api.MessageType {
789         return api.RequestMessage
790 }
791 func NewIPNeighborDump() api.Message {
792         return &IPNeighborDump{}
793 }
794
795 // IPNeighborDetails represents the VPP binary API message 'ip_neighbor_details'.
796 // Generated from 'ip.api.json', line 203:
797 //
798 //            "ip_neighbor_details",
799 //            [
800 //                "u16",
801 //                "_vl_msg_id"
802 //            ],
803 //            [
804 //                "u32",
805 //                "context"
806 //            ],
807 //            [
808 //                "u32",
809 //                "sw_if_index"
810 //            ],
811 //            [
812 //                "u8",
813 //                "is_static"
814 //            ],
815 //            [
816 //                "u8",
817 //                "is_ipv6"
818 //            ],
819 //            [
820 //                "u8",
821 //                "mac_address",
822 //                6
823 //            ],
824 //            [
825 //                "u8",
826 //                "ip_address",
827 //                16
828 //            ],
829 //            {
830 //                "crc": "0x85e32a72"
831 //            }
832 //
833 type IPNeighborDetails struct {
834         SwIfIndex  uint32
835         IsStatic   uint8
836         IsIPv6     uint8
837         MacAddress []byte `struc:"[6]byte"`
838         IPAddress  []byte `struc:"[16]byte"`
839 }
840
841 func (*IPNeighborDetails) GetMessageName() string {
842         return "ip_neighbor_details"
843 }
844 func (*IPNeighborDetails) GetCrcString() string {
845         return "85e32a72"
846 }
847 func (*IPNeighborDetails) GetMessageType() api.MessageType {
848         return api.ReplyMessage
849 }
850 func NewIPNeighborDetails() api.Message {
851         return &IPNeighborDetails{}
852 }
853
854 // IPNeighborAddDel represents the VPP binary API message 'ip_neighbor_add_del'.
855 // Generated from 'ip.api.json', line 239:
856 //
857 //            "ip_neighbor_add_del",
858 //            [
859 //                "u16",
860 //                "_vl_msg_id"
861 //            ],
862 //            [
863 //                "u32",
864 //                "client_index"
865 //            ],
866 //            [
867 //                "u32",
868 //                "context"
869 //            ],
870 //            [
871 //                "u32",
872 //                "sw_if_index"
873 //            ],
874 //            [
875 //                "u8",
876 //                "is_add"
877 //            ],
878 //            [
879 //                "u8",
880 //                "is_ipv6"
881 //            ],
882 //            [
883 //                "u8",
884 //                "is_static"
885 //            ],
886 //            [
887 //                "u8",
888 //                "is_no_adj_fib"
889 //            ],
890 //            [
891 //                "u8",
892 //                "mac_address",
893 //                6
894 //            ],
895 //            [
896 //                "u8",
897 //                "dst_address",
898 //                16
899 //            ],
900 //            {
901 //                "crc": "0x4711eb25"
902 //            }
903 //
904 type IPNeighborAddDel struct {
905         SwIfIndex  uint32
906         IsAdd      uint8
907         IsIPv6     uint8
908         IsStatic   uint8
909         IsNoAdjFib uint8
910         MacAddress []byte `struc:"[6]byte"`
911         DstAddress []byte `struc:"[16]byte"`
912 }
913
914 func (*IPNeighborAddDel) GetMessageName() string {
915         return "ip_neighbor_add_del"
916 }
917 func (*IPNeighborAddDel) GetCrcString() string {
918         return "4711eb25"
919 }
920 func (*IPNeighborAddDel) GetMessageType() api.MessageType {
921         return api.RequestMessage
922 }
923 func NewIPNeighborAddDel() api.Message {
924         return &IPNeighborAddDel{}
925 }
926
927 // IPNeighborAddDelReply represents the VPP binary API message 'ip_neighbor_add_del_reply'.
928 // Generated from 'ip.api.json', line 287:
929 //
930 //            "ip_neighbor_add_del_reply",
931 //            [
932 //                "u16",
933 //                "_vl_msg_id"
934 //            ],
935 //            [
936 //                "u32",
937 //                "context"
938 //            ],
939 //            [
940 //                "i32",
941 //                "retval"
942 //            ],
943 //            {
944 //                "crc": "0xe8d4e804"
945 //            }
946 //
947 type IPNeighborAddDelReply struct {
948         Retval int32
949 }
950
951 func (*IPNeighborAddDelReply) GetMessageName() string {
952         return "ip_neighbor_add_del_reply"
953 }
954 func (*IPNeighborAddDelReply) GetCrcString() string {
955         return "e8d4e804"
956 }
957 func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
958         return api.ReplyMessage
959 }
960 func NewIPNeighborAddDelReply() api.Message {
961         return &IPNeighborAddDelReply{}
962 }
963
964 // SetIPFlowHash represents the VPP binary API message 'set_ip_flow_hash'.
965 // Generated from 'ip.api.json', line 305:
966 //
967 //            "set_ip_flow_hash",
968 //            [
969 //                "u16",
970 //                "_vl_msg_id"
971 //            ],
972 //            [
973 //                "u32",
974 //                "client_index"
975 //            ],
976 //            [
977 //                "u32",
978 //                "context"
979 //            ],
980 //            [
981 //                "u32",
982 //                "vrf_id"
983 //            ],
984 //            [
985 //                "u8",
986 //                "is_ipv6"
987 //            ],
988 //            [
989 //                "u8",
990 //                "src"
991 //            ],
992 //            [
993 //                "u8",
994 //                "dst"
995 //            ],
996 //            [
997 //                "u8",
998 //                "sport"
999 //            ],
1000 //            [
1001 //                "u8",
1002 //                "dport"
1003 //            ],
1004 //            [
1005 //                "u8",
1006 //                "proto"
1007 //            ],
1008 //            [
1009 //                "u8",
1010 //                "reverse"
1011 //            ],
1012 //            {
1013 //                "crc": "0x32ebf737"
1014 //            }
1015 //
1016 type SetIPFlowHash struct {
1017         VrfID   uint32
1018         IsIPv6  uint8
1019         Src     uint8
1020         Dst     uint8
1021         Sport   uint8
1022         Dport   uint8
1023         Proto   uint8
1024         Reverse uint8
1025 }
1026
1027 func (*SetIPFlowHash) GetMessageName() string {
1028         return "set_ip_flow_hash"
1029 }
1030 func (*SetIPFlowHash) GetCrcString() string {
1031         return "32ebf737"
1032 }
1033 func (*SetIPFlowHash) GetMessageType() api.MessageType {
1034         return api.RequestMessage
1035 }
1036 func NewSetIPFlowHash() api.Message {
1037         return &SetIPFlowHash{}
1038 }
1039
1040 // SetIPFlowHashReply represents the VPP binary API message 'set_ip_flow_hash_reply'.
1041 // Generated from 'ip.api.json', line 355:
1042 //
1043 //            "set_ip_flow_hash_reply",
1044 //            [
1045 //                "u16",
1046 //                "_vl_msg_id"
1047 //            ],
1048 //            [
1049 //                "u32",
1050 //                "context"
1051 //            ],
1052 //            [
1053 //                "i32",
1054 //                "retval"
1055 //            ],
1056 //            {
1057 //                "crc": "0xe8d4e804"
1058 //            }
1059 //
1060 type SetIPFlowHashReply struct {
1061         Retval int32
1062 }
1063
1064 func (*SetIPFlowHashReply) GetMessageName() string {
1065         return "set_ip_flow_hash_reply"
1066 }
1067 func (*SetIPFlowHashReply) GetCrcString() string {
1068         return "e8d4e804"
1069 }
1070 func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
1071         return api.ReplyMessage
1072 }
1073 func NewSetIPFlowHashReply() api.Message {
1074         return &SetIPFlowHashReply{}
1075 }
1076
1077 // SwInterfaceIP6ndRaConfig represents the VPP binary API message 'sw_interface_ip6nd_ra_config'.
1078 // Generated from 'ip.api.json', line 373:
1079 //
1080 //            "sw_interface_ip6nd_ra_config",
1081 //            [
1082 //                "u16",
1083 //                "_vl_msg_id"
1084 //            ],
1085 //            [
1086 //                "u32",
1087 //                "client_index"
1088 //            ],
1089 //            [
1090 //                "u32",
1091 //                "context"
1092 //            ],
1093 //            [
1094 //                "u32",
1095 //                "sw_if_index"
1096 //            ],
1097 //            [
1098 //                "u8",
1099 //                "suppress"
1100 //            ],
1101 //            [
1102 //                "u8",
1103 //                "managed"
1104 //            ],
1105 //            [
1106 //                "u8",
1107 //                "other"
1108 //            ],
1109 //            [
1110 //                "u8",
1111 //                "ll_option"
1112 //            ],
1113 //            [
1114 //                "u8",
1115 //                "send_unicast"
1116 //            ],
1117 //            [
1118 //                "u8",
1119 //                "cease"
1120 //            ],
1121 //            [
1122 //                "u8",
1123 //                "is_no"
1124 //            ],
1125 //            [
1126 //                "u8",
1127 //                "default_router"
1128 //            ],
1129 //            [
1130 //                "u32",
1131 //                "max_interval"
1132 //            ],
1133 //            [
1134 //                "u32",
1135 //                "min_interval"
1136 //            ],
1137 //            [
1138 //                "u32",
1139 //                "lifetime"
1140 //            ],
1141 //            [
1142 //                "u32",
1143 //                "initial_count"
1144 //            ],
1145 //            [
1146 //                "u32",
1147 //                "initial_interval"
1148 //            ],
1149 //            {
1150 //                "crc": "0xc3f02daa"
1151 //            }
1152 //
1153 type SwInterfaceIP6ndRaConfig struct {
1154         SwIfIndex       uint32
1155         Suppress        uint8
1156         Managed         uint8
1157         Other           uint8
1158         LlOption        uint8
1159         SendUnicast     uint8
1160         Cease           uint8
1161         IsNo            uint8
1162         DefaultRouter   uint8
1163         MaxInterval     uint32
1164         MinInterval     uint32
1165         Lifetime        uint32
1166         InitialCount    uint32
1167         InitialInterval uint32
1168 }
1169
1170 func (*SwInterfaceIP6ndRaConfig) GetMessageName() string {
1171         return "sw_interface_ip6nd_ra_config"
1172 }
1173 func (*SwInterfaceIP6ndRaConfig) GetCrcString() string {
1174         return "c3f02daa"
1175 }
1176 func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
1177         return api.RequestMessage
1178 }
1179 func NewSwInterfaceIP6ndRaConfig() api.Message {
1180         return &SwInterfaceIP6ndRaConfig{}
1181 }
1182
1183 // SwInterfaceIP6ndRaConfigReply represents the VPP binary API message 'sw_interface_ip6nd_ra_config_reply'.
1184 // Generated from 'ip.api.json', line 447:
1185 //
1186 //            "sw_interface_ip6nd_ra_config_reply",
1187 //            [
1188 //                "u16",
1189 //                "_vl_msg_id"
1190 //            ],
1191 //            [
1192 //                "u32",
1193 //                "context"
1194 //            ],
1195 //            [
1196 //                "i32",
1197 //                "retval"
1198 //            ],
1199 //            {
1200 //                "crc": "0xe8d4e804"
1201 //            }
1202 //
1203 type SwInterfaceIP6ndRaConfigReply struct {
1204         Retval int32
1205 }
1206
1207 func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
1208         return "sw_interface_ip6nd_ra_config_reply"
1209 }
1210 func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string {
1211         return "e8d4e804"
1212 }
1213 func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
1214         return api.ReplyMessage
1215 }
1216 func NewSwInterfaceIP6ndRaConfigReply() api.Message {
1217         return &SwInterfaceIP6ndRaConfigReply{}
1218 }
1219
1220 // SwInterfaceIP6ndRaPrefix represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix'.
1221 // Generated from 'ip.api.json', line 465:
1222 //
1223 //            "sw_interface_ip6nd_ra_prefix",
1224 //            [
1225 //                "u16",
1226 //                "_vl_msg_id"
1227 //            ],
1228 //            [
1229 //                "u32",
1230 //                "client_index"
1231 //            ],
1232 //            [
1233 //                "u32",
1234 //                "context"
1235 //            ],
1236 //            [
1237 //                "u32",
1238 //                "sw_if_index"
1239 //            ],
1240 //            [
1241 //                "u8",
1242 //                "address",
1243 //                16
1244 //            ],
1245 //            [
1246 //                "u8",
1247 //                "address_length"
1248 //            ],
1249 //            [
1250 //                "u8",
1251 //                "use_default"
1252 //            ],
1253 //            [
1254 //                "u8",
1255 //                "no_advertise"
1256 //            ],
1257 //            [
1258 //                "u8",
1259 //                "off_link"
1260 //            ],
1261 //            [
1262 //                "u8",
1263 //                "no_autoconfig"
1264 //            ],
1265 //            [
1266 //                "u8",
1267 //                "no_onlink"
1268 //            ],
1269 //            [
1270 //                "u8",
1271 //                "is_no"
1272 //            ],
1273 //            [
1274 //                "u32",
1275 //                "val_lifetime"
1276 //            ],
1277 //            [
1278 //                "u32",
1279 //                "pref_lifetime"
1280 //            ],
1281 //            {
1282 //                "crc": "0xca763c9a"
1283 //            }
1284 //
1285 type SwInterfaceIP6ndRaPrefix struct {
1286         SwIfIndex     uint32
1287         Address       []byte `struc:"[16]byte"`
1288         AddressLength uint8
1289         UseDefault    uint8
1290         NoAdvertise   uint8
1291         OffLink       uint8
1292         NoAutoconfig  uint8
1293         NoOnlink      uint8
1294         IsNo          uint8
1295         ValLifetime   uint32
1296         PrefLifetime  uint32
1297 }
1298
1299 func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string {
1300         return "sw_interface_ip6nd_ra_prefix"
1301 }
1302 func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string {
1303         return "ca763c9a"
1304 }
1305 func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
1306         return api.RequestMessage
1307 }
1308 func NewSwInterfaceIP6ndRaPrefix() api.Message {
1309         return &SwInterfaceIP6ndRaPrefix{}
1310 }
1311
1312 // SwInterfaceIP6ndRaPrefixReply represents the VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply'.
1313 // Generated from 'ip.api.json', line 528:
1314 //
1315 //            "sw_interface_ip6nd_ra_prefix_reply",
1316 //            [
1317 //                "u16",
1318 //                "_vl_msg_id"
1319 //            ],
1320 //            [
1321 //                "u32",
1322 //                "context"
1323 //            ],
1324 //            [
1325 //                "i32",
1326 //                "retval"
1327 //            ],
1328 //            {
1329 //                "crc": "0xe8d4e804"
1330 //            }
1331 //
1332 type SwInterfaceIP6ndRaPrefixReply struct {
1333         Retval int32
1334 }
1335
1336 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
1337         return "sw_interface_ip6nd_ra_prefix_reply"
1338 }
1339 func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string {
1340         return "e8d4e804"
1341 }
1342 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
1343         return api.ReplyMessage
1344 }
1345 func NewSwInterfaceIP6ndRaPrefixReply() api.Message {
1346         return &SwInterfaceIP6ndRaPrefixReply{}
1347 }
1348
1349 // IP6ndProxyAddDel represents the VPP binary API message 'ip6nd_proxy_add_del'.
1350 // Generated from 'ip.api.json', line 546:
1351 //
1352 //            "ip6nd_proxy_add_del",
1353 //            [
1354 //                "u16",
1355 //                "_vl_msg_id"
1356 //            ],
1357 //            [
1358 //                "u32",
1359 //                "client_index"
1360 //            ],
1361 //            [
1362 //                "u32",
1363 //                "context"
1364 //            ],
1365 //            [
1366 //                "u32",
1367 //                "sw_if_index"
1368 //            ],
1369 //            [
1370 //                "u8",
1371 //                "is_del"
1372 //            ],
1373 //            [
1374 //                "u8",
1375 //                "address",
1376 //                16
1377 //            ],
1378 //            {
1379 //                "crc": "0xd95f0fa0"
1380 //            }
1381 //
1382 type IP6ndProxyAddDel struct {
1383         SwIfIndex uint32
1384         IsDel     uint8
1385         Address   []byte `struc:"[16]byte"`
1386 }
1387
1388 func (*IP6ndProxyAddDel) GetMessageName() string {
1389         return "ip6nd_proxy_add_del"
1390 }
1391 func (*IP6ndProxyAddDel) GetCrcString() string {
1392         return "d95f0fa0"
1393 }
1394 func (*IP6ndProxyAddDel) GetMessageType() api.MessageType {
1395         return api.RequestMessage
1396 }
1397 func NewIP6ndProxyAddDel() api.Message {
1398         return &IP6ndProxyAddDel{}
1399 }
1400
1401 // IP6ndProxyAddDelReply represents the VPP binary API message 'ip6nd_proxy_add_del_reply'.
1402 // Generated from 'ip.api.json', line 577:
1403 //
1404 //            "ip6nd_proxy_add_del_reply",
1405 //            [
1406 //                "u16",
1407 //                "_vl_msg_id"
1408 //            ],
1409 //            [
1410 //                "u32",
1411 //                "context"
1412 //            ],
1413 //            [
1414 //                "i32",
1415 //                "retval"
1416 //            ],
1417 //            {
1418 //                "crc": "0xe8d4e804"
1419 //            }
1420 //
1421 type IP6ndProxyAddDelReply struct {
1422         Retval int32
1423 }
1424
1425 func (*IP6ndProxyAddDelReply) GetMessageName() string {
1426         return "ip6nd_proxy_add_del_reply"
1427 }
1428 func (*IP6ndProxyAddDelReply) GetCrcString() string {
1429         return "e8d4e804"
1430 }
1431 func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType {
1432         return api.ReplyMessage
1433 }
1434 func NewIP6ndProxyAddDelReply() api.Message {
1435         return &IP6ndProxyAddDelReply{}
1436 }
1437
1438 // IP6ndProxyDetails represents the VPP binary API message 'ip6nd_proxy_details'.
1439 // Generated from 'ip.api.json', line 595:
1440 //
1441 //            "ip6nd_proxy_details",
1442 //            [
1443 //                "u16",
1444 //                "_vl_msg_id"
1445 //            ],
1446 //            [
1447 //                "u32",
1448 //                "client_index"
1449 //            ],
1450 //            [
1451 //                "u32",
1452 //                "context"
1453 //            ],
1454 //            [
1455 //                "u32",
1456 //                "sw_if_index"
1457 //            ],
1458 //            [
1459 //                "u8",
1460 //                "address",
1461 //                16
1462 //            ],
1463 //            {
1464 //                "crc": "0xd73bf1ab"
1465 //            }
1466 //
1467 type IP6ndProxyDetails struct {
1468         SwIfIndex uint32
1469         Address   []byte `struc:"[16]byte"`
1470 }
1471
1472 func (*IP6ndProxyDetails) GetMessageName() string {
1473         return "ip6nd_proxy_details"
1474 }
1475 func (*IP6ndProxyDetails) GetCrcString() string {
1476         return "d73bf1ab"
1477 }
1478 func (*IP6ndProxyDetails) GetMessageType() api.MessageType {
1479         return api.RequestMessage
1480 }
1481 func NewIP6ndProxyDetails() api.Message {
1482         return &IP6ndProxyDetails{}
1483 }
1484
1485 // IP6ndProxyDump represents the VPP binary API message 'ip6nd_proxy_dump'.
1486 // Generated from 'ip.api.json', line 622:
1487 //
1488 //            "ip6nd_proxy_dump",
1489 //            [
1490 //                "u16",
1491 //                "_vl_msg_id"
1492 //            ],
1493 //            [
1494 //                "u32",
1495 //                "client_index"
1496 //            ],
1497 //            [
1498 //                "u32",
1499 //                "context"
1500 //            ],
1501 //            {
1502 //                "crc": "0x51077d14"
1503 //            }
1504 //
1505 type IP6ndProxyDump struct{}
1506
1507 func (*IP6ndProxyDump) GetMessageName() string {
1508         return "ip6nd_proxy_dump"
1509 }
1510 func (*IP6ndProxyDump) GetCrcString() string {
1511         return "51077d14"
1512 }
1513 func (*IP6ndProxyDump) GetMessageType() api.MessageType {
1514         return api.RequestMessage
1515 }
1516 func NewIP6ndProxyDump() api.Message {
1517         return &IP6ndProxyDump{}
1518 }
1519
1520 // IP6ndSendRouterSolicitation represents the VPP binary API message 'ip6nd_send_router_solicitation'.
1521 // Generated from 'ip.api.json', line 640:
1522 //
1523 //            "ip6nd_send_router_solicitation",
1524 //            [
1525 //                "u16",
1526 //                "_vl_msg_id"
1527 //            ],
1528 //            [
1529 //                "u32",
1530 //                "client_index"
1531 //            ],
1532 //            [
1533 //                "u32",
1534 //                "context"
1535 //            ],
1536 //            [
1537 //                "u32",
1538 //                "irt"
1539 //            ],
1540 //            [
1541 //                "u32",
1542 //                "mrt"
1543 //            ],
1544 //            [
1545 //                "u32",
1546 //                "mrc"
1547 //            ],
1548 //            [
1549 //                "u32",
1550 //                "mrd"
1551 //            ],
1552 //            [
1553 //                "u32",
1554 //                "sw_if_index"
1555 //            ],
1556 //            [
1557 //                "u8",
1558 //                "stop"
1559 //            ],
1560 //            {
1561 //                "crc": "0xbd968917"
1562 //            }
1563 //
1564 type IP6ndSendRouterSolicitation struct {
1565         Irt       uint32
1566         Mrt       uint32
1567         Mrc       uint32
1568         Mrd       uint32
1569         SwIfIndex uint32
1570         Stop      uint8
1571 }
1572
1573 func (*IP6ndSendRouterSolicitation) GetMessageName() string {
1574         return "ip6nd_send_router_solicitation"
1575 }
1576 func (*IP6ndSendRouterSolicitation) GetCrcString() string {
1577         return "bd968917"
1578 }
1579 func (*IP6ndSendRouterSolicitation) GetMessageType() api.MessageType {
1580         return api.RequestMessage
1581 }
1582 func NewIP6ndSendRouterSolicitation() api.Message {
1583         return &IP6ndSendRouterSolicitation{}
1584 }
1585
1586 // IP6ndSendRouterSolicitationReply represents the VPP binary API message 'ip6nd_send_router_solicitation_reply'.
1587 // Generated from 'ip.api.json', line 682:
1588 //
1589 //            "ip6nd_send_router_solicitation_reply",
1590 //            [
1591 //                "u16",
1592 //                "_vl_msg_id"
1593 //            ],
1594 //            [
1595 //                "u32",
1596 //                "context"
1597 //            ],
1598 //            [
1599 //                "i32",
1600 //                "retval"
1601 //            ],
1602 //            {
1603 //                "crc": "0xe8d4e804"
1604 //            }
1605 //
1606 type IP6ndSendRouterSolicitationReply struct {
1607         Retval int32
1608 }
1609
1610 func (*IP6ndSendRouterSolicitationReply) GetMessageName() string {
1611         return "ip6nd_send_router_solicitation_reply"
1612 }
1613 func (*IP6ndSendRouterSolicitationReply) GetCrcString() string {
1614         return "e8d4e804"
1615 }
1616 func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType {
1617         return api.ReplyMessage
1618 }
1619 func NewIP6ndSendRouterSolicitationReply() api.Message {
1620         return &IP6ndSendRouterSolicitationReply{}
1621 }
1622
1623 // SwInterfaceIP6EnableDisable represents the VPP binary API message 'sw_interface_ip6_enable_disable'.
1624 // Generated from 'ip.api.json', line 700:
1625 //
1626 //            "sw_interface_ip6_enable_disable",
1627 //            [
1628 //                "u16",
1629 //                "_vl_msg_id"
1630 //            ],
1631 //            [
1632 //                "u32",
1633 //                "client_index"
1634 //            ],
1635 //            [
1636 //                "u32",
1637 //                "context"
1638 //            ],
1639 //            [
1640 //                "u32",
1641 //                "sw_if_index"
1642 //            ],
1643 //            [
1644 //                "u8",
1645 //                "enable"
1646 //            ],
1647 //            {
1648 //                "crc": "0xa36fadc0"
1649 //            }
1650 //
1651 type SwInterfaceIP6EnableDisable struct {
1652         SwIfIndex uint32
1653         Enable    uint8
1654 }
1655
1656 func (*SwInterfaceIP6EnableDisable) GetMessageName() string {
1657         return "sw_interface_ip6_enable_disable"
1658 }
1659 func (*SwInterfaceIP6EnableDisable) GetCrcString() string {
1660         return "a36fadc0"
1661 }
1662 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType {
1663         return api.RequestMessage
1664 }
1665 func NewSwInterfaceIP6EnableDisable() api.Message {
1666         return &SwInterfaceIP6EnableDisable{}
1667 }
1668
1669 // SwInterfaceIP6EnableDisableReply represents the VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
1670 // Generated from 'ip.api.json', line 726:
1671 //
1672 //            "sw_interface_ip6_enable_disable_reply",
1673 //            [
1674 //                "u16",
1675 //                "_vl_msg_id"
1676 //            ],
1677 //            [
1678 //                "u32",
1679 //                "context"
1680 //            ],
1681 //            [
1682 //                "i32",
1683 //                "retval"
1684 //            ],
1685 //            {
1686 //                "crc": "0xe8d4e804"
1687 //            }
1688 //
1689 type SwInterfaceIP6EnableDisableReply struct {
1690         Retval int32
1691 }
1692
1693 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
1694         return "sw_interface_ip6_enable_disable_reply"
1695 }
1696 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string {
1697         return "e8d4e804"
1698 }
1699 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType {
1700         return api.ReplyMessage
1701 }
1702 func NewSwInterfaceIP6EnableDisableReply() api.Message {
1703         return &SwInterfaceIP6EnableDisableReply{}
1704 }
1705
1706 // SwInterfaceIP6SetLinkLocalAddress represents the VPP binary API message 'sw_interface_ip6_set_link_local_address'.
1707 // Generated from 'ip.api.json', line 744:
1708 //
1709 //            "sw_interface_ip6_set_link_local_address",
1710 //            [
1711 //                "u16",
1712 //                "_vl_msg_id"
1713 //            ],
1714 //            [
1715 //                "u32",
1716 //                "client_index"
1717 //            ],
1718 //            [
1719 //                "u32",
1720 //                "context"
1721 //            ],
1722 //            [
1723 //                "u32",
1724 //                "sw_if_index"
1725 //            ],
1726 //            [
1727 //                "u8",
1728 //                "address",
1729 //                16
1730 //            ],
1731 //            {
1732 //                "crc": "0xd73bf1ab"
1733 //            }
1734 //
1735 type SwInterfaceIP6SetLinkLocalAddress struct {
1736         SwIfIndex uint32
1737         Address   []byte `struc:"[16]byte"`
1738 }
1739
1740 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string {
1741         return "sw_interface_ip6_set_link_local_address"
1742 }
1743 func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string {
1744         return "d73bf1ab"
1745 }
1746 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType {
1747         return api.RequestMessage
1748 }
1749 func NewSwInterfaceIP6SetLinkLocalAddress() api.Message {
1750         return &SwInterfaceIP6SetLinkLocalAddress{}
1751 }
1752
1753 // SwInterfaceIP6SetLinkLocalAddressReply represents the VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'.
1754 // Generated from 'ip.api.json', line 771:
1755 //
1756 //            "sw_interface_ip6_set_link_local_address_reply",
1757 //            [
1758 //                "u16",
1759 //                "_vl_msg_id"
1760 //            ],
1761 //            [
1762 //                "u32",
1763 //                "context"
1764 //            ],
1765 //            [
1766 //                "i32",
1767 //                "retval"
1768 //            ],
1769 //            {
1770 //                "crc": "0xe8d4e804"
1771 //            }
1772 //
1773 type SwInterfaceIP6SetLinkLocalAddressReply struct {
1774         Retval int32
1775 }
1776
1777 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string {
1778         return "sw_interface_ip6_set_link_local_address_reply"
1779 }
1780 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string {
1781         return "e8d4e804"
1782 }
1783 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType {
1784         return api.ReplyMessage
1785 }
1786 func NewSwInterfaceIP6SetLinkLocalAddressReply() api.Message {
1787         return &SwInterfaceIP6SetLinkLocalAddressReply{}
1788 }
1789
1790 // IPAddDelRoute represents the VPP binary API message 'ip_add_del_route'.
1791 // Generated from 'ip.api.json', line 789:
1792 //
1793 //            "ip_add_del_route",
1794 //            [
1795 //                "u16",
1796 //                "_vl_msg_id"
1797 //            ],
1798 //            [
1799 //                "u32",
1800 //                "client_index"
1801 //            ],
1802 //            [
1803 //                "u32",
1804 //                "context"
1805 //            ],
1806 //            [
1807 //                "u32",
1808 //                "next_hop_sw_if_index"
1809 //            ],
1810 //            [
1811 //                "u32",
1812 //                "table_id"
1813 //            ],
1814 //            [
1815 //                "u32",
1816 //                "classify_table_index"
1817 //            ],
1818 //            [
1819 //                "u32",
1820 //                "next_hop_table_id"
1821 //            ],
1822 //            [
1823 //                "u32",
1824 //                "next_hop_id"
1825 //            ],
1826 //            [
1827 //                "u8",
1828 //                "is_add"
1829 //            ],
1830 //            [
1831 //                "u8",
1832 //                "is_drop"
1833 //            ],
1834 //            [
1835 //                "u8",
1836 //                "is_unreach"
1837 //            ],
1838 //            [
1839 //                "u8",
1840 //                "is_prohibit"
1841 //            ],
1842 //            [
1843 //                "u8",
1844 //                "is_ipv6"
1845 //            ],
1846 //            [
1847 //                "u8",
1848 //                "is_local"
1849 //            ],
1850 //            [
1851 //                "u8",
1852 //                "is_classify"
1853 //            ],
1854 //            [
1855 //                "u8",
1856 //                "is_multipath"
1857 //            ],
1858 //            [
1859 //                "u8",
1860 //                "is_resolve_host"
1861 //            ],
1862 //            [
1863 //                "u8",
1864 //                "is_resolve_attached"
1865 //            ],
1866 //            [
1867 //                "u8",
1868 //                "is_dvr"
1869 //            ],
1870 //            [
1871 //                "u8",
1872 //                "is_source_lookup"
1873 //            ],
1874 //            [
1875 //                "u8",
1876 //                "is_udp_encap"
1877 //            ],
1878 //            [
1879 //                "u8",
1880 //                "next_hop_weight"
1881 //            ],
1882 //            [
1883 //                "u8",
1884 //                "next_hop_preference"
1885 //            ],
1886 //            [
1887 //                "u8",
1888 //                "next_hop_proto"
1889 //            ],
1890 //            [
1891 //                "u8",
1892 //                "dst_address_length"
1893 //            ],
1894 //            [
1895 //                "u8",
1896 //                "dst_address",
1897 //                16
1898 //            ],
1899 //            [
1900 //                "u8",
1901 //                "next_hop_address",
1902 //                16
1903 //            ],
1904 //            [
1905 //                "u8",
1906 //                "next_hop_n_out_labels"
1907 //            ],
1908 //            [
1909 //                "u32",
1910 //                "next_hop_via_label"
1911 //            ],
1912 //            [
1913 //                "vl_api_fib_mpls_label_t",
1914 //                "next_hop_out_label_stack",
1915 //                0,
1916 //                "next_hop_n_out_labels"
1917 //            ],
1918 //            {
1919 //                "crc": "0x4219d62d"
1920 //            }
1921 //
1922 type IPAddDelRoute struct {
1923         NextHopSwIfIndex     uint32
1924         TableID              uint32
1925         ClassifyTableIndex   uint32
1926         NextHopTableID       uint32
1927         NextHopID            uint32
1928         IsAdd                uint8
1929         IsDrop               uint8
1930         IsUnreach            uint8
1931         IsProhibit           uint8
1932         IsIPv6               uint8
1933         IsLocal              uint8
1934         IsClassify           uint8
1935         IsMultipath          uint8
1936         IsResolveHost        uint8
1937         IsResolveAttached    uint8
1938         IsDvr                uint8
1939         IsSourceLookup       uint8
1940         IsUDPEncap           uint8
1941         NextHopWeight        uint8
1942         NextHopPreference    uint8
1943         NextHopProto         uint8
1944         DstAddressLength     uint8
1945         DstAddress           []byte `struc:"[16]byte"`
1946         NextHopAddress       []byte `struc:"[16]byte"`
1947         NextHopNOutLabels    uint8  `struc:"sizeof=NextHopOutLabelStack"`
1948         NextHopViaLabel      uint32
1949         NextHopOutLabelStack []FibMplsLabel
1950 }
1951
1952 func (*IPAddDelRoute) GetMessageName() string {
1953         return "ip_add_del_route"
1954 }
1955 func (*IPAddDelRoute) GetCrcString() string {
1956         return "4219d62d"
1957 }
1958 func (*IPAddDelRoute) GetMessageType() api.MessageType {
1959         return api.RequestMessage
1960 }
1961 func NewIPAddDelRoute() api.Message {
1962         return &IPAddDelRoute{}
1963 }
1964
1965 // IPAddDelRouteReply represents the VPP binary API message 'ip_add_del_route_reply'.
1966 // Generated from 'ip.api.json', line 919:
1967 //
1968 //            "ip_add_del_route_reply",
1969 //            [
1970 //                "u16",
1971 //                "_vl_msg_id"
1972 //            ],
1973 //            [
1974 //                "u32",
1975 //                "context"
1976 //            ],
1977 //            [
1978 //                "i32",
1979 //                "retval"
1980 //            ],
1981 //            {
1982 //                "crc": "0xe8d4e804"
1983 //            }
1984 //
1985 type IPAddDelRouteReply struct {
1986         Retval int32
1987 }
1988
1989 func (*IPAddDelRouteReply) GetMessageName() string {
1990         return "ip_add_del_route_reply"
1991 }
1992 func (*IPAddDelRouteReply) GetCrcString() string {
1993         return "e8d4e804"
1994 }
1995 func (*IPAddDelRouteReply) GetMessageType() api.MessageType {
1996         return api.ReplyMessage
1997 }
1998 func NewIPAddDelRouteReply() api.Message {
1999         return &IPAddDelRouteReply{}
2000 }
2001
2002 // IPMrouteAddDel represents the VPP binary API message 'ip_mroute_add_del'.
2003 // Generated from 'ip.api.json', line 937:
2004 //
2005 //            "ip_mroute_add_del",
2006 //            [
2007 //                "u16",
2008 //                "_vl_msg_id"
2009 //            ],
2010 //            [
2011 //                "u32",
2012 //                "client_index"
2013 //            ],
2014 //            [
2015 //                "u32",
2016 //                "context"
2017 //            ],
2018 //            [
2019 //                "u32",
2020 //                "next_hop_sw_if_index"
2021 //            ],
2022 //            [
2023 //                "u32",
2024 //                "table_id"
2025 //            ],
2026 //            [
2027 //                "u32",
2028 //                "entry_flags"
2029 //            ],
2030 //            [
2031 //                "u32",
2032 //                "itf_flags"
2033 //            ],
2034 //            [
2035 //                "u32",
2036 //                "rpf_id"
2037 //            ],
2038 //            [
2039 //                "u32",
2040 //                "bier_imp"
2041 //            ],
2042 //            [
2043 //                "u16",
2044 //                "grp_address_length"
2045 //            ],
2046 //            [
2047 //                "u8",
2048 //                "next_hop_afi"
2049 //            ],
2050 //            [
2051 //                "u8",
2052 //                "is_add"
2053 //            ],
2054 //            [
2055 //                "u8",
2056 //                "is_ipv6"
2057 //            ],
2058 //            [
2059 //                "u8",
2060 //                "is_local"
2061 //            ],
2062 //            [
2063 //                "u8",
2064 //                "grp_address",
2065 //                16
2066 //            ],
2067 //            [
2068 //                "u8",
2069 //                "src_address",
2070 //                16
2071 //            ],
2072 //            [
2073 //                "u8",
2074 //                "nh_address",
2075 //                16
2076 //            ],
2077 //            {
2078 //                "crc": "0xf44c17b1"
2079 //            }
2080 //
2081 type IPMrouteAddDel struct {
2082         NextHopSwIfIndex uint32
2083         TableID          uint32
2084         EntryFlags       uint32
2085         ItfFlags         uint32
2086         RpfID            uint32
2087         BierImp          uint32
2088         GrpAddressLength uint16
2089         NextHopAfi       uint8
2090         IsAdd            uint8
2091         IsIPv6           uint8
2092         IsLocal          uint8
2093         GrpAddress       []byte `struc:"[16]byte"`
2094         SrcAddress       []byte `struc:"[16]byte"`
2095         NhAddress        []byte `struc:"[16]byte"`
2096 }
2097
2098 func (*IPMrouteAddDel) GetMessageName() string {
2099         return "ip_mroute_add_del"
2100 }
2101 func (*IPMrouteAddDel) GetCrcString() string {
2102         return "f44c17b1"
2103 }
2104 func (*IPMrouteAddDel) GetMessageType() api.MessageType {
2105         return api.RequestMessage
2106 }
2107 func NewIPMrouteAddDel() api.Message {
2108         return &IPMrouteAddDel{}
2109 }
2110
2111 // IPMrouteAddDelReply represents the VPP binary API message 'ip_mroute_add_del_reply'.
2112 // Generated from 'ip.api.json', line 1014:
2113 //
2114 //            "ip_mroute_add_del_reply",
2115 //            [
2116 //                "u16",
2117 //                "_vl_msg_id"
2118 //            ],
2119 //            [
2120 //                "u32",
2121 //                "context"
2122 //            ],
2123 //            [
2124 //                "i32",
2125 //                "retval"
2126 //            ],
2127 //            {
2128 //                "crc": "0xe8d4e804"
2129 //            }
2130 //
2131 type IPMrouteAddDelReply struct {
2132         Retval int32
2133 }
2134
2135 func (*IPMrouteAddDelReply) GetMessageName() string {
2136         return "ip_mroute_add_del_reply"
2137 }
2138 func (*IPMrouteAddDelReply) GetCrcString() string {
2139         return "e8d4e804"
2140 }
2141 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
2142         return api.ReplyMessage
2143 }
2144 func NewIPMrouteAddDelReply() api.Message {
2145         return &IPMrouteAddDelReply{}
2146 }
2147
2148 // IPMfibDump represents the VPP binary API message 'ip_mfib_dump'.
2149 // Generated from 'ip.api.json', line 1032:
2150 //
2151 //            "ip_mfib_dump",
2152 //            [
2153 //                "u16",
2154 //                "_vl_msg_id"
2155 //            ],
2156 //            [
2157 //                "u32",
2158 //                "client_index"
2159 //            ],
2160 //            [
2161 //                "u32",
2162 //                "context"
2163 //            ],
2164 //            {
2165 //                "crc": "0x51077d14"
2166 //            }
2167 //
2168 type IPMfibDump struct{}
2169
2170 func (*IPMfibDump) GetMessageName() string {
2171         return "ip_mfib_dump"
2172 }
2173 func (*IPMfibDump) GetCrcString() string {
2174         return "51077d14"
2175 }
2176 func (*IPMfibDump) GetMessageType() api.MessageType {
2177         return api.RequestMessage
2178 }
2179 func NewIPMfibDump() api.Message {
2180         return &IPMfibDump{}
2181 }
2182
2183 // IPMfibDetails represents the VPP binary API message 'ip_mfib_details'.
2184 // Generated from 'ip.api.json', line 1050:
2185 //
2186 //            "ip_mfib_details",
2187 //            [
2188 //                "u16",
2189 //                "_vl_msg_id"
2190 //            ],
2191 //            [
2192 //                "u32",
2193 //                "context"
2194 //            ],
2195 //            [
2196 //                "u32",
2197 //                "table_id"
2198 //            ],
2199 //            [
2200 //                "u32",
2201 //                "entry_flags"
2202 //            ],
2203 //            [
2204 //                "u32",
2205 //                "rpf_id"
2206 //            ],
2207 //            [
2208 //                "u8",
2209 //                "address_length"
2210 //            ],
2211 //            [
2212 //                "u8",
2213 //                "grp_address",
2214 //                4
2215 //            ],
2216 //            [
2217 //                "u8",
2218 //                "src_address",
2219 //                4
2220 //            ],
2221 //            [
2222 //                "u32",
2223 //                "count"
2224 //            ],
2225 //            [
2226 //                "vl_api_fib_path_t",
2227 //                "path",
2228 //                0,
2229 //                "count"
2230 //            ],
2231 //            {
2232 //                "crc": "0x5e530d5e"
2233 //            }
2234 //
2235 type IPMfibDetails struct {
2236         TableID       uint32
2237         EntryFlags    uint32
2238         RpfID         uint32
2239         AddressLength uint8
2240         GrpAddress    []byte `struc:"[4]byte"`
2241         SrcAddress    []byte `struc:"[4]byte"`
2242         Count         uint32 `struc:"sizeof=Path"`
2243         Path          []FibPath
2244 }
2245
2246 func (*IPMfibDetails) GetMessageName() string {
2247         return "ip_mfib_details"
2248 }
2249 func (*IPMfibDetails) GetCrcString() string {
2250         return "5e530d5e"
2251 }
2252 func (*IPMfibDetails) GetMessageType() api.MessageType {
2253         return api.ReplyMessage
2254 }
2255 func NewIPMfibDetails() api.Message {
2256         return &IPMfibDetails{}
2257 }
2258
2259 // IP6MfibDump represents the VPP binary API message 'ip6_mfib_dump'.
2260 // Generated from 'ip.api.json', line 1100:
2261 //
2262 //            "ip6_mfib_dump",
2263 //            [
2264 //                "u16",
2265 //                "_vl_msg_id"
2266 //            ],
2267 //            [
2268 //                "u32",
2269 //                "client_index"
2270 //            ],
2271 //            [
2272 //                "u32",
2273 //                "context"
2274 //            ],
2275 //            {
2276 //                "crc": "0x51077d14"
2277 //            }
2278 //
2279 type IP6MfibDump struct{}
2280
2281 func (*IP6MfibDump) GetMessageName() string {
2282         return "ip6_mfib_dump"
2283 }
2284 func (*IP6MfibDump) GetCrcString() string {
2285         return "51077d14"
2286 }
2287 func (*IP6MfibDump) GetMessageType() api.MessageType {
2288         return api.RequestMessage
2289 }
2290 func NewIP6MfibDump() api.Message {
2291         return &IP6MfibDump{}
2292 }
2293
2294 // IP6MfibDetails represents the VPP binary API message 'ip6_mfib_details'.
2295 // Generated from 'ip.api.json', line 1118:
2296 //
2297 //            "ip6_mfib_details",
2298 //            [
2299 //                "u16",
2300 //                "_vl_msg_id"
2301 //            ],
2302 //            [
2303 //                "u32",
2304 //                "context"
2305 //            ],
2306 //            [
2307 //                "u32",
2308 //                "table_id"
2309 //            ],
2310 //            [
2311 //                "u8",
2312 //                "address_length"
2313 //            ],
2314 //            [
2315 //                "u8",
2316 //                "grp_address",
2317 //                16
2318 //            ],
2319 //            [
2320 //                "u8",
2321 //                "src_address",
2322 //                16
2323 //            ],
2324 //            [
2325 //                "u32",
2326 //                "count"
2327 //            ],
2328 //            [
2329 //                "vl_api_fib_path_t",
2330 //                "path",
2331 //                0,
2332 //                "count"
2333 //            ],
2334 //            {
2335 //                "crc": "0xe02dcb4b"
2336 //            }
2337 //
2338 type IP6MfibDetails struct {
2339         TableID       uint32
2340         AddressLength uint8
2341         GrpAddress    []byte `struc:"[16]byte"`
2342         SrcAddress    []byte `struc:"[16]byte"`
2343         Count         uint32 `struc:"sizeof=Path"`
2344         Path          []FibPath
2345 }
2346
2347 func (*IP6MfibDetails) GetMessageName() string {
2348         return "ip6_mfib_details"
2349 }
2350 func (*IP6MfibDetails) GetCrcString() string {
2351         return "e02dcb4b"
2352 }
2353 func (*IP6MfibDetails) GetMessageType() api.MessageType {
2354         return api.ReplyMessage
2355 }
2356 func NewIP6MfibDetails() api.Message {
2357         return &IP6MfibDetails{}
2358 }
2359
2360 // IPAddressDetails represents the VPP binary API message 'ip_address_details'.
2361 // Generated from 'ip.api.json', line 1160:
2362 //
2363 //            "ip_address_details",
2364 //            [
2365 //                "u16",
2366 //                "_vl_msg_id"
2367 //            ],
2368 //            [
2369 //                "u32",
2370 //                "client_index"
2371 //            ],
2372 //            [
2373 //                "u32",
2374 //                "context"
2375 //            ],
2376 //            [
2377 //                "u8",
2378 //                "ip",
2379 //                16
2380 //            ],
2381 //            [
2382 //                "u8",
2383 //                "prefix_length"
2384 //            ],
2385 //            [
2386 //                "u32",
2387 //                "sw_if_index"
2388 //            ],
2389 //            [
2390 //                "u8",
2391 //                "is_ipv6"
2392 //            ],
2393 //            {
2394 //                "crc": "0xbc7442f2"
2395 //            }
2396 //
2397 type IPAddressDetails struct {
2398         IP           []byte `struc:"[16]byte"`
2399         PrefixLength uint8
2400         SwIfIndex    uint32
2401         IsIPv6       uint8
2402 }
2403
2404 func (*IPAddressDetails) GetMessageName() string {
2405         return "ip_address_details"
2406 }
2407 func (*IPAddressDetails) GetCrcString() string {
2408         return "bc7442f2"
2409 }
2410 func (*IPAddressDetails) GetMessageType() api.MessageType {
2411         return api.RequestMessage
2412 }
2413 func NewIPAddressDetails() api.Message {
2414         return &IPAddressDetails{}
2415 }
2416
2417 // IPAddressDump represents the VPP binary API message 'ip_address_dump'.
2418 // Generated from 'ip.api.json', line 1195:
2419 //
2420 //            "ip_address_dump",
2421 //            [
2422 //                "u16",
2423 //                "_vl_msg_id"
2424 //            ],
2425 //            [
2426 //                "u32",
2427 //                "client_index"
2428 //            ],
2429 //            [
2430 //                "u32",
2431 //                "context"
2432 //            ],
2433 //            [
2434 //                "u32",
2435 //                "sw_if_index"
2436 //            ],
2437 //            [
2438 //                "u8",
2439 //                "is_ipv6"
2440 //            ],
2441 //            {
2442 //                "crc": "0x6b7bcd0a"
2443 //            }
2444 //
2445 type IPAddressDump struct {
2446         SwIfIndex uint32
2447         IsIPv6    uint8
2448 }
2449
2450 func (*IPAddressDump) GetMessageName() string {
2451         return "ip_address_dump"
2452 }
2453 func (*IPAddressDump) GetCrcString() string {
2454         return "6b7bcd0a"
2455 }
2456 func (*IPAddressDump) GetMessageType() api.MessageType {
2457         return api.RequestMessage
2458 }
2459 func NewIPAddressDump() api.Message {
2460         return &IPAddressDump{}
2461 }
2462
2463 // IPUnnumberedDetails represents the VPP binary API message 'ip_unnumbered_details'.
2464 // Generated from 'ip.api.json', line 1221:
2465 //
2466 //            "ip_unnumbered_details",
2467 //            [
2468 //                "u16",
2469 //                "_vl_msg_id"
2470 //            ],
2471 //            [
2472 //                "u32",
2473 //                "client_index"
2474 //            ],
2475 //            [
2476 //                "u32",
2477 //                "context"
2478 //            ],
2479 //            [
2480 //                "u32",
2481 //                "sw_if_index"
2482 //            ],
2483 //            [
2484 //                "u32",
2485 //                "ip_sw_if_index"
2486 //            ],
2487 //            {
2488 //                "crc": "0x05b717ca"
2489 //            }
2490 //
2491 type IPUnnumberedDetails struct {
2492         SwIfIndex   uint32
2493         IPSwIfIndex uint32
2494 }
2495
2496 func (*IPUnnumberedDetails) GetMessageName() string {
2497         return "ip_unnumbered_details"
2498 }
2499 func (*IPUnnumberedDetails) GetCrcString() string {
2500         return "05b717ca"
2501 }
2502 func (*IPUnnumberedDetails) GetMessageType() api.MessageType {
2503         return api.RequestMessage
2504 }
2505 func NewIPUnnumberedDetails() api.Message {
2506         return &IPUnnumberedDetails{}
2507 }
2508
2509 // IPUnnumberedDump represents the VPP binary API message 'ip_unnumbered_dump'.
2510 // Generated from 'ip.api.json', line 1247:
2511 //
2512 //            "ip_unnumbered_dump",
2513 //            [
2514 //                "u16",
2515 //                "_vl_msg_id"
2516 //            ],
2517 //            [
2518 //                "u32",
2519 //                "client_index"
2520 //            ],
2521 //            [
2522 //                "u32",
2523 //                "context"
2524 //            ],
2525 //            [
2526 //                "u32",
2527 //                "sw_if_index"
2528 //            ],
2529 //            {
2530 //                "crc": "0x529cb13f"
2531 //            }
2532 //
2533 type IPUnnumberedDump struct {
2534         SwIfIndex uint32
2535 }
2536
2537 func (*IPUnnumberedDump) GetMessageName() string {
2538         return "ip_unnumbered_dump"
2539 }
2540 func (*IPUnnumberedDump) GetCrcString() string {
2541         return "529cb13f"
2542 }
2543 func (*IPUnnumberedDump) GetMessageType() api.MessageType {
2544         return api.RequestMessage
2545 }
2546 func NewIPUnnumberedDump() api.Message {
2547         return &IPUnnumberedDump{}
2548 }
2549
2550 // IPDetails represents the VPP binary API message 'ip_details'.
2551 // Generated from 'ip.api.json', line 1269:
2552 //
2553 //            "ip_details",
2554 //            [
2555 //                "u16",
2556 //                "_vl_msg_id"
2557 //            ],
2558 //            [
2559 //                "u32",
2560 //                "sw_if_index"
2561 //            ],
2562 //            [
2563 //                "u32",
2564 //                "context"
2565 //            ],
2566 //            [
2567 //                "u8",
2568 //                "is_ipv6"
2569 //            ],
2570 //            {
2571 //                "crc": "0x452ffc5a"
2572 //            }
2573 //
2574 type IPDetails struct {
2575         SwIfIndex uint32
2576         Context   uint32
2577         IsIPv6    uint8
2578 }
2579
2580 func (*IPDetails) GetMessageName() string {
2581         return "ip_details"
2582 }
2583 func (*IPDetails) GetCrcString() string {
2584         return "452ffc5a"
2585 }
2586 func (*IPDetails) GetMessageType() api.MessageType {
2587         return api.OtherMessage
2588 }
2589 func NewIPDetails() api.Message {
2590         return &IPDetails{}
2591 }
2592
2593 // IPDump represents the VPP binary API message 'ip_dump'.
2594 // Generated from 'ip.api.json', line 1291:
2595 //
2596 //            "ip_dump",
2597 //            [
2598 //                "u16",
2599 //                "_vl_msg_id"
2600 //            ],
2601 //            [
2602 //                "u32",
2603 //                "client_index"
2604 //            ],
2605 //            [
2606 //                "u32",
2607 //                "context"
2608 //            ],
2609 //            [
2610 //                "u8",
2611 //                "is_ipv6"
2612 //            ],
2613 //            {
2614 //                "crc": "0xde883da4"
2615 //            }
2616 //
2617 type IPDump struct {
2618         IsIPv6 uint8
2619 }
2620
2621 func (*IPDump) GetMessageName() string {
2622         return "ip_dump"
2623 }
2624 func (*IPDump) GetCrcString() string {
2625         return "de883da4"
2626 }
2627 func (*IPDump) GetMessageType() api.MessageType {
2628         return api.RequestMessage
2629 }
2630 func NewIPDump() api.Message {
2631         return &IPDump{}
2632 }
2633
2634 // MfibSignalDump represents the VPP binary API message 'mfib_signal_dump'.
2635 // Generated from 'ip.api.json', line 1313:
2636 //
2637 //            "mfib_signal_dump",
2638 //            [
2639 //                "u16",
2640 //                "_vl_msg_id"
2641 //            ],
2642 //            [
2643 //                "u32",
2644 //                "client_index"
2645 //            ],
2646 //            [
2647 //                "u32",
2648 //                "context"
2649 //            ],
2650 //            {
2651 //                "crc": "0x51077d14"
2652 //            }
2653 //
2654 type MfibSignalDump struct{}
2655
2656 func (*MfibSignalDump) GetMessageName() string {
2657         return "mfib_signal_dump"
2658 }
2659 func (*MfibSignalDump) GetCrcString() string {
2660         return "51077d14"
2661 }
2662 func (*MfibSignalDump) GetMessageType() api.MessageType {
2663         return api.RequestMessage
2664 }
2665 func NewMfibSignalDump() api.Message {
2666         return &MfibSignalDump{}
2667 }
2668
2669 // MfibSignalDetails represents the VPP binary API message 'mfib_signal_details'.
2670 // Generated from 'ip.api.json', line 1331:
2671 //
2672 //            "mfib_signal_details",
2673 //            [
2674 //                "u16",
2675 //                "_vl_msg_id"
2676 //            ],
2677 //            [
2678 //                "u32",
2679 //                "client_index"
2680 //            ],
2681 //            [
2682 //                "u32",
2683 //                "context"
2684 //            ],
2685 //            [
2686 //                "u32",
2687 //                "sw_if_index"
2688 //            ],
2689 //            [
2690 //                "u32",
2691 //                "table_id"
2692 //            ],
2693 //            [
2694 //                "u16",
2695 //                "grp_address_len"
2696 //            ],
2697 //            [
2698 //                "u8",
2699 //                "grp_address",
2700 //                16
2701 //            ],
2702 //            [
2703 //                "u8",
2704 //                "src_address",
2705 //                16
2706 //            ],
2707 //            [
2708 //                "u16",
2709 //                "ip_packet_len"
2710 //            ],
2711 //            [
2712 //                "u8",
2713 //                "ip_packet_data",
2714 //                256
2715 //            ],
2716 //            {
2717 //                "crc": "0x791bbeab"
2718 //            }
2719 //
2720 type MfibSignalDetails struct {
2721         SwIfIndex     uint32
2722         TableID       uint32
2723         GrpAddressLen uint16
2724         GrpAddress    []byte `struc:"[16]byte"`
2725         SrcAddress    []byte `struc:"[16]byte"`
2726         IPPacketLen   uint16
2727         IPPacketData  []byte `struc:"[256]byte"`
2728 }
2729
2730 func (*MfibSignalDetails) GetMessageName() string {
2731         return "mfib_signal_details"
2732 }
2733 func (*MfibSignalDetails) GetCrcString() string {
2734         return "791bbeab"
2735 }
2736 func (*MfibSignalDetails) GetMessageType() api.MessageType {
2737         return api.RequestMessage
2738 }
2739 func NewMfibSignalDetails() api.Message {
2740         return &MfibSignalDetails{}
2741 }
2742
2743 // IPPuntPolice represents the VPP binary API message 'ip_punt_police'.
2744 // Generated from 'ip.api.json', line 1380:
2745 //
2746 //            "ip_punt_police",
2747 //            [
2748 //                "u16",
2749 //                "_vl_msg_id"
2750 //            ],
2751 //            [
2752 //                "u32",
2753 //                "client_index"
2754 //            ],
2755 //            [
2756 //                "u32",
2757 //                "context"
2758 //            ],
2759 //            [
2760 //                "u32",
2761 //                "policer_index"
2762 //            ],
2763 //            [
2764 //                "u8",
2765 //                "is_add"
2766 //            ],
2767 //            [
2768 //                "u8",
2769 //                "is_ip6"
2770 //            ],
2771 //            {
2772 //                "crc": "0x38691592"
2773 //            }
2774 //
2775 type IPPuntPolice struct {
2776         PolicerIndex uint32
2777         IsAdd        uint8
2778         IsIP6        uint8
2779 }
2780
2781 func (*IPPuntPolice) GetMessageName() string {
2782         return "ip_punt_police"
2783 }
2784 func (*IPPuntPolice) GetCrcString() string {
2785         return "38691592"
2786 }
2787 func (*IPPuntPolice) GetMessageType() api.MessageType {
2788         return api.RequestMessage
2789 }
2790 func NewIPPuntPolice() api.Message {
2791         return &IPPuntPolice{}
2792 }
2793
2794 // IPPuntPoliceReply represents the VPP binary API message 'ip_punt_police_reply'.
2795 // Generated from 'ip.api.json', line 1410:
2796 //
2797 //            "ip_punt_police_reply",
2798 //            [
2799 //                "u16",
2800 //                "_vl_msg_id"
2801 //            ],
2802 //            [
2803 //                "u32",
2804 //                "context"
2805 //            ],
2806 //            [
2807 //                "i32",
2808 //                "retval"
2809 //            ],
2810 //            {
2811 //                "crc": "0xe8d4e804"
2812 //            }
2813 //
2814 type IPPuntPoliceReply struct {
2815         Retval int32
2816 }
2817
2818 func (*IPPuntPoliceReply) GetMessageName() string {
2819         return "ip_punt_police_reply"
2820 }
2821 func (*IPPuntPoliceReply) GetCrcString() string {
2822         return "e8d4e804"
2823 }
2824 func (*IPPuntPoliceReply) GetMessageType() api.MessageType {
2825         return api.ReplyMessage
2826 }
2827 func NewIPPuntPoliceReply() api.Message {
2828         return &IPPuntPoliceReply{}
2829 }
2830
2831 // IPPuntRedirect represents the VPP binary API message 'ip_punt_redirect'.
2832 // Generated from 'ip.api.json', line 1428:
2833 //
2834 //            "ip_punt_redirect",
2835 //            [
2836 //                "u16",
2837 //                "_vl_msg_id"
2838 //            ],
2839 //            [
2840 //                "u32",
2841 //                "client_index"
2842 //            ],
2843 //            [
2844 //                "u32",
2845 //                "context"
2846 //            ],
2847 //            [
2848 //                "u32",
2849 //                "rx_sw_if_index"
2850 //            ],
2851 //            [
2852 //                "u32",
2853 //                "tx_sw_if_index"
2854 //            ],
2855 //            [
2856 //                "u8",
2857 //                "is_add"
2858 //            ],
2859 //            [
2860 //                "u8",
2861 //                "is_ip6"
2862 //            ],
2863 //            [
2864 //                "u8",
2865 //                "nh",
2866 //                16
2867 //            ],
2868 //            {
2869 //                "crc": "0x996b6603"
2870 //            }
2871 //
2872 type IPPuntRedirect struct {
2873         RxSwIfIndex uint32
2874         TxSwIfIndex uint32
2875         IsAdd       uint8
2876         IsIP6       uint8
2877         Nh          []byte `struc:"[16]byte"`
2878 }
2879
2880 func (*IPPuntRedirect) GetMessageName() string {
2881         return "ip_punt_redirect"
2882 }
2883 func (*IPPuntRedirect) GetCrcString() string {
2884         return "996b6603"
2885 }
2886 func (*IPPuntRedirect) GetMessageType() api.MessageType {
2887         return api.RequestMessage
2888 }
2889 func NewIPPuntRedirect() api.Message {
2890         return &IPPuntRedirect{}
2891 }
2892
2893 // IPPuntRedirectReply represents the VPP binary API message 'ip_punt_redirect_reply'.
2894 // Generated from 'ip.api.json', line 1467:
2895 //
2896 //            "ip_punt_redirect_reply",
2897 //            [
2898 //                "u16",
2899 //                "_vl_msg_id"
2900 //            ],
2901 //            [
2902 //                "u32",
2903 //                "context"
2904 //            ],
2905 //            [
2906 //                "i32",
2907 //                "retval"
2908 //            ],
2909 //            {
2910 //                "crc": "0xe8d4e804"
2911 //            }
2912 //
2913 type IPPuntRedirectReply struct {
2914         Retval int32
2915 }
2916
2917 func (*IPPuntRedirectReply) GetMessageName() string {
2918         return "ip_punt_redirect_reply"
2919 }
2920 func (*IPPuntRedirectReply) GetCrcString() string {
2921         return "e8d4e804"
2922 }
2923 func (*IPPuntRedirectReply) GetMessageType() api.MessageType {
2924         return api.ReplyMessage
2925 }
2926 func NewIPPuntRedirectReply() api.Message {
2927         return &IPPuntRedirectReply{}
2928 }
2929
2930 // IPContainerProxyAddDel represents the VPP binary API message 'ip_container_proxy_add_del'.
2931 // Generated from 'ip.api.json', line 1485:
2932 //
2933 //            "ip_container_proxy_add_del",
2934 //            [
2935 //                "u16",
2936 //                "_vl_msg_id"
2937 //            ],
2938 //            [
2939 //                "u32",
2940 //                "client_index"
2941 //            ],
2942 //            [
2943 //                "u32",
2944 //                "context"
2945 //            ],
2946 //            [
2947 //                "u8",
2948 //                "ip",
2949 //                16
2950 //            ],
2951 //            [
2952 //                "u8",
2953 //                "is_ip4"
2954 //            ],
2955 //            [
2956 //                "u8",
2957 //                "plen"
2958 //            ],
2959 //            [
2960 //                "u32",
2961 //                "sw_if_index"
2962 //            ],
2963 //            [
2964 //                "u8",
2965 //                "is_add"
2966 //            ],
2967 //            {
2968 //                "crc": "0x0a355d39"
2969 //            }
2970 //
2971 type IPContainerProxyAddDel struct {
2972         IP        []byte `struc:"[16]byte"`
2973         IsIP4     uint8
2974         Plen      uint8
2975         SwIfIndex uint32
2976         IsAdd     uint8
2977 }
2978
2979 func (*IPContainerProxyAddDel) GetMessageName() string {
2980         return "ip_container_proxy_add_del"
2981 }
2982 func (*IPContainerProxyAddDel) GetCrcString() string {
2983         return "0a355d39"
2984 }
2985 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
2986         return api.RequestMessage
2987 }
2988 func NewIPContainerProxyAddDel() api.Message {
2989         return &IPContainerProxyAddDel{}
2990 }
2991
2992 // IPContainerProxyAddDelReply represents the VPP binary API message 'ip_container_proxy_add_del_reply'.
2993 // Generated from 'ip.api.json', line 1524:
2994 //
2995 //            "ip_container_proxy_add_del_reply",
2996 //            [
2997 //                "u16",
2998 //                "_vl_msg_id"
2999 //            ],
3000 //            [
3001 //                "u32",
3002 //                "context"
3003 //            ],
3004 //            [
3005 //                "i32",
3006 //                "retval"
3007 //            ],
3008 //            {
3009 //                "crc": "0xe8d4e804"
3010 //            }
3011 //
3012 type IPContainerProxyAddDelReply struct {
3013         Retval int32
3014 }
3015
3016 func (*IPContainerProxyAddDelReply) GetMessageName() string {
3017         return "ip_container_proxy_add_del_reply"
3018 }
3019 func (*IPContainerProxyAddDelReply) GetCrcString() string {
3020         return "e8d4e804"
3021 }
3022 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
3023         return api.ReplyMessage
3024 }
3025 func NewIPContainerProxyAddDelReply() api.Message {
3026         return &IPContainerProxyAddDelReply{}
3027 }
3028
3029 // IPSourceAndPortRangeCheckAddDel represents the VPP binary API message 'ip_source_and_port_range_check_add_del'.
3030 // Generated from 'ip.api.json', line 1542:
3031 //
3032 //            "ip_source_and_port_range_check_add_del",
3033 //            [
3034 //                "u16",
3035 //                "_vl_msg_id"
3036 //            ],
3037 //            [
3038 //                "u32",
3039 //                "client_index"
3040 //            ],
3041 //            [
3042 //                "u32",
3043 //                "context"
3044 //            ],
3045 //            [
3046 //                "u8",
3047 //                "is_ipv6"
3048 //            ],
3049 //            [
3050 //                "u8",
3051 //                "is_add"
3052 //            ],
3053 //            [
3054 //                "u8",
3055 //                "mask_length"
3056 //            ],
3057 //            [
3058 //                "u8",
3059 //                "address",
3060 //                16
3061 //            ],
3062 //            [
3063 //                "u8",
3064 //                "number_of_ranges"
3065 //            ],
3066 //            [
3067 //                "u16",
3068 //                "low_ports",
3069 //                32
3070 //            ],
3071 //            [
3072 //                "u16",
3073 //                "high_ports",
3074 //                32
3075 //            ],
3076 //            [
3077 //                "u32",
3078 //                "vrf_id"
3079 //            ],
3080 //            {
3081 //                "crc": "0x03d6b03a"
3082 //            }
3083 //
3084 type IPSourceAndPortRangeCheckAddDel struct {
3085         IsIPv6         uint8
3086         IsAdd          uint8
3087         MaskLength     uint8
3088         Address        []byte `struc:"[16]byte"`
3089         NumberOfRanges uint8
3090         LowPorts       []uint16 `struc:"[32]uint16"`
3091         HighPorts      []uint16 `struc:"[32]uint16"`
3092         VrfID          uint32
3093 }
3094
3095 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
3096         return "ip_source_and_port_range_check_add_del"
3097 }
3098 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string {
3099         return "03d6b03a"
3100 }
3101 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
3102         return api.RequestMessage
3103 }
3104 func NewIPSourceAndPortRangeCheckAddDel() api.Message {
3105         return &IPSourceAndPortRangeCheckAddDel{}
3106 }
3107
3108 // IPSourceAndPortRangeCheckAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
3109 // Generated from 'ip.api.json', line 1595:
3110 //
3111 //            "ip_source_and_port_range_check_add_del_reply",
3112 //            [
3113 //                "u16",
3114 //                "_vl_msg_id"
3115 //            ],
3116 //            [
3117 //                "u32",
3118 //                "context"
3119 //            ],
3120 //            [
3121 //                "i32",
3122 //                "retval"
3123 //            ],
3124 //            {
3125 //                "crc": "0xe8d4e804"
3126 //            }
3127 //
3128 type IPSourceAndPortRangeCheckAddDelReply struct {
3129         Retval int32
3130 }
3131
3132 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
3133         return "ip_source_and_port_range_check_add_del_reply"
3134 }
3135 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string {
3136         return "e8d4e804"
3137 }
3138 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
3139         return api.ReplyMessage
3140 }
3141 func NewIPSourceAndPortRangeCheckAddDelReply() api.Message {
3142         return &IPSourceAndPortRangeCheckAddDelReply{}
3143 }
3144
3145 // IPSourceAndPortRangeCheckInterfaceAddDel represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
3146 // Generated from 'ip.api.json', line 1613:
3147 //
3148 //            "ip_source_and_port_range_check_interface_add_del",
3149 //            [
3150 //                "u16",
3151 //                "_vl_msg_id"
3152 //            ],
3153 //            [
3154 //                "u32",
3155 //                "client_index"
3156 //            ],
3157 //            [
3158 //                "u32",
3159 //                "context"
3160 //            ],
3161 //            [
3162 //                "u8",
3163 //                "is_add"
3164 //            ],
3165 //            [
3166 //                "u32",
3167 //                "sw_if_index"
3168 //            ],
3169 //            [
3170 //                "u32",
3171 //                "tcp_in_vrf_id"
3172 //            ],
3173 //            [
3174 //                "u32",
3175 //                "tcp_out_vrf_id"
3176 //            ],
3177 //            [
3178 //                "u32",
3179 //                "udp_in_vrf_id"
3180 //            ],
3181 //            [
3182 //                "u32",
3183 //                "udp_out_vrf_id"
3184 //            ],
3185 //            {
3186 //                "crc": "0x6966bc44"
3187 //            }
3188 //
3189 type IPSourceAndPortRangeCheckInterfaceAddDel struct {
3190         IsAdd       uint8
3191         SwIfIndex   uint32
3192         TCPInVrfID  uint32
3193         TCPOutVrfID uint32
3194         UDPInVrfID  uint32
3195         UDPOutVrfID uint32
3196 }
3197
3198 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
3199         return "ip_source_and_port_range_check_interface_add_del"
3200 }
3201 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string {
3202         return "6966bc44"
3203 }
3204 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
3205         return api.RequestMessage
3206 }
3207 func NewIPSourceAndPortRangeCheckInterfaceAddDel() api.Message {
3208         return &IPSourceAndPortRangeCheckInterfaceAddDel{}
3209 }
3210
3211 // IPSourceAndPortRangeCheckInterfaceAddDelReply represents the VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
3212 // Generated from 'ip.api.json', line 1655:
3213 //
3214 //            "ip_source_and_port_range_check_interface_add_del_reply",
3215 //            [
3216 //                "u16",
3217 //                "_vl_msg_id"
3218 //            ],
3219 //            [
3220 //                "u32",
3221 //                "context"
3222 //            ],
3223 //            [
3224 //                "i32",
3225 //                "retval"
3226 //            ],
3227 //            {
3228 //                "crc": "0xe8d4e804"
3229 //            }
3230 //
3231 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
3232         Retval int32
3233 }
3234
3235 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
3236         return "ip_source_and_port_range_check_interface_add_del_reply"
3237 }
3238 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string {
3239         return "e8d4e804"
3240 }
3241 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
3242         return api.ReplyMessage
3243 }
3244 func NewIPSourceAndPortRangeCheckInterfaceAddDelReply() api.Message {
3245         return &IPSourceAndPortRangeCheckInterfaceAddDelReply{}
3246 }
3247
3248 // IPScanNeighborEnableDisable represents the VPP binary API message 'ip_scan_neighbor_enable_disable'.
3249 // Generated from 'ip.api.json', line 1673:
3250 //
3251 //            "ip_scan_neighbor_enable_disable",
3252 //            [
3253 //                "u16",
3254 //                "_vl_msg_id"
3255 //            ],
3256 //            [
3257 //                "u32",
3258 //                "client_index"
3259 //            ],
3260 //            [
3261 //                "u32",
3262 //                "context"
3263 //            ],
3264 //            [
3265 //                "u8",
3266 //                "mode"
3267 //            ],
3268 //            [
3269 //                "u8",
3270 //                "scan_interval"
3271 //            ],
3272 //            [
3273 //                "u8",
3274 //                "max_proc_time"
3275 //            ],
3276 //            [
3277 //                "u8",
3278 //                "max_update"
3279 //            ],
3280 //            [
3281 //                "u8",
3282 //                "scan_int_delay"
3283 //            ],
3284 //            [
3285 //                "u8",
3286 //                "stale_threshold"
3287 //            ],
3288 //            {
3289 //                "crc": "0x0a6bf57a"
3290 //            }
3291 //
3292 type IPScanNeighborEnableDisable struct {
3293         Mode           uint8
3294         ScanInterval   uint8
3295         MaxProcTime    uint8
3296         MaxUpdate      uint8
3297         ScanIntDelay   uint8
3298         StaleThreshold uint8
3299 }
3300
3301 func (*IPScanNeighborEnableDisable) GetMessageName() string {
3302         return "ip_scan_neighbor_enable_disable"
3303 }
3304 func (*IPScanNeighborEnableDisable) GetCrcString() string {
3305         return "0a6bf57a"
3306 }
3307 func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType {
3308         return api.RequestMessage
3309 }
3310 func NewIPScanNeighborEnableDisable() api.Message {
3311         return &IPScanNeighborEnableDisable{}
3312 }
3313
3314 // IPScanNeighborEnableDisableReply represents the VPP binary API message 'ip_scan_neighbor_enable_disable_reply'.
3315 // Generated from 'ip.api.json', line 1715:
3316 //
3317 //            "ip_scan_neighbor_enable_disable_reply",
3318 //            [
3319 //                "u16",
3320 //                "_vl_msg_id"
3321 //            ],
3322 //            [
3323 //                "u32",
3324 //                "context"
3325 //            ],
3326 //            [
3327 //                "i32",
3328 //                "retval"
3329 //            ],
3330 //            {
3331 //                "crc": "0xe8d4e804"
3332 //            }
3333 //
3334 type IPScanNeighborEnableDisableReply struct {
3335         Retval int32
3336 }
3337
3338 func (*IPScanNeighborEnableDisableReply) GetMessageName() string {
3339         return "ip_scan_neighbor_enable_disable_reply"
3340 }
3341 func (*IPScanNeighborEnableDisableReply) GetCrcString() string {
3342         return "e8d4e804"
3343 }
3344 func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType {
3345         return api.ReplyMessage
3346 }
3347 func NewIPScanNeighborEnableDisableReply() api.Message {
3348         return &IPScanNeighborEnableDisableReply{}
3349 }
3350
3351 // IPProbeNeighbor represents the VPP binary API message 'ip_probe_neighbor'.
3352 // Generated from 'ip.api.json', line 1733:
3353 //
3354 //            "ip_probe_neighbor",
3355 //            [
3356 //                "u16",
3357 //                "_vl_msg_id"
3358 //            ],
3359 //            [
3360 //                "u32",
3361 //                "client_index"
3362 //            ],
3363 //            [
3364 //                "u32",
3365 //                "context"
3366 //            ],
3367 //            [
3368 //                "u32",
3369 //                "sw_if_index"
3370 //            ],
3371 //            [
3372 //                "u8",
3373 //                "dst_address",
3374 //                16
3375 //            ],
3376 //            [
3377 //                "u8",
3378 //                "is_ipv6"
3379 //            ],
3380 //            {
3381 //                "crc": "0x1e44bfd7"
3382 //            }
3383 //
3384 type IPProbeNeighbor struct {
3385         SwIfIndex  uint32
3386         DstAddress []byte `struc:"[16]byte"`
3387         IsIPv6     uint8
3388 }
3389
3390 func (*IPProbeNeighbor) GetMessageName() string {
3391         return "ip_probe_neighbor"
3392 }
3393 func (*IPProbeNeighbor) GetCrcString() string {
3394         return "1e44bfd7"
3395 }
3396 func (*IPProbeNeighbor) GetMessageType() api.MessageType {
3397         return api.RequestMessage
3398 }
3399 func NewIPProbeNeighbor() api.Message {
3400         return &IPProbeNeighbor{}
3401 }
3402
3403 // IPProbeNeighborReply represents the VPP binary API message 'ip_probe_neighbor_reply'.
3404 // Generated from 'ip.api.json', line 1764:
3405 //
3406 //            "ip_probe_neighbor_reply",
3407 //            [
3408 //                "u16",
3409 //                "_vl_msg_id"
3410 //            ],
3411 //            [
3412 //                "u32",
3413 //                "context"
3414 //            ],
3415 //            [
3416 //                "i32",
3417 //                "retval"
3418 //            ],
3419 //            {
3420 //                "crc": "0xe8d4e804"
3421 //            }
3422 //
3423 type IPProbeNeighborReply struct {
3424         Retval int32
3425 }
3426
3427 func (*IPProbeNeighborReply) GetMessageName() string {
3428         return "ip_probe_neighbor_reply"
3429 }
3430 func (*IPProbeNeighborReply) GetCrcString() string {
3431         return "e8d4e804"
3432 }
3433 func (*IPProbeNeighborReply) GetMessageType() api.MessageType {
3434         return api.ReplyMessage
3435 }
3436 func NewIPProbeNeighborReply() api.Message {
3437         return &IPProbeNeighborReply{}
3438 }
3439
3440 // WantIP4ArpEvents represents the VPP binary API message 'want_ip4_arp_events'.
3441 // Generated from 'ip.api.json', line 1782:
3442 //
3443 //            "want_ip4_arp_events",
3444 //            [
3445 //                "u16",
3446 //                "_vl_msg_id"
3447 //            ],
3448 //            [
3449 //                "u32",
3450 //                "client_index"
3451 //            ],
3452 //            [
3453 //                "u32",
3454 //                "context"
3455 //            ],
3456 //            [
3457 //                "u8",
3458 //                "enable_disable"
3459 //            ],
3460 //            [
3461 //                "u32",
3462 //                "pid"
3463 //            ],
3464 //            [
3465 //                "u32",
3466 //                "address"
3467 //            ],
3468 //            {
3469 //                "crc": "0x77e06379"
3470 //            }
3471 //
3472 type WantIP4ArpEvents struct {
3473         EnableDisable uint8
3474         PID           uint32
3475         Address       uint32
3476 }
3477
3478 func (*WantIP4ArpEvents) GetMessageName() string {
3479         return "want_ip4_arp_events"
3480 }
3481 func (*WantIP4ArpEvents) GetCrcString() string {
3482         return "77e06379"
3483 }
3484 func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
3485         return api.RequestMessage
3486 }
3487 func NewWantIP4ArpEvents() api.Message {
3488         return &WantIP4ArpEvents{}
3489 }
3490
3491 // WantIP4ArpEventsReply represents the VPP binary API message 'want_ip4_arp_events_reply'.
3492 // Generated from 'ip.api.json', line 1812:
3493 //
3494 //            "want_ip4_arp_events_reply",
3495 //            [
3496 //                "u16",
3497 //                "_vl_msg_id"
3498 //            ],
3499 //            [
3500 //                "u32",
3501 //                "context"
3502 //            ],
3503 //            [
3504 //                "i32",
3505 //                "retval"
3506 //            ],
3507 //            {
3508 //                "crc": "0xe8d4e804"
3509 //            }
3510 //
3511 type WantIP4ArpEventsReply struct {
3512         Retval int32
3513 }
3514
3515 func (*WantIP4ArpEventsReply) GetMessageName() string {
3516         return "want_ip4_arp_events_reply"
3517 }
3518 func (*WantIP4ArpEventsReply) GetCrcString() string {
3519         return "e8d4e804"
3520 }
3521 func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType {
3522         return api.ReplyMessage
3523 }
3524 func NewWantIP4ArpEventsReply() api.Message {
3525         return &WantIP4ArpEventsReply{}
3526 }
3527
3528 // IP4ArpEvent represents the VPP binary API message 'ip4_arp_event'.
3529 // Generated from 'ip.api.json', line 1830:
3530 //
3531 //            "ip4_arp_event",
3532 //            [
3533 //                "u16",
3534 //                "_vl_msg_id"
3535 //            ],
3536 //            [
3537 //                "u32",
3538 //                "client_index"
3539 //            ],
3540 //            [
3541 //                "u32",
3542 //                "address"
3543 //            ],
3544 //            [
3545 //                "u32",
3546 //                "pid"
3547 //            ],
3548 //            [
3549 //                "u32",
3550 //                "sw_if_index"
3551 //            ],
3552 //            [
3553 //                "u8",
3554 //                "new_mac",
3555 //                6
3556 //            ],
3557 //            [
3558 //                "u8",
3559 //                "mac_ip"
3560 //            ],
3561 //            {
3562 //                "crc": "0xef7235f7"
3563 //            }
3564 //
3565 type IP4ArpEvent struct {
3566         Address   uint32
3567         PID       uint32
3568         SwIfIndex uint32
3569         NewMac    []byte `struc:"[6]byte"`
3570         MacIP     uint8
3571 }
3572
3573 func (*IP4ArpEvent) GetMessageName() string {
3574         return "ip4_arp_event"
3575 }
3576 func (*IP4ArpEvent) GetCrcString() string {
3577         return "ef7235f7"
3578 }
3579 func (*IP4ArpEvent) GetMessageType() api.MessageType {
3580         return api.EventMessage
3581 }
3582 func NewIP4ArpEvent() api.Message {
3583         return &IP4ArpEvent{}
3584 }
3585
3586 // WantIP6NdEvents represents the VPP binary API message 'want_ip6_nd_events'.
3587 // Generated from 'ip.api.json', line 1865:
3588 //
3589 //            "want_ip6_nd_events",
3590 //            [
3591 //                "u16",
3592 //                "_vl_msg_id"
3593 //            ],
3594 //            [
3595 //                "u32",
3596 //                "client_index"
3597 //            ],
3598 //            [
3599 //                "u32",
3600 //                "context"
3601 //            ],
3602 //            [
3603 //                "u8",
3604 //                "enable_disable"
3605 //            ],
3606 //            [
3607 //                "u32",
3608 //                "pid"
3609 //            ],
3610 //            [
3611 //                "u8",
3612 //                "address",
3613 //                16
3614 //            ],
3615 //            {
3616 //                "crc": "0x1cf65fbb"
3617 //            }
3618 //
3619 type WantIP6NdEvents struct {
3620         EnableDisable uint8
3621         PID           uint32
3622         Address       []byte `struc:"[16]byte"`
3623 }
3624
3625 func (*WantIP6NdEvents) GetMessageName() string {
3626         return "want_ip6_nd_events"
3627 }
3628 func (*WantIP6NdEvents) GetCrcString() string {
3629         return "1cf65fbb"
3630 }
3631 func (*WantIP6NdEvents) GetMessageType() api.MessageType {
3632         return api.RequestMessage
3633 }
3634 func NewWantIP6NdEvents() api.Message {
3635         return &WantIP6NdEvents{}
3636 }
3637
3638 // WantIP6NdEventsReply represents the VPP binary API message 'want_ip6_nd_events_reply'.
3639 // Generated from 'ip.api.json', line 1896:
3640 //
3641 //            "want_ip6_nd_events_reply",
3642 //            [
3643 //                "u16",
3644 //                "_vl_msg_id"
3645 //            ],
3646 //            [
3647 //                "u32",
3648 //                "context"
3649 //            ],
3650 //            [
3651 //                "i32",
3652 //                "retval"
3653 //            ],
3654 //            {
3655 //                "crc": "0xe8d4e804"
3656 //            }
3657 //
3658 type WantIP6NdEventsReply struct {
3659         Retval int32
3660 }
3661
3662 func (*WantIP6NdEventsReply) GetMessageName() string {
3663         return "want_ip6_nd_events_reply"
3664 }
3665 func (*WantIP6NdEventsReply) GetCrcString() string {
3666         return "e8d4e804"
3667 }
3668 func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
3669         return api.ReplyMessage
3670 }
3671 func NewWantIP6NdEventsReply() api.Message {
3672         return &WantIP6NdEventsReply{}
3673 }
3674
3675 // IP6NdEvent represents the VPP binary API message 'ip6_nd_event'.
3676 // Generated from 'ip.api.json', line 1914:
3677 //
3678 //            "ip6_nd_event",
3679 //            [
3680 //                "u16",
3681 //                "_vl_msg_id"
3682 //            ],
3683 //            [
3684 //                "u32",
3685 //                "client_index"
3686 //            ],
3687 //            [
3688 //                "u32",
3689 //                "pid"
3690 //            ],
3691 //            [
3692 //                "u32",
3693 //                "sw_if_index"
3694 //            ],
3695 //            [
3696 //                "u8",
3697 //                "address",
3698 //                16
3699 //            ],
3700 //            [
3701 //                "u8",
3702 //                "new_mac",
3703 //                6
3704 //            ],
3705 //            [
3706 //                "u8",
3707 //                "mac_ip"
3708 //            ],
3709 //            {
3710 //                "crc": "0x96ab2fdd"
3711 //            }
3712 //
3713 type IP6NdEvent struct {
3714         PID       uint32
3715         SwIfIndex uint32
3716         Address   []byte `struc:"[16]byte"`
3717         NewMac    []byte `struc:"[6]byte"`
3718         MacIP     uint8
3719 }
3720
3721 func (*IP6NdEvent) GetMessageName() string {
3722         return "ip6_nd_event"
3723 }
3724 func (*IP6NdEvent) GetCrcString() string {
3725         return "96ab2fdd"
3726 }
3727 func (*IP6NdEvent) GetMessageType() api.MessageType {
3728         return api.EventMessage
3729 }
3730 func NewIP6NdEvent() api.Message {
3731         return &IP6NdEvent{}
3732 }
3733
3734 // WantIP6RaEvents represents the VPP binary API message 'want_ip6_ra_events'.
3735 // Generated from 'ip.api.json', line 1950:
3736 //
3737 //            "want_ip6_ra_events",
3738 //            [
3739 //                "u16",
3740 //                "_vl_msg_id"
3741 //            ],
3742 //            [
3743 //                "u32",
3744 //                "client_index"
3745 //            ],
3746 //            [
3747 //                "u32",
3748 //                "context"
3749 //            ],
3750 //            [
3751 //                "u8",
3752 //                "enable_disable"
3753 //            ],
3754 //            [
3755 //                "u32",
3756 //                "pid"
3757 //            ],
3758 //            {
3759 //                "crc": "0x05b454b5"
3760 //            }
3761 //
3762 type WantIP6RaEvents struct {
3763         EnableDisable uint8
3764         PID           uint32
3765 }
3766
3767 func (*WantIP6RaEvents) GetMessageName() string {
3768         return "want_ip6_ra_events"
3769 }
3770 func (*WantIP6RaEvents) GetCrcString() string {
3771         return "05b454b5"
3772 }
3773 func (*WantIP6RaEvents) GetMessageType() api.MessageType {
3774         return api.RequestMessage
3775 }
3776 func NewWantIP6RaEvents() api.Message {
3777         return &WantIP6RaEvents{}
3778 }
3779
3780 // WantIP6RaEventsReply represents the VPP binary API message 'want_ip6_ra_events_reply'.
3781 // Generated from 'ip.api.json', line 1976:
3782 //
3783 //            "want_ip6_ra_events_reply",
3784 //            [
3785 //                "u16",
3786 //                "_vl_msg_id"
3787 //            ],
3788 //            [
3789 //                "u32",
3790 //                "context"
3791 //            ],
3792 //            [
3793 //                "i32",
3794 //                "retval"
3795 //            ],
3796 //            {
3797 //                "crc": "0xe8d4e804"
3798 //            }
3799 //
3800 type WantIP6RaEventsReply struct {
3801         Retval int32
3802 }
3803
3804 func (*WantIP6RaEventsReply) GetMessageName() string {
3805         return "want_ip6_ra_events_reply"
3806 }
3807 func (*WantIP6RaEventsReply) GetCrcString() string {
3808         return "e8d4e804"
3809 }
3810 func (*WantIP6RaEventsReply) GetMessageType() api.MessageType {
3811         return api.ReplyMessage
3812 }
3813 func NewWantIP6RaEventsReply() api.Message {
3814         return &WantIP6RaEventsReply{}
3815 }
3816
3817 // IP6RaEvent represents the VPP binary API message 'ip6_ra_event'.
3818 // Generated from 'ip.api.json', line 1994:
3819 //
3820 //            "ip6_ra_event",
3821 //            [
3822 //                "u16",
3823 //                "_vl_msg_id"
3824 //            ],
3825 //            [
3826 //                "u32",
3827 //                "client_index"
3828 //            ],
3829 //            [
3830 //                "u32",
3831 //                "pid"
3832 //            ],
3833 //            [
3834 //                "u32",
3835 //                "sw_if_index"
3836 //            ],
3837 //            [
3838 //                "u8",
3839 //                "router_address",
3840 //                16
3841 //            ],
3842 //            [
3843 //                "u8",
3844 //                "current_hop_limit"
3845 //            ],
3846 //            [
3847 //                "u8",
3848 //                "flags"
3849 //            ],
3850 //            [
3851 //                "u16",
3852 //                "router_lifetime_in_sec"
3853 //            ],
3854 //            [
3855 //                "u32",
3856 //                "neighbor_reachable_time_in_msec"
3857 //            ],
3858 //            [
3859 //                "u32",
3860 //                "time_in_msec_between_retransmitted_neighbor_solicitations"
3861 //            ],
3862 //            [
3863 //                "u32",
3864 //                "n_prefixes"
3865 //            ],
3866 //            [
3867 //                "vl_api_ip6_ra_prefix_info_t",
3868 //                "prefixes",
3869 //                0,
3870 //                "n_prefixes"
3871 //            ],
3872 //            {
3873 //                "crc": "0xc5e54257"
3874 //            }
3875 //
3876 type IP6RaEvent struct {
3877         PID                                                 uint32
3878         SwIfIndex                                           uint32
3879         RouterAddress                                       []byte `struc:"[16]byte"`
3880         CurrentHopLimit                                     uint8
3881         Flags                                               uint8
3882         RouterLifetimeInSec                                 uint16
3883         NeighborReachableTimeInMsec                         uint32
3884         TimeInMsecBetweenRetransmittedNeighborSolicitations uint32
3885         NPrefixes                                           uint32 `struc:"sizeof=Prefixes"`
3886         Prefixes                                            []IP6RaPrefixInfo
3887 }
3888
3889 func (*IP6RaEvent) GetMessageName() string {
3890         return "ip6_ra_event"
3891 }
3892 func (*IP6RaEvent) GetCrcString() string {
3893         return "c5e54257"
3894 }
3895 func (*IP6RaEvent) GetMessageType() api.MessageType {
3896         return api.EventMessage
3897 }
3898 func NewIP6RaEvent() api.Message {
3899         return &IP6RaEvent{}
3900 }
3901
3902 // ProxyArpAddDel represents the VPP binary API message 'proxy_arp_add_del'.
3903 // Generated from 'ip.api.json', line 2051:
3904 //
3905 //            "proxy_arp_add_del",
3906 //            [
3907 //                "u16",
3908 //                "_vl_msg_id"
3909 //            ],
3910 //            [
3911 //                "u32",
3912 //                "client_index"
3913 //            ],
3914 //            [
3915 //                "u32",
3916 //                "context"
3917 //            ],
3918 //            [
3919 //                "u8",
3920 //                "is_add"
3921 //            ],
3922 //            [
3923 //                "vl_api_proxy_arp_t",
3924 //                "proxy"
3925 //            ],
3926 //            {
3927 //                "crc": "0x227988d9"
3928 //            }
3929 //
3930 type ProxyArpAddDel struct {
3931         IsAdd uint8
3932         Proxy ProxyArp
3933 }
3934
3935 func (*ProxyArpAddDel) GetMessageName() string {
3936         return "proxy_arp_add_del"
3937 }
3938 func (*ProxyArpAddDel) GetCrcString() string {
3939         return "227988d9"
3940 }
3941 func (*ProxyArpAddDel) GetMessageType() api.MessageType {
3942         return api.RequestMessage
3943 }
3944 func NewProxyArpAddDel() api.Message {
3945         return &ProxyArpAddDel{}
3946 }
3947
3948 // ProxyArpAddDelReply represents the VPP binary API message 'proxy_arp_add_del_reply'.
3949 // Generated from 'ip.api.json', line 2077:
3950 //
3951 //            "proxy_arp_add_del_reply",
3952 //            [
3953 //                "u16",
3954 //                "_vl_msg_id"
3955 //            ],
3956 //            [
3957 //                "u32",
3958 //                "context"
3959 //            ],
3960 //            [
3961 //                "i32",
3962 //                "retval"
3963 //            ],
3964 //            {
3965 //                "crc": "0xe8d4e804"
3966 //            }
3967 //
3968 type ProxyArpAddDelReply struct {
3969         Retval int32
3970 }
3971
3972 func (*ProxyArpAddDelReply) GetMessageName() string {
3973         return "proxy_arp_add_del_reply"
3974 }
3975 func (*ProxyArpAddDelReply) GetCrcString() string {
3976         return "e8d4e804"
3977 }
3978 func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
3979         return api.ReplyMessage
3980 }
3981 func NewProxyArpAddDelReply() api.Message {
3982         return &ProxyArpAddDelReply{}
3983 }
3984
3985 // ProxyArpDump represents the VPP binary API message 'proxy_arp_dump'.
3986 // Generated from 'ip.api.json', line 2095:
3987 //
3988 //            "proxy_arp_dump",
3989 //            [
3990 //                "u16",
3991 //                "_vl_msg_id"
3992 //            ],
3993 //            [
3994 //                "u32",
3995 //                "client_index"
3996 //            ],
3997 //            [
3998 //                "u32",
3999 //                "context"
4000 //            ],
4001 //            {
4002 //                "crc": "0x51077d14"
4003 //            }
4004 //
4005 type ProxyArpDump struct{}
4006
4007 func (*ProxyArpDump) GetMessageName() string {
4008         return "proxy_arp_dump"
4009 }
4010 func (*ProxyArpDump) GetCrcString() string {
4011         return "51077d14"
4012 }
4013 func (*ProxyArpDump) GetMessageType() api.MessageType {
4014         return api.RequestMessage
4015 }
4016 func NewProxyArpDump() api.Message {
4017         return &ProxyArpDump{}
4018 }
4019
4020 // ProxyArpDetails represents the VPP binary API message 'proxy_arp_details'.
4021 // Generated from 'ip.api.json', line 2113:
4022 //
4023 //            "proxy_arp_details",
4024 //            [
4025 //                "u16",
4026 //                "_vl_msg_id"
4027 //            ],
4028 //            [
4029 //                "u32",
4030 //                "context"
4031 //            ],
4032 //            [
4033 //                "vl_api_proxy_arp_t",
4034 //                "proxy"
4035 //            ],
4036 //            {
4037 //                "crc": "0x9b707c77"
4038 //            }
4039 //
4040 type ProxyArpDetails struct {
4041         Proxy ProxyArp
4042 }
4043
4044 func (*ProxyArpDetails) GetMessageName() string {
4045         return "proxy_arp_details"
4046 }
4047 func (*ProxyArpDetails) GetCrcString() string {
4048         return "9b707c77"
4049 }
4050 func (*ProxyArpDetails) GetMessageType() api.MessageType {
4051         return api.ReplyMessage
4052 }
4053 func NewProxyArpDetails() api.Message {
4054         return &ProxyArpDetails{}
4055 }
4056
4057 // ProxyArpIntfcEnableDisable represents the VPP binary API message 'proxy_arp_intfc_enable_disable'.
4058 // Generated from 'ip.api.json', line 2131:
4059 //
4060 //            "proxy_arp_intfc_enable_disable",
4061 //            [
4062 //                "u16",
4063 //                "_vl_msg_id"
4064 //            ],
4065 //            [
4066 //                "u32",
4067 //                "client_index"
4068 //            ],
4069 //            [
4070 //                "u32",
4071 //                "context"
4072 //            ],
4073 //            [
4074 //                "u32",
4075 //                "sw_if_index"
4076 //            ],
4077 //            [
4078 //                "u8",
4079 //                "enable_disable"
4080 //            ],
4081 //            {
4082 //                "crc": "0x69d24598"
4083 //            }
4084 //
4085 type ProxyArpIntfcEnableDisable struct {
4086         SwIfIndex     uint32
4087         EnableDisable uint8
4088 }
4089
4090 func (*ProxyArpIntfcEnableDisable) GetMessageName() string {
4091         return "proxy_arp_intfc_enable_disable"
4092 }
4093 func (*ProxyArpIntfcEnableDisable) GetCrcString() string {
4094         return "69d24598"
4095 }
4096 func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
4097         return api.RequestMessage
4098 }
4099 func NewProxyArpIntfcEnableDisable() api.Message {
4100         return &ProxyArpIntfcEnableDisable{}
4101 }
4102
4103 // ProxyArpIntfcEnableDisableReply represents the VPP binary API message 'proxy_arp_intfc_enable_disable_reply'.
4104 // Generated from 'ip.api.json', line 2157:
4105 //
4106 //            "proxy_arp_intfc_enable_disable_reply",
4107 //            [
4108 //                "u16",
4109 //                "_vl_msg_id"
4110 //            ],
4111 //            [
4112 //                "u32",
4113 //                "context"
4114 //            ],
4115 //            [
4116 //                "i32",
4117 //                "retval"
4118 //            ],
4119 //            {
4120 //                "crc": "0xe8d4e804"
4121 //            }
4122 //
4123 type ProxyArpIntfcEnableDisableReply struct {
4124         Retval int32
4125 }
4126
4127 func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string {
4128         return "proxy_arp_intfc_enable_disable_reply"
4129 }
4130 func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string {
4131         return "e8d4e804"
4132 }
4133 func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
4134         return api.ReplyMessage
4135 }
4136 func NewProxyArpIntfcEnableDisableReply() api.Message {
4137         return &ProxyArpIntfcEnableDisableReply{}
4138 }
4139
4140 // ProxyArpIntfcDump represents the VPP binary API message 'proxy_arp_intfc_dump'.
4141 // Generated from 'ip.api.json', line 2175:
4142 //
4143 //            "proxy_arp_intfc_dump",
4144 //            [
4145 //                "u16",
4146 //                "_vl_msg_id"
4147 //            ],
4148 //            [
4149 //                "u32",
4150 //                "client_index"
4151 //            ],
4152 //            [
4153 //                "u32",
4154 //                "context"
4155 //            ],
4156 //            {
4157 //                "crc": "0x51077d14"
4158 //            }
4159 //
4160 type ProxyArpIntfcDump struct{}
4161
4162 func (*ProxyArpIntfcDump) GetMessageName() string {
4163         return "proxy_arp_intfc_dump"
4164 }
4165 func (*ProxyArpIntfcDump) GetCrcString() string {
4166         return "51077d14"
4167 }
4168 func (*ProxyArpIntfcDump) GetMessageType() api.MessageType {
4169         return api.RequestMessage
4170 }
4171 func NewProxyArpIntfcDump() api.Message {
4172         return &ProxyArpIntfcDump{}
4173 }
4174
4175 // ProxyArpIntfcDetails represents the VPP binary API message 'proxy_arp_intfc_details'.
4176 // Generated from 'ip.api.json', line 2193:
4177 //
4178 //            "proxy_arp_intfc_details",
4179 //            [
4180 //                "u16",
4181 //                "_vl_msg_id"
4182 //            ],
4183 //            [
4184 //                "u32",
4185 //                "context"
4186 //            ],
4187 //            [
4188 //                "u32",
4189 //                "sw_if_index"
4190 //            ],
4191 //            {
4192 //                "crc": "0xf6458e5f"
4193 //            }
4194 //
4195 type ProxyArpIntfcDetails struct {
4196         SwIfIndex uint32
4197 }
4198
4199 func (*ProxyArpIntfcDetails) GetMessageName() string {
4200         return "proxy_arp_intfc_details"
4201 }
4202 func (*ProxyArpIntfcDetails) GetCrcString() string {
4203         return "f6458e5f"
4204 }
4205 func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType {
4206         return api.ReplyMessage
4207 }
4208 func NewProxyArpIntfcDetails() api.Message {
4209         return &ProxyArpIntfcDetails{}
4210 }
4211
4212 // ResetFib represents the VPP binary API message 'reset_fib'.
4213 // Generated from 'ip.api.json', line 2211:
4214 //
4215 //            "reset_fib",
4216 //            [
4217 //                "u16",
4218 //                "_vl_msg_id"
4219 //            ],
4220 //            [
4221 //                "u32",
4222 //                "client_index"
4223 //            ],
4224 //            [
4225 //                "u32",
4226 //                "context"
4227 //            ],
4228 //            [
4229 //                "u32",
4230 //                "vrf_id"
4231 //            ],
4232 //            [
4233 //                "u8",
4234 //                "is_ipv6"
4235 //            ],
4236 //            {
4237 //                "crc": "0x8553ebd9"
4238 //            }
4239 //
4240 type ResetFib struct {
4241         VrfID  uint32
4242         IsIPv6 uint8
4243 }
4244
4245 func (*ResetFib) GetMessageName() string {
4246         return "reset_fib"
4247 }
4248 func (*ResetFib) GetCrcString() string {
4249         return "8553ebd9"
4250 }
4251 func (*ResetFib) GetMessageType() api.MessageType {
4252         return api.RequestMessage
4253 }
4254 func NewResetFib() api.Message {
4255         return &ResetFib{}
4256 }
4257
4258 // ResetFibReply represents the VPP binary API message 'reset_fib_reply'.
4259 // Generated from 'ip.api.json', line 2237:
4260 //
4261 //            "reset_fib_reply",
4262 //            [
4263 //                "u16",
4264 //                "_vl_msg_id"
4265 //            ],
4266 //            [
4267 //                "u32",
4268 //                "context"
4269 //            ],
4270 //            [
4271 //                "i32",
4272 //                "retval"
4273 //            ],
4274 //            {
4275 //                "crc": "0xe8d4e804"
4276 //            }
4277 //
4278 type ResetFibReply struct {
4279         Retval int32
4280 }
4281
4282 func (*ResetFibReply) GetMessageName() string {
4283         return "reset_fib_reply"
4284 }
4285 func (*ResetFibReply) GetCrcString() string {
4286         return "e8d4e804"
4287 }
4288 func (*ResetFibReply) GetMessageType() api.MessageType {
4289         return api.ReplyMessage
4290 }
4291 func NewResetFibReply() api.Message {
4292         return &ResetFibReply{}
4293 }
4294
4295 // SetArpNeighborLimit represents the VPP binary API message 'set_arp_neighbor_limit'.
4296 // Generated from 'ip.api.json', line 2255:
4297 //
4298 //            "set_arp_neighbor_limit",
4299 //            [
4300 //                "u16",
4301 //                "_vl_msg_id"
4302 //            ],
4303 //            [
4304 //                "u32",
4305 //                "client_index"
4306 //            ],
4307 //            [
4308 //                "u32",
4309 //                "context"
4310 //            ],
4311 //            [
4312 //                "u8",
4313 //                "is_ipv6"
4314 //            ],
4315 //            [
4316 //                "u32",
4317 //                "arp_neighbor_limit"
4318 //            ],
4319 //            {
4320 //                "crc": "0x97d01fd6"
4321 //            }
4322 //
4323 type SetArpNeighborLimit struct {
4324         IsIPv6           uint8
4325         ArpNeighborLimit uint32
4326 }
4327
4328 func (*SetArpNeighborLimit) GetMessageName() string {
4329         return "set_arp_neighbor_limit"
4330 }
4331 func (*SetArpNeighborLimit) GetCrcString() string {
4332         return "97d01fd6"
4333 }
4334 func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
4335         return api.RequestMessage
4336 }
4337 func NewSetArpNeighborLimit() api.Message {
4338         return &SetArpNeighborLimit{}
4339 }
4340
4341 // SetArpNeighborLimitReply represents the VPP binary API message 'set_arp_neighbor_limit_reply'.
4342 // Generated from 'ip.api.json', line 2281:
4343 //
4344 //            "set_arp_neighbor_limit_reply",
4345 //            [
4346 //                "u16",
4347 //                "_vl_msg_id"
4348 //            ],
4349 //            [
4350 //                "u32",
4351 //                "context"
4352 //            ],
4353 //            [
4354 //                "i32",
4355 //                "retval"
4356 //            ],
4357 //            {
4358 //                "crc": "0xe8d4e804"
4359 //            }
4360 //
4361 type SetArpNeighborLimitReply struct {
4362         Retval int32
4363 }
4364
4365 func (*SetArpNeighborLimitReply) GetMessageName() string {
4366         return "set_arp_neighbor_limit_reply"
4367 }
4368 func (*SetArpNeighborLimitReply) GetCrcString() string {
4369         return "e8d4e804"
4370 }
4371 func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
4372         return api.ReplyMessage
4373 }
4374 func NewSetArpNeighborLimitReply() api.Message {
4375         return &SetArpNeighborLimitReply{}
4376 }
4377
4378 // IoamEnable represents the VPP binary API message 'ioam_enable'.
4379 // Generated from 'ip.api.json', line 2299:
4380 //
4381 //            "ioam_enable",
4382 //            [
4383 //                "u16",
4384 //                "_vl_msg_id"
4385 //            ],
4386 //            [
4387 //                "u32",
4388 //                "client_index"
4389 //            ],
4390 //            [
4391 //                "u32",
4392 //                "context"
4393 //            ],
4394 //            [
4395 //                "u16",
4396 //                "id"
4397 //            ],
4398 //            [
4399 //                "u8",
4400 //                "seqno"
4401 //            ],
4402 //            [
4403 //                "u8",
4404 //                "analyse"
4405 //            ],
4406 //            [
4407 //                "u8",
4408 //                "pot_enable"
4409 //            ],
4410 //            [
4411 //                "u8",
4412 //                "trace_enable"
4413 //            ],
4414 //            [
4415 //                "u32",
4416 //                "node_id"
4417 //            ],
4418 //            {
4419 //                "crc": "0x9392e032"
4420 //            }
4421 //
4422 type IoamEnable struct {
4423         ID          uint16
4424         Seqno       uint8
4425         Analyse     uint8
4426         PotEnable   uint8
4427         TraceEnable uint8
4428         NodeID      uint32
4429 }
4430
4431 func (*IoamEnable) GetMessageName() string {
4432         return "ioam_enable"
4433 }
4434 func (*IoamEnable) GetCrcString() string {
4435         return "9392e032"
4436 }
4437 func (*IoamEnable) GetMessageType() api.MessageType {
4438         return api.RequestMessage
4439 }
4440 func NewIoamEnable() api.Message {
4441         return &IoamEnable{}
4442 }
4443
4444 // IoamEnableReply represents the VPP binary API message 'ioam_enable_reply'.
4445 // Generated from 'ip.api.json', line 2341:
4446 //
4447 //            "ioam_enable_reply",
4448 //            [
4449 //                "u16",
4450 //                "_vl_msg_id"
4451 //            ],
4452 //            [
4453 //                "u32",
4454 //                "context"
4455 //            ],
4456 //            [
4457 //                "i32",
4458 //                "retval"
4459 //            ],
4460 //            {
4461 //                "crc": "0xe8d4e804"
4462 //            }
4463 //
4464 type IoamEnableReply struct {
4465         Retval int32
4466 }
4467
4468 func (*IoamEnableReply) GetMessageName() string {
4469         return "ioam_enable_reply"
4470 }
4471 func (*IoamEnableReply) GetCrcString() string {
4472         return "e8d4e804"
4473 }
4474 func (*IoamEnableReply) GetMessageType() api.MessageType {
4475         return api.ReplyMessage
4476 }
4477 func NewIoamEnableReply() api.Message {
4478         return &IoamEnableReply{}
4479 }
4480
4481 // IoamDisable represents the VPP binary API message 'ioam_disable'.
4482 // Generated from 'ip.api.json', line 2359:
4483 //
4484 //            "ioam_disable",
4485 //            [
4486 //                "u16",
4487 //                "_vl_msg_id"
4488 //            ],
4489 //            [
4490 //                "u32",
4491 //                "client_index"
4492 //            ],
4493 //            [
4494 //                "u32",
4495 //                "context"
4496 //            ],
4497 //            [
4498 //                "u16",
4499 //                "id"
4500 //            ],
4501 //            {
4502 //                "crc": "0x6b16a45e"
4503 //            }
4504 //
4505 type IoamDisable struct {
4506         ID uint16
4507 }
4508
4509 func (*IoamDisable) GetMessageName() string {
4510         return "ioam_disable"
4511 }
4512 func (*IoamDisable) GetCrcString() string {
4513         return "6b16a45e"
4514 }
4515 func (*IoamDisable) GetMessageType() api.MessageType {
4516         return api.RequestMessage
4517 }
4518 func NewIoamDisable() api.Message {
4519         return &IoamDisable{}
4520 }
4521
4522 // IoamDisableReply represents the VPP binary API message 'ioam_disable_reply'.
4523 // Generated from 'ip.api.json', line 2381:
4524 //
4525 //            "ioam_disable_reply",
4526 //            [
4527 //                "u16",
4528 //                "_vl_msg_id"
4529 //            ],
4530 //            [
4531 //                "u32",
4532 //                "context"
4533 //            ],
4534 //            [
4535 //                "i32",
4536 //                "retval"
4537 //            ],
4538 //            {
4539 //                "crc": "0xe8d4e804"
4540 //            }
4541 //
4542 type IoamDisableReply struct {
4543         Retval int32
4544 }
4545
4546 func (*IoamDisableReply) GetMessageName() string {
4547         return "ioam_disable_reply"
4548 }
4549 func (*IoamDisableReply) GetCrcString() string {
4550         return "e8d4e804"
4551 }
4552 func (*IoamDisableReply) GetMessageType() api.MessageType {
4553         return api.ReplyMessage
4554 }
4555 func NewIoamDisableReply() api.Message {
4556         return &IoamDisableReply{}
4557 }
4558
4559 // IPReassemblySet represents the VPP binary API message 'ip_reassembly_set'.
4560 // Generated from 'ip.api.json', line 2399:
4561 //
4562 //            "ip_reassembly_set",
4563 //            [
4564 //                "u16",
4565 //                "_vl_msg_id"
4566 //            ],
4567 //            [
4568 //                "u32",
4569 //                "client_index"
4570 //            ],
4571 //            [
4572 //                "u32",
4573 //                "context"
4574 //            ],
4575 //            [
4576 //                "u32",
4577 //                "timeout_ms"
4578 //            ],
4579 //            [
4580 //                "u32",
4581 //                "max_reassemblies"
4582 //            ],
4583 //            [
4584 //                "u32",
4585 //                "expire_walk_interval_ms"
4586 //            ],
4587 //            [
4588 //                "u8",
4589 //                "is_ip6"
4590 //            ],
4591 //            {
4592 //                "crc": "0x1db184de"
4593 //            }
4594 //
4595 type IPReassemblySet struct {
4596         TimeoutMs            uint32
4597         MaxReassemblies      uint32
4598         ExpireWalkIntervalMs uint32
4599         IsIP6                uint8
4600 }
4601
4602 func (*IPReassemblySet) GetMessageName() string {
4603         return "ip_reassembly_set"
4604 }
4605 func (*IPReassemblySet) GetCrcString() string {
4606         return "1db184de"
4607 }
4608 func (*IPReassemblySet) GetMessageType() api.MessageType {
4609         return api.RequestMessage
4610 }
4611 func NewIPReassemblySet() api.Message {
4612         return &IPReassemblySet{}
4613 }
4614
4615 // IPReassemblySetReply represents the VPP binary API message 'ip_reassembly_set_reply'.
4616 // Generated from 'ip.api.json', line 2433:
4617 //
4618 //            "ip_reassembly_set_reply",
4619 //            [
4620 //                "u16",
4621 //                "_vl_msg_id"
4622 //            ],
4623 //            [
4624 //                "u32",
4625 //                "context"
4626 //            ],
4627 //            [
4628 //                "i32",
4629 //                "retval"
4630 //            ],
4631 //            {
4632 //                "crc": "0xe8d4e804"
4633 //            }
4634 //
4635 type IPReassemblySetReply struct {
4636         Retval int32
4637 }
4638
4639 func (*IPReassemblySetReply) GetMessageName() string {
4640         return "ip_reassembly_set_reply"
4641 }
4642 func (*IPReassemblySetReply) GetCrcString() string {
4643         return "e8d4e804"
4644 }
4645 func (*IPReassemblySetReply) GetMessageType() api.MessageType {
4646         return api.ReplyMessage
4647 }
4648 func NewIPReassemblySetReply() api.Message {
4649         return &IPReassemblySetReply{}
4650 }
4651
4652 // IPReassemblyGet represents the VPP binary API message 'ip_reassembly_get'.
4653 // Generated from 'ip.api.json', line 2451:
4654 //
4655 //            "ip_reassembly_get",
4656 //            [
4657 //                "u16",
4658 //                "_vl_msg_id"
4659 //            ],
4660 //            [
4661 //                "u32",
4662 //                "client_index"
4663 //            ],
4664 //            [
4665 //                "u32",
4666 //                "context"
4667 //            ],
4668 //            [
4669 //                "u8",
4670 //                "is_ip6"
4671 //            ],
4672 //            {
4673 //                "crc": "0x6fe91190"
4674 //            }
4675 //
4676 type IPReassemblyGet struct {
4677         IsIP6 uint8
4678 }
4679
4680 func (*IPReassemblyGet) GetMessageName() string {
4681         return "ip_reassembly_get"
4682 }
4683 func (*IPReassemblyGet) GetCrcString() string {
4684         return "6fe91190"
4685 }
4686 func (*IPReassemblyGet) GetMessageType() api.MessageType {
4687         return api.RequestMessage
4688 }
4689 func NewIPReassemblyGet() api.Message {
4690         return &IPReassemblyGet{}
4691 }
4692
4693 // IPReassemblyGetReply represents the VPP binary API message 'ip_reassembly_get_reply'.
4694 // Generated from 'ip.api.json', line 2473:
4695 //
4696 //            "ip_reassembly_get_reply",
4697 //            [
4698 //                "u16",
4699 //                "_vl_msg_id"
4700 //            ],
4701 //            [
4702 //                "u32",
4703 //                "client_index"
4704 //            ],
4705 //            [
4706 //                "u32",
4707 //                "context"
4708 //            ],
4709 //            [
4710 //                "i32",
4711 //                "retval"
4712 //            ],
4713 //            [
4714 //                "u32",
4715 //                "timeout_ms"
4716 //            ],
4717 //            [
4718 //                "u32",
4719 //                "max_reassemblies"
4720 //            ],
4721 //            [
4722 //                "u32",
4723 //                "expire_walk_interval_ms"
4724 //            ],
4725 //            [
4726 //                "u8",
4727 //                "is_ip6"
4728 //            ],
4729 //            {
4730 //                "crc": "0xd746fc57"
4731 //            }
4732 //
4733 type IPReassemblyGetReply struct {
4734         Retval               int32
4735         TimeoutMs            uint32
4736         MaxReassemblies      uint32
4737         ExpireWalkIntervalMs uint32
4738         IsIP6                uint8
4739 }
4740
4741 func (*IPReassemblyGetReply) GetMessageName() string {
4742         return "ip_reassembly_get_reply"
4743 }
4744 func (*IPReassemblyGetReply) GetCrcString() string {
4745         return "d746fc57"
4746 }
4747 func (*IPReassemblyGetReply) GetMessageType() api.MessageType {
4748         return api.RequestMessage
4749 }
4750 func NewIPReassemblyGetReply() api.Message {
4751         return &IPReassemblyGetReply{}
4752 }
4753
4754 // IPReassemblyEnableDisable represents the VPP binary API message 'ip_reassembly_enable_disable'.
4755 // Generated from 'ip.api.json', line 2511:
4756 //
4757 //            "ip_reassembly_enable_disable",
4758 //            [
4759 //                "u16",
4760 //                "_vl_msg_id"
4761 //            ],
4762 //            [
4763 //                "u32",
4764 //                "client_index"
4765 //            ],
4766 //            [
4767 //                "u32",
4768 //                "context"
4769 //            ],
4770 //            [
4771 //                "u32",
4772 //                "sw_if_index"
4773 //            ],
4774 //            [
4775 //                "u8",
4776 //                "enable_ip4"
4777 //            ],
4778 //            [
4779 //                "u8",
4780 //                "enable_ip6"
4781 //            ],
4782 //            {
4783 //                "crc": "0xbb8dc5d0"
4784 //            }
4785 //
4786 type IPReassemblyEnableDisable struct {
4787         SwIfIndex uint32
4788         EnableIP4 uint8
4789         EnableIP6 uint8
4790 }
4791
4792 func (*IPReassemblyEnableDisable) GetMessageName() string {
4793         return "ip_reassembly_enable_disable"
4794 }
4795 func (*IPReassemblyEnableDisable) GetCrcString() string {
4796         return "bb8dc5d0"
4797 }
4798 func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType {
4799         return api.RequestMessage
4800 }
4801 func NewIPReassemblyEnableDisable() api.Message {
4802         return &IPReassemblyEnableDisable{}
4803 }
4804
4805 // IPReassemblyEnableDisableReply represents the VPP binary API message 'ip_reassembly_enable_disable_reply'.
4806 // Generated from 'ip.api.json', line 2541:
4807 //
4808 //            "ip_reassembly_enable_disable_reply",
4809 //            [
4810 //                "u16",
4811 //                "_vl_msg_id"
4812 //            ],
4813 //            [
4814 //                "u32",
4815 //                "context"
4816 //            ],
4817 //            [
4818 //                "i32",
4819 //                "retval"
4820 //            ],
4821 //            {
4822 //                "crc": "0xe8d4e804"
4823 //            }
4824 //
4825 type IPReassemblyEnableDisableReply struct {
4826         Retval int32
4827 }
4828
4829 func (*IPReassemblyEnableDisableReply) GetMessageName() string {
4830         return "ip_reassembly_enable_disable_reply"
4831 }
4832 func (*IPReassemblyEnableDisableReply) GetCrcString() string {
4833         return "e8d4e804"
4834 }
4835 func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType {
4836         return api.ReplyMessage
4837 }
4838 func NewIPReassemblyEnableDisableReply() api.Message {
4839         return &IPReassemblyEnableDisableReply{}
4840 }
4841
4842 /* Services */
4843
4844 type Services interface {
4845         DumpIP6Fib(*IP6FibDump) (*IP6FibDetails, error)
4846         DumpIP6Mfib(*IP6MfibDump) (*IP6MfibDetails, error)
4847         DumpIP6ndProxy(*IP6ndProxyDump) (*IP6ndProxyDetails, error)
4848         DumpIPAddress(*IPAddressDump) (*IPAddressDetails, error)
4849         DumpIP(*IPDump) (*IPDetails, error)
4850         DumpIPFib(*IPFibDump) (*IPFibDetails, error)
4851         DumpIPMfib(*IPMfibDump) (*IPMfibDetails, error)
4852         DumpIPNeighbor(*IPNeighborDump) (*IPNeighborDetails, error)
4853         DumpIPUnnumbered(*IPUnnumberedDump) (*IPUnnumberedDetails, error)
4854         DumpMfibSignal(*MfibSignalDump) (*MfibSignalDetails, error)
4855         DumpProxyArp(*ProxyArpDump) (*ProxyArpDetails, error)
4856         DumpProxyArpIntfc(*ProxyArpIntfcDump) (*ProxyArpIntfcDetails, error)
4857         IoamDisable(*IoamDisable) (*IoamDisableReply, error)
4858         IoamEnable(*IoamEnable) (*IoamEnableReply, error)
4859         IP6ndProxyAddDel(*IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error)
4860         IP6ndSendRouterSolicitation(*IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error)
4861         IPAddDelRoute(*IPAddDelRoute) (*IPAddDelRouteReply, error)
4862         IPContainerProxyAddDel(*IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error)
4863         IPMrouteAddDel(*IPMrouteAddDel) (*IPMrouteAddDelReply, error)
4864         IPNeighborAddDel(*IPNeighborAddDel) (*IPNeighborAddDelReply, error)
4865         IPProbeNeighbor(*IPProbeNeighbor) (*IPProbeNeighborReply, error)
4866         IPPuntPolice(*IPPuntPolice) (*IPPuntPoliceReply, error)
4867         IPPuntRedirect(*IPPuntRedirect) (*IPPuntRedirectReply, error)
4868         IPReassemblyEnableDisable(*IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error)
4869         IPReassemblyGet(*IPReassemblyGet) (*IPReassemblyGetReply, error)
4870         IPReassemblySet(*IPReassemblySet) (*IPReassemblySetReply, error)
4871         IPScanNeighborEnableDisable(*IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error)
4872         IPSourceAndPortRangeCheckAddDel(*IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error)
4873         IPSourceAndPortRangeCheckInterfaceAddDel(*IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error)
4874         IPTableAddDel(*IPTableAddDel) (*IPTableAddDelReply, error)
4875         ProxyArpAddDel(*ProxyArpAddDel) (*ProxyArpAddDelReply, error)
4876         ProxyArpIntfcEnableDisable(*ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error)
4877         ResetFib(*ResetFib) (*ResetFibReply, error)
4878         SetArpNeighborLimit(*SetArpNeighborLimit) (*SetArpNeighborLimitReply, error)
4879         SetIPFlowHash(*SetIPFlowHash) (*SetIPFlowHashReply, error)
4880         SwInterfaceIP6EnableDisable(*SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error)
4881         SwInterfaceIP6SetLinkLocalAddress(*SwInterfaceIP6SetLinkLocalAddress) (*SwInterfaceIP6SetLinkLocalAddressReply, error)
4882         SwInterfaceIP6ndRaConfig(*SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error)
4883         SwInterfaceIP6ndRaPrefix(*SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error)
4884         WantIP4ArpEvents(*WantIP4ArpEvents) (*WantIP4ArpEventsReply, error)
4885         WantIP6NdEvents(*WantIP6NdEvents) (*WantIP6NdEventsReply, error)
4886         WantIP6RaEvents(*WantIP6RaEvents) (*WantIP6RaEventsReply, error)
4887 }
4888
4889 func init() {
4890         api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
4891         api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
4892         api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump")
4893         api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails")
4894         api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump")
4895         api.RegisterMessage((*IP6FibDetails)(nil), "ip.IP6FibDetails")
4896         api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump")
4897         api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails")
4898         api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel")
4899         api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply")
4900         api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
4901         api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
4902         api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig")
4903         api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply")
4904         api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix")
4905         api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply")
4906         api.RegisterMessage((*IP6ndProxyAddDel)(nil), "ip.IP6ndProxyAddDel")
4907         api.RegisterMessage((*IP6ndProxyAddDelReply)(nil), "ip.IP6ndProxyAddDelReply")
4908         api.RegisterMessage((*IP6ndProxyDetails)(nil), "ip.IP6ndProxyDetails")
4909         api.RegisterMessage((*IP6ndProxyDump)(nil), "ip.IP6ndProxyDump")
4910         api.RegisterMessage((*IP6ndSendRouterSolicitation)(nil), "ip.IP6ndSendRouterSolicitation")
4911         api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip.IP6ndSendRouterSolicitationReply")
4912         api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
4913         api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
4914         api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress")
4915         api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply")
4916         api.RegisterMessage((*IPAddDelRoute)(nil), "ip.IPAddDelRoute")
4917         api.RegisterMessage((*IPAddDelRouteReply)(nil), "ip.IPAddDelRouteReply")
4918         api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
4919         api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
4920         api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump")
4921         api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails")
4922         api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump")
4923         api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails")
4924         api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
4925         api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
4926         api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
4927         api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
4928         api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
4929         api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
4930         api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
4931         api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
4932         api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
4933         api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
4934         api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
4935         api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
4936         api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
4937         api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
4938         api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
4939         api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
4940         api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
4941         api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
4942         api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable")
4943         api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply")
4944         api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor")
4945         api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply")
4946         api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents")
4947         api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply")
4948         api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent")
4949         api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents")
4950         api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply")
4951         api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent")
4952         api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents")
4953         api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply")
4954         api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent")
4955         api.RegisterMessage((*ProxyArpAddDel)(nil), "ip.ProxyArpAddDel")
4956         api.RegisterMessage((*ProxyArpAddDelReply)(nil), "ip.ProxyArpAddDelReply")
4957         api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump")
4958         api.RegisterMessage((*ProxyArpDetails)(nil), "ip.ProxyArpDetails")
4959         api.RegisterMessage((*ProxyArpIntfcEnableDisable)(nil), "ip.ProxyArpIntfcEnableDisable")
4960         api.RegisterMessage((*ProxyArpIntfcEnableDisableReply)(nil), "ip.ProxyArpIntfcEnableDisableReply")
4961         api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump")
4962         api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails")
4963         api.RegisterMessage((*ResetFib)(nil), "ip.ResetFib")
4964         api.RegisterMessage((*ResetFibReply)(nil), "ip.ResetFibReply")
4965         api.RegisterMessage((*SetArpNeighborLimit)(nil), "ip.SetArpNeighborLimit")
4966         api.RegisterMessage((*SetArpNeighborLimitReply)(nil), "ip.SetArpNeighborLimitReply")
4967         api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
4968         api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
4969         api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
4970         api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
4971         api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
4972         api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
4973         api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
4974         api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
4975         api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
4976         api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
4977 }