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