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