Improvements for binapi-generator and support VPP 19.04 in statsclient
[govpp.git] / examples / binapi / ip / ip.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // source: /usr/share/vpp/api/core/ip.api.json
3
4 /*
5 Package ip is a generated VPP binary API for 'ip' module.
6
7 It consists of:
8           2 enums
9           3 aliases
10          12 types
11           1 union
12          91 messages
13          44 services
14 */
15 package ip
16
17 import (
18         bytes "bytes"
19         context "context"
20         api "git.fd.io/govpp.git/api"
21         struc "github.com/lunixbochs/struc"
22         io "io"
23         strconv "strconv"
24 )
25
26 const (
27         // ModuleName is the name of this module.
28         ModuleName = "ip"
29         // APIVersion is the API version of this module.
30         APIVersion = "2.0.0"
31         // VersionCrc is the CRC of this module.
32         VersionCrc = 0x51ac4ce0
33 )
34
35 // AddressFamily represents VPP binary API enum 'address_family'.
36 type AddressFamily uint32
37
38 const (
39         ADDRESS_IP4 AddressFamily = 0
40         ADDRESS_IP6 AddressFamily = 1
41 )
42
43 var AddressFamily_name = map[uint32]string{
44         0: "ADDRESS_IP4",
45         1: "ADDRESS_IP6",
46 }
47
48 var AddressFamily_value = map[string]uint32{
49         "ADDRESS_IP4": 0,
50         "ADDRESS_IP6": 1,
51 }
52
53 func (x AddressFamily) String() string {
54         s, ok := AddressFamily_name[uint32(x)]
55         if ok {
56                 return s
57         }
58         return strconv.Itoa(int(x))
59 }
60
61 // IPNeighborFlags represents VPP binary API enum 'ip_neighbor_flags'.
62 type IPNeighborFlags uint32
63
64 const (
65         IP_API_NEIGHBOR_FLAG_NONE         IPNeighborFlags = 0
66         IP_API_NEIGHBOR_FLAG_STATIC       IPNeighborFlags = 1
67         IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY IPNeighborFlags = 2
68 )
69
70 var IPNeighborFlags_name = map[uint32]string{
71         0: "IP_API_NEIGHBOR_FLAG_NONE",
72         1: "IP_API_NEIGHBOR_FLAG_STATIC",
73         2: "IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY",
74 }
75
76 var IPNeighborFlags_value = map[string]uint32{
77         "IP_API_NEIGHBOR_FLAG_NONE":         0,
78         "IP_API_NEIGHBOR_FLAG_STATIC":       1,
79         "IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY": 2,
80 }
81
82 func (x IPNeighborFlags) String() string {
83         s, ok := IPNeighborFlags_name[uint32(x)]
84         if ok {
85                 return s
86         }
87         return strconv.Itoa(int(x))
88 }
89
90 // IP4Address represents VPP binary API alias 'ip4_address'.
91 type IP4Address [4]uint8
92
93 // IP6Address represents VPP binary API alias 'ip6_address'.
94 type IP6Address [16]uint8
95
96 // MacAddress represents VPP binary API alias 'mac_address'.
97 type MacAddress [6]uint8
98
99 // Address represents VPP binary API type 'address'.
100 type Address struct {
101         Af AddressFamily
102         Un AddressUnion
103 }
104
105 func (*Address) GetTypeName() string {
106         return "address"
107 }
108 func (*Address) GetCrcString() string {
109         return "09f11671"
110 }
111
112 // FibMplsLabel represents VPP binary API type 'fib_mpls_label'.
113 type FibMplsLabel struct {
114         IsUniform uint8
115         Label     uint32
116         TTL       uint8
117         Exp       uint8
118 }
119
120 func (*FibMplsLabel) GetTypeName() string {
121         return "fib_mpls_label"
122 }
123 func (*FibMplsLabel) GetCrcString() string {
124         return "c93bf35c"
125 }
126
127 // FibPath represents VPP binary API type 'fib_path'.
128 type FibPath struct {
129         SwIfIndex         uint32
130         TableID           uint32
131         Weight            uint8
132         Preference        uint8
133         IsLocal           uint8
134         IsDrop            uint8
135         IsUDPEncap        uint8
136         IsUnreach         uint8
137         IsProhibit        uint8
138         IsResolveHost     uint8
139         IsResolveAttached uint8
140         IsDvr             uint8
141         IsSourceLookup    uint8
142         IsInterfaceRx     uint8
143         Afi               uint8
144         NextHop           []byte `struc:"[16]byte"`
145         NextHopID         uint32
146         RpfID             uint32
147         ViaLabel          uint32
148         NLabels           uint8
149         LabelStack        []FibMplsLabel `struc:"[16]FibMplsLabel"`
150 }
151
152 func (*FibPath) GetTypeName() string {
153         return "fib_path"
154 }
155 func (*FibPath) GetCrcString() string {
156         return "ba7a81f0"
157 }
158
159 // IP4Prefix represents VPP binary API type 'ip4_prefix'.
160 type IP4Prefix struct {
161         Prefix IP4Address
162         Len    uint8
163 }
164
165 func (*IP4Prefix) GetTypeName() string {
166         return "ip4_prefix"
167 }
168 func (*IP4Prefix) GetCrcString() string {
169         return "ea8dc11d"
170 }
171
172 // IP6Prefix represents VPP binary API type 'ip6_prefix'.
173 type IP6Prefix struct {
174         Prefix IP6Address
175         Len    uint8
176 }
177
178 func (*IP6Prefix) GetTypeName() string {
179         return "ip6_prefix"
180 }
181 func (*IP6Prefix) GetCrcString() string {
182         return "779fd64f"
183 }
184
185 // IP6RaPrefixInfo represents VPP binary API type 'ip6_ra_prefix_info'.
186 type IP6RaPrefixInfo struct {
187         Prefix        Prefix
188         Flags         uint8
189         ValidTime     uint32
190         PreferredTime uint32
191 }
192
193 func (*IP6RaPrefixInfo) GetTypeName() string {
194         return "ip6_ra_prefix_info"
195 }
196 func (*IP6RaPrefixInfo) GetCrcString() string {
197         return "fa025b72"
198 }
199
200 // IPNeighbor represents VPP binary API type 'ip_neighbor'.
201 type IPNeighbor struct {
202         SwIfIndex  uint32
203         Flags      IPNeighborFlags
204         MacAddress MacAddress
205         IPAddress  Address
206 }
207
208 func (*IPNeighbor) GetTypeName() string {
209         return "ip_neighbor"
210 }
211 func (*IPNeighbor) GetCrcString() string {
212         return "4bf82d5d"
213 }
214
215 // MfibPath represents VPP binary API type 'mfib_path'.
216 type MfibPath struct {
217         Path     FibPath
218         ItfFlags uint32
219 }
220
221 func (*MfibPath) GetTypeName() string {
222         return "mfib_path"
223 }
224 func (*MfibPath) GetCrcString() string {
225         return "4ba77d32"
226 }
227
228 // Mprefix represents VPP binary API type 'mprefix'.
229 type Mprefix struct {
230         Af               AddressFamily
231         GrpAddressLength uint16
232         GrpAddress       AddressUnion
233         SrcAddress       AddressUnion
234 }
235
236 func (*Mprefix) GetTypeName() string {
237         return "mprefix"
238 }
239 func (*Mprefix) GetCrcString() string {
240         return "1c4cba05"
241 }
242
243 // Prefix represents VPP binary API type 'prefix'.
244 type Prefix struct {
245         Address       Address
246         AddressLength uint8
247 }
248
249 func (*Prefix) GetTypeName() string {
250         return "prefix"
251 }
252 func (*Prefix) GetCrcString() string {
253         return "0403aebc"
254 }
255
256 // ProxyArp represents VPP binary API type 'proxy_arp'.
257 type ProxyArp struct {
258         TableID uint32
259         Low     IP4Address
260         Hi      IP4Address
261 }
262
263 func (*ProxyArp) GetTypeName() string {
264         return "proxy_arp"
265 }
266 func (*ProxyArp) GetCrcString() string {
267         return "e9067693"
268 }
269
270 // PuntRedirect represents VPP binary API type 'punt_redirect'.
271 type PuntRedirect struct {
272         RxSwIfIndex uint32
273         TxSwIfIndex uint32
274         Nh          Address
275 }
276
277 func (*PuntRedirect) GetTypeName() string {
278         return "punt_redirect"
279 }
280 func (*PuntRedirect) GetCrcString() string {
281         return "3e7a801f"
282 }
283
284 // AddressUnion represents VPP binary API union 'address_union'.
285 type AddressUnion struct {
286         XXX_UnionData [16]byte
287 }
288
289 func (*AddressUnion) GetTypeName() string {
290         return "address_union"
291 }
292 func (*AddressUnion) GetCrcString() string {
293         return "d68a2fb4"
294 }
295
296 func AddressUnionIP4(a IP4Address) (u AddressUnion) {
297         u.SetIP4(a)
298         return
299 }
300 func (u *AddressUnion) SetIP4(a IP4Address) {
301         var b = new(bytes.Buffer)
302         if err := struc.Pack(b, &a); err != nil {
303                 return
304         }
305         copy(u.XXX_UnionData[:], b.Bytes())
306 }
307 func (u *AddressUnion) GetIP4() (a IP4Address) {
308         var b = bytes.NewReader(u.XXX_UnionData[:])
309         struc.Unpack(b, &a)
310         return
311 }
312
313 func AddressUnionIP6(a IP6Address) (u AddressUnion) {
314         u.SetIP6(a)
315         return
316 }
317 func (u *AddressUnion) SetIP6(a IP6Address) {
318         var b = new(bytes.Buffer)
319         if err := struc.Pack(b, &a); err != nil {
320                 return
321         }
322         copy(u.XXX_UnionData[:], b.Bytes())
323 }
324 func (u *AddressUnion) GetIP6() (a IP6Address) {
325         var b = bytes.NewReader(u.XXX_UnionData[:])
326         struc.Unpack(b, &a)
327         return
328 }
329
330 // IoamDisable represents VPP binary API message 'ioam_disable'.
331 type IoamDisable struct {
332         ID uint16
333 }
334
335 func (*IoamDisable) GetMessageName() string {
336         return "ioam_disable"
337 }
338 func (*IoamDisable) GetCrcString() string {
339         return "6b16a45e"
340 }
341 func (*IoamDisable) GetMessageType() api.MessageType {
342         return api.RequestMessage
343 }
344
345 // IoamDisableReply represents VPP binary API message 'ioam_disable_reply'.
346 type IoamDisableReply struct {
347         Retval int32
348 }
349
350 func (*IoamDisableReply) GetMessageName() string {
351         return "ioam_disable_reply"
352 }
353 func (*IoamDisableReply) GetCrcString() string {
354         return "e8d4e804"
355 }
356 func (*IoamDisableReply) GetMessageType() api.MessageType {
357         return api.ReplyMessage
358 }
359
360 // IoamEnable represents VPP binary API message 'ioam_enable'.
361 type IoamEnable struct {
362         ID          uint16
363         Seqno       uint8
364         Analyse     uint8
365         PotEnable   uint8
366         TraceEnable uint8
367         NodeID      uint32
368 }
369
370 func (*IoamEnable) GetMessageName() string {
371         return "ioam_enable"
372 }
373 func (*IoamEnable) GetCrcString() string {
374         return "9392e032"
375 }
376 func (*IoamEnable) GetMessageType() api.MessageType {
377         return api.RequestMessage
378 }
379
380 // IoamEnableReply represents VPP binary API message 'ioam_enable_reply'.
381 type IoamEnableReply struct {
382         Retval int32
383 }
384
385 func (*IoamEnableReply) GetMessageName() string {
386         return "ioam_enable_reply"
387 }
388 func (*IoamEnableReply) GetCrcString() string {
389         return "e8d4e804"
390 }
391 func (*IoamEnableReply) GetMessageType() api.MessageType {
392         return api.ReplyMessage
393 }
394
395 // IP4ArpEvent represents VPP binary API message 'ip4_arp_event'.
396 type IP4ArpEvent struct {
397         IP        IP4Address
398         PID       uint32
399         SwIfIndex uint32
400         Mac       MacAddress
401         MacIP     uint8
402 }
403
404 func (*IP4ArpEvent) GetMessageName() string {
405         return "ip4_arp_event"
406 }
407 func (*IP4ArpEvent) GetCrcString() string {
408         return "72cdde7c"
409 }
410 func (*IP4ArpEvent) GetMessageType() api.MessageType {
411         return api.EventMessage
412 }
413
414 // IP6FibDetails represents VPP binary API message 'ip6_fib_details'.
415 type IP6FibDetails struct {
416         TableID       uint32
417         TableName     []byte `struc:"[64]byte"`
418         AddressLength uint8
419         Address       []byte `struc:"[16]byte"`
420         Count         uint32 `struc:"sizeof=Path"`
421         StatsIndex    uint32
422         Path          []FibPath
423 }
424
425 func (*IP6FibDetails) GetMessageName() string {
426         return "ip6_fib_details"
427 }
428 func (*IP6FibDetails) GetCrcString() string {
429         return "ef11e94d"
430 }
431 func (*IP6FibDetails) GetMessageType() api.MessageType {
432         return api.ReplyMessage
433 }
434
435 // IP6FibDump represents VPP binary API message 'ip6_fib_dump'.
436 type IP6FibDump struct{}
437
438 func (*IP6FibDump) GetMessageName() string {
439         return "ip6_fib_dump"
440 }
441 func (*IP6FibDump) GetCrcString() string {
442         return "51077d14"
443 }
444 func (*IP6FibDump) GetMessageType() api.MessageType {
445         return api.RequestMessage
446 }
447
448 // IP6MfibDetails represents VPP binary API message 'ip6_mfib_details'.
449 type IP6MfibDetails struct {
450         TableID       uint32
451         AddressLength uint8
452         GrpAddress    []byte `struc:"[16]byte"`
453         SrcAddress    []byte `struc:"[16]byte"`
454         Count         uint32 `struc:"sizeof=Path"`
455         Path          []MfibPath
456 }
457
458 func (*IP6MfibDetails) GetMessageName() string {
459         return "ip6_mfib_details"
460 }
461 func (*IP6MfibDetails) GetCrcString() string {
462         return "738c546e"
463 }
464 func (*IP6MfibDetails) GetMessageType() api.MessageType {
465         return api.ReplyMessage
466 }
467
468 // IP6MfibDump represents VPP binary API message 'ip6_mfib_dump'.
469 type IP6MfibDump struct{}
470
471 func (*IP6MfibDump) GetMessageName() string {
472         return "ip6_mfib_dump"
473 }
474 func (*IP6MfibDump) GetCrcString() string {
475         return "51077d14"
476 }
477 func (*IP6MfibDump) GetMessageType() api.MessageType {
478         return api.RequestMessage
479 }
480
481 // IP6NdEvent represents VPP binary API message 'ip6_nd_event'.
482 type IP6NdEvent struct {
483         PID       uint32
484         SwIfIndex uint32
485         IP        IP6Address
486         Mac       MacAddress
487         MacIP     uint8
488 }
489
490 func (*IP6NdEvent) GetMessageName() string {
491         return "ip6_nd_event"
492 }
493 func (*IP6NdEvent) GetCrcString() string {
494         return "3a23e7d4"
495 }
496 func (*IP6NdEvent) GetMessageType() api.MessageType {
497         return api.EventMessage
498 }
499
500 // IP6RaEvent represents VPP binary API message 'ip6_ra_event'.
501 type IP6RaEvent struct {
502         PID                                                 uint32
503         SwIfIndex                                           uint32
504         RouterAddr                                          IP6Address
505         CurrentHopLimit                                     uint8
506         Flags                                               uint8
507         RouterLifetimeInSec                                 uint16
508         NeighborReachableTimeInMsec                         uint32
509         TimeInMsecBetweenRetransmittedNeighborSolicitations uint32
510         NPrefixes                                           uint32 `struc:"sizeof=Prefixes"`
511         Prefixes                                            []IP6RaPrefixInfo
512 }
513
514 func (*IP6RaEvent) GetMessageName() string {
515         return "ip6_ra_event"
516 }
517 func (*IP6RaEvent) GetCrcString() string {
518         return "2e718fcc"
519 }
520 func (*IP6RaEvent) GetMessageType() api.MessageType {
521         return api.EventMessage
522 }
523
524 // IP6ndProxyAddDel represents VPP binary API message 'ip6nd_proxy_add_del'.
525 type IP6ndProxyAddDel struct {
526         SwIfIndex uint32
527         IsDel     uint8
528         IP        IP6Address
529 }
530
531 func (*IP6ndProxyAddDel) GetMessageName() string {
532         return "ip6nd_proxy_add_del"
533 }
534 func (*IP6ndProxyAddDel) GetCrcString() string {
535         return "bff10d55"
536 }
537 func (*IP6ndProxyAddDel) GetMessageType() api.MessageType {
538         return api.RequestMessage
539 }
540
541 // IP6ndProxyAddDelReply represents VPP binary API message 'ip6nd_proxy_add_del_reply'.
542 type IP6ndProxyAddDelReply struct {
543         Retval int32
544 }
545
546 func (*IP6ndProxyAddDelReply) GetMessageName() string {
547         return "ip6nd_proxy_add_del_reply"
548 }
549 func (*IP6ndProxyAddDelReply) GetCrcString() string {
550         return "e8d4e804"
551 }
552 func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType {
553         return api.ReplyMessage
554 }
555
556 // IP6ndProxyDetails represents VPP binary API message 'ip6nd_proxy_details'.
557 type IP6ndProxyDetails struct {
558         SwIfIndex uint32
559         IP        IP6Address
560 }
561
562 func (*IP6ndProxyDetails) GetMessageName() string {
563         return "ip6nd_proxy_details"
564 }
565 func (*IP6ndProxyDetails) GetCrcString() string {
566         return "bbbd7894"
567 }
568 func (*IP6ndProxyDetails) GetMessageType() api.MessageType {
569         return api.ReplyMessage
570 }
571
572 // IP6ndProxyDump represents VPP binary API message 'ip6nd_proxy_dump'.
573 type IP6ndProxyDump struct{}
574
575 func (*IP6ndProxyDump) GetMessageName() string {
576         return "ip6nd_proxy_dump"
577 }
578 func (*IP6ndProxyDump) GetCrcString() string {
579         return "51077d14"
580 }
581 func (*IP6ndProxyDump) GetMessageType() api.MessageType {
582         return api.RequestMessage
583 }
584
585 // IP6ndSendRouterSolicitation represents VPP binary API message 'ip6nd_send_router_solicitation'.
586 type IP6ndSendRouterSolicitation struct {
587         Irt       uint32
588         Mrt       uint32
589         Mrc       uint32
590         Mrd       uint32
591         SwIfIndex uint32
592         Stop      uint8
593 }
594
595 func (*IP6ndSendRouterSolicitation) GetMessageName() string {
596         return "ip6nd_send_router_solicitation"
597 }
598 func (*IP6ndSendRouterSolicitation) GetCrcString() string {
599         return "bd968917"
600 }
601 func (*IP6ndSendRouterSolicitation) GetMessageType() api.MessageType {
602         return api.RequestMessage
603 }
604
605 // IP6ndSendRouterSolicitationReply represents VPP binary API message 'ip6nd_send_router_solicitation_reply'.
606 type IP6ndSendRouterSolicitationReply struct {
607         Retval int32
608 }
609
610 func (*IP6ndSendRouterSolicitationReply) GetMessageName() string {
611         return "ip6nd_send_router_solicitation_reply"
612 }
613 func (*IP6ndSendRouterSolicitationReply) GetCrcString() string {
614         return "e8d4e804"
615 }
616 func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType {
617         return api.ReplyMessage
618 }
619
620 // IPAddDelRoute represents VPP binary API message 'ip_add_del_route'.
621 type IPAddDelRoute struct {
622         NextHopSwIfIndex     uint32
623         TableID              uint32
624         ClassifyTableIndex   uint32
625         NextHopTableID       uint32
626         NextHopID            uint32
627         IsAdd                uint8
628         IsDrop               uint8
629         IsUnreach            uint8
630         IsProhibit           uint8
631         IsIPv6               uint8
632         IsLocal              uint8
633         IsClassify           uint8
634         IsMultipath          uint8
635         IsResolveHost        uint8
636         IsResolveAttached    uint8
637         IsDvr                uint8
638         IsSourceLookup       uint8
639         IsUDPEncap           uint8
640         NextHopWeight        uint8
641         NextHopPreference    uint8
642         NextHopProto         uint8
643         DstAddressLength     uint8
644         DstAddress           []byte `struc:"[16]byte"`
645         NextHopAddress       []byte `struc:"[16]byte"`
646         NextHopNOutLabels    uint8  `struc:"sizeof=NextHopOutLabelStack"`
647         NextHopViaLabel      uint32
648         NextHopOutLabelStack []FibMplsLabel
649 }
650
651 func (*IPAddDelRoute) GetMessageName() string {
652         return "ip_add_del_route"
653 }
654 func (*IPAddDelRoute) GetCrcString() string {
655         return "4219d62d"
656 }
657 func (*IPAddDelRoute) GetMessageType() api.MessageType {
658         return api.RequestMessage
659 }
660
661 // IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply'.
662 type IPAddDelRouteReply struct {
663         Retval     int32
664         StatsIndex uint32
665 }
666
667 func (*IPAddDelRouteReply) GetMessageName() string {
668         return "ip_add_del_route_reply"
669 }
670 func (*IPAddDelRouteReply) GetCrcString() string {
671         return "1992deab"
672 }
673 func (*IPAddDelRouteReply) GetMessageType() api.MessageType {
674         return api.ReplyMessage
675 }
676
677 // IPAddressDetails represents VPP binary API message 'ip_address_details'.
678 type IPAddressDetails struct {
679         IP           []byte `struc:"[16]byte"`
680         PrefixLength uint8
681         SwIfIndex    uint32
682         IsIPv6       uint8
683 }
684
685 func (*IPAddressDetails) GetMessageName() string {
686         return "ip_address_details"
687 }
688 func (*IPAddressDetails) GetCrcString() string {
689         return "9bc25966"
690 }
691 func (*IPAddressDetails) GetMessageType() api.MessageType {
692         return api.ReplyMessage
693 }
694
695 // IPAddressDump represents VPP binary API message 'ip_address_dump'.
696 type IPAddressDump struct {
697         SwIfIndex uint32
698         IsIPv6    uint8
699 }
700
701 func (*IPAddressDump) GetMessageName() string {
702         return "ip_address_dump"
703 }
704 func (*IPAddressDump) GetCrcString() string {
705         return "6b7bcd0a"
706 }
707 func (*IPAddressDump) GetMessageType() api.MessageType {
708         return api.RequestMessage
709 }
710
711 // IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del'.
712 type IPContainerProxyAddDel struct {
713         Pfx       Prefix
714         SwIfIndex uint32
715         IsAdd     uint8
716 }
717
718 func (*IPContainerProxyAddDel) GetMessageName() string {
719         return "ip_container_proxy_add_del"
720 }
721 func (*IPContainerProxyAddDel) GetCrcString() string {
722         return "5938e73a"
723 }
724 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
725         return api.RequestMessage
726 }
727
728 // IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply'.
729 type IPContainerProxyAddDelReply struct {
730         Retval int32
731 }
732
733 func (*IPContainerProxyAddDelReply) GetMessageName() string {
734         return "ip_container_proxy_add_del_reply"
735 }
736 func (*IPContainerProxyAddDelReply) GetCrcString() string {
737         return "e8d4e804"
738 }
739 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
740         return api.ReplyMessage
741 }
742
743 // IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details'.
744 type IPContainerProxyDetails struct {
745         SwIfIndex uint32
746         Prefix    Prefix
747 }
748
749 func (*IPContainerProxyDetails) GetMessageName() string {
750         return "ip_container_proxy_details"
751 }
752 func (*IPContainerProxyDetails) GetCrcString() string {
753         return "d528df63"
754 }
755 func (*IPContainerProxyDetails) GetMessageType() api.MessageType {
756         return api.ReplyMessage
757 }
758
759 // IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump'.
760 type IPContainerProxyDump struct{}
761
762 func (*IPContainerProxyDump) GetMessageName() string {
763         return "ip_container_proxy_dump"
764 }
765 func (*IPContainerProxyDump) GetCrcString() string {
766         return "51077d14"
767 }
768 func (*IPContainerProxyDump) GetMessageType() api.MessageType {
769         return api.RequestMessage
770 }
771
772 // IPDetails represents VPP binary API message 'ip_details'.
773 type IPDetails struct {
774         SwIfIndex uint32
775         IsIPv6    uint8
776 }
777
778 func (*IPDetails) GetMessageName() string {
779         return "ip_details"
780 }
781 func (*IPDetails) GetCrcString() string {
782         return "8bb37ec4"
783 }
784 func (*IPDetails) GetMessageType() api.MessageType {
785         return api.ReplyMessage
786 }
787
788 // IPDump represents VPP binary API message 'ip_dump'.
789 type IPDump struct {
790         IsIPv6 uint8
791 }
792
793 func (*IPDump) GetMessageName() string {
794         return "ip_dump"
795 }
796 func (*IPDump) GetCrcString() string {
797         return "de883da4"
798 }
799 func (*IPDump) GetMessageType() api.MessageType {
800         return api.RequestMessage
801 }
802
803 // IPFibDetails represents VPP binary API message 'ip_fib_details'.
804 type IPFibDetails struct {
805         TableID       uint32
806         TableName     []byte `struc:"[64]byte"`
807         AddressLength uint8
808         Address       []byte `struc:"[4]byte"`
809         Count         uint32 `struc:"sizeof=Path"`
810         StatsIndex    uint32
811         Path          []FibPath
812 }
813
814 func (*IPFibDetails) GetMessageName() string {
815         return "ip_fib_details"
816 }
817 func (*IPFibDetails) GetCrcString() string {
818         return "f6a2fab3"
819 }
820 func (*IPFibDetails) GetMessageType() api.MessageType {
821         return api.ReplyMessage
822 }
823
824 // IPFibDump represents VPP binary API message 'ip_fib_dump'.
825 type IPFibDump struct{}
826
827 func (*IPFibDump) GetMessageName() string {
828         return "ip_fib_dump"
829 }
830 func (*IPFibDump) GetCrcString() string {
831         return "51077d14"
832 }
833 func (*IPFibDump) GetMessageType() api.MessageType {
834         return api.RequestMessage
835 }
836
837 // IPMfibDetails represents VPP binary API message 'ip_mfib_details'.
838 type IPMfibDetails struct {
839         TableID       uint32
840         EntryFlags    uint32
841         RpfID         uint32
842         AddressLength uint8
843         GrpAddress    []byte `struc:"[4]byte"`
844         SrcAddress    []byte `struc:"[4]byte"`
845         Count         uint32 `struc:"sizeof=Path"`
846         StatsIndex    uint32
847         Path          []MfibPath
848 }
849
850 func (*IPMfibDetails) GetMessageName() string {
851         return "ip_mfib_details"
852 }
853 func (*IPMfibDetails) GetCrcString() string {
854         return "61faa26f"
855 }
856 func (*IPMfibDetails) GetMessageType() api.MessageType {
857         return api.ReplyMessage
858 }
859
860 // IPMfibDump represents VPP binary API message 'ip_mfib_dump'.
861 type IPMfibDump struct{}
862
863 func (*IPMfibDump) GetMessageName() string {
864         return "ip_mfib_dump"
865 }
866 func (*IPMfibDump) GetCrcString() string {
867         return "51077d14"
868 }
869 func (*IPMfibDump) GetMessageType() api.MessageType {
870         return api.RequestMessage
871 }
872
873 // IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del'.
874 type IPMrouteAddDel struct {
875         NextHopSwIfIndex uint32
876         TableID          uint32
877         EntryFlags       uint32
878         ItfFlags         uint32
879         RpfID            uint32
880         BierImp          uint32
881         GrpAddressLength uint16
882         NextHopAfi       uint8
883         IsAdd            uint8
884         IsIPv6           uint8
885         IsLocal          uint8
886         GrpAddress       []byte `struc:"[16]byte"`
887         SrcAddress       []byte `struc:"[16]byte"`
888         NhAddress        []byte `struc:"[16]byte"`
889 }
890
891 func (*IPMrouteAddDel) GetMessageName() string {
892         return "ip_mroute_add_del"
893 }
894 func (*IPMrouteAddDel) GetCrcString() string {
895         return "f44c17b1"
896 }
897 func (*IPMrouteAddDel) GetMessageType() api.MessageType {
898         return api.RequestMessage
899 }
900
901 // IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply'.
902 type IPMrouteAddDelReply struct {
903         Retval     int32
904         StatsIndex uint32
905 }
906
907 func (*IPMrouteAddDelReply) GetMessageName() string {
908         return "ip_mroute_add_del_reply"
909 }
910 func (*IPMrouteAddDelReply) GetCrcString() string {
911         return "1992deab"
912 }
913 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
914         return api.ReplyMessage
915 }
916
917 // IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del'.
918 type IPNeighborAddDel struct {
919         IsAdd    uint8
920         Neighbor IPNeighbor
921 }
922
923 func (*IPNeighborAddDel) GetMessageName() string {
924         return "ip_neighbor_add_del"
925 }
926 func (*IPNeighborAddDel) GetCrcString() string {
927         return "adea3ef4"
928 }
929 func (*IPNeighborAddDel) GetMessageType() api.MessageType {
930         return api.RequestMessage
931 }
932
933 // IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply'.
934 type IPNeighborAddDelReply struct {
935         Retval     int32
936         StatsIndex uint32
937 }
938
939 func (*IPNeighborAddDelReply) GetMessageName() string {
940         return "ip_neighbor_add_del_reply"
941 }
942 func (*IPNeighborAddDelReply) GetCrcString() string {
943         return "1992deab"
944 }
945 func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
946         return api.ReplyMessage
947 }
948
949 // IPNeighborDetails represents VPP binary API message 'ip_neighbor_details'.
950 type IPNeighborDetails struct {
951         Neighbor IPNeighbor
952 }
953
954 func (*IPNeighborDetails) GetMessageName() string {
955         return "ip_neighbor_details"
956 }
957 func (*IPNeighborDetails) GetCrcString() string {
958         return "512fb08d"
959 }
960 func (*IPNeighborDetails) GetMessageType() api.MessageType {
961         return api.ReplyMessage
962 }
963
964 // IPNeighborDump represents VPP binary API message 'ip_neighbor_dump'.
965 type IPNeighborDump struct {
966         SwIfIndex uint32
967         IsIPv6    uint8
968 }
969
970 func (*IPNeighborDump) GetMessageName() string {
971         return "ip_neighbor_dump"
972 }
973 func (*IPNeighborDump) GetCrcString() string {
974         return "6b7bcd0a"
975 }
976 func (*IPNeighborDump) GetMessageType() api.MessageType {
977         return api.RequestMessage
978 }
979
980 // IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor'.
981 type IPProbeNeighbor struct {
982         SwIfIndex uint32
983         Dst       Address
984 }
985
986 func (*IPProbeNeighbor) GetMessageName() string {
987         return "ip_probe_neighbor"
988 }
989 func (*IPProbeNeighbor) GetCrcString() string {
990         return "1e6c0a77"
991 }
992 func (*IPProbeNeighbor) GetMessageType() api.MessageType {
993         return api.RequestMessage
994 }
995
996 // IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply'.
997 type IPProbeNeighborReply struct {
998         Retval int32
999 }
1000
1001 func (*IPProbeNeighborReply) GetMessageName() string {
1002         return "ip_probe_neighbor_reply"
1003 }
1004 func (*IPProbeNeighborReply) GetCrcString() string {
1005         return "e8d4e804"
1006 }
1007 func (*IPProbeNeighborReply) GetMessageType() api.MessageType {
1008         return api.ReplyMessage
1009 }
1010
1011 // IPPuntPolice represents VPP binary API message 'ip_punt_police'.
1012 type IPPuntPolice struct {
1013         PolicerIndex uint32
1014         IsAdd        uint8
1015         IsIP6        uint8
1016 }
1017
1018 func (*IPPuntPolice) GetMessageName() string {
1019         return "ip_punt_police"
1020 }
1021 func (*IPPuntPolice) GetCrcString() string {
1022         return "38691592"
1023 }
1024 func (*IPPuntPolice) GetMessageType() api.MessageType {
1025         return api.RequestMessage
1026 }
1027
1028 // IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply'.
1029 type IPPuntPoliceReply struct {
1030         Retval int32
1031 }
1032
1033 func (*IPPuntPoliceReply) GetMessageName() string {
1034         return "ip_punt_police_reply"
1035 }
1036 func (*IPPuntPoliceReply) GetCrcString() string {
1037         return "e8d4e804"
1038 }
1039 func (*IPPuntPoliceReply) GetMessageType() api.MessageType {
1040         return api.ReplyMessage
1041 }
1042
1043 // IPPuntRedirect represents VPP binary API message 'ip_punt_redirect'.
1044 type IPPuntRedirect struct {
1045         Punt  PuntRedirect
1046         IsAdd uint8
1047 }
1048
1049 func (*IPPuntRedirect) GetMessageName() string {
1050         return "ip_punt_redirect"
1051 }
1052 func (*IPPuntRedirect) GetCrcString() string {
1053         return "a953495b"
1054 }
1055 func (*IPPuntRedirect) GetMessageType() api.MessageType {
1056         return api.RequestMessage
1057 }
1058
1059 // IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details'.
1060 type IPPuntRedirectDetails struct {
1061         Punt PuntRedirect
1062 }
1063
1064 func (*IPPuntRedirectDetails) GetMessageName() string {
1065         return "ip_punt_redirect_details"
1066 }
1067 func (*IPPuntRedirectDetails) GetCrcString() string {
1068         return "a47f70da"
1069 }
1070 func (*IPPuntRedirectDetails) GetMessageType() api.MessageType {
1071         return api.ReplyMessage
1072 }
1073
1074 // IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump'.
1075 type IPPuntRedirectDump struct {
1076         SwIfIndex uint32
1077         IsIPv6    uint8
1078 }
1079
1080 func (*IPPuntRedirectDump) GetMessageName() string {
1081         return "ip_punt_redirect_dump"
1082 }
1083 func (*IPPuntRedirectDump) GetCrcString() string {
1084         return "6b7bcd0a"
1085 }
1086 func (*IPPuntRedirectDump) GetMessageType() api.MessageType {
1087         return api.RequestMessage
1088 }
1089
1090 // IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply'.
1091 type IPPuntRedirectReply struct {
1092         Retval int32
1093 }
1094
1095 func (*IPPuntRedirectReply) GetMessageName() string {
1096         return "ip_punt_redirect_reply"
1097 }
1098 func (*IPPuntRedirectReply) GetCrcString() string {
1099         return "e8d4e804"
1100 }
1101 func (*IPPuntRedirectReply) GetMessageType() api.MessageType {
1102         return api.ReplyMessage
1103 }
1104
1105 // IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable'.
1106 type IPReassemblyEnableDisable struct {
1107         SwIfIndex uint32
1108         EnableIP4 uint8
1109         EnableIP6 uint8
1110 }
1111
1112 func (*IPReassemblyEnableDisable) GetMessageName() string {
1113         return "ip_reassembly_enable_disable"
1114 }
1115 func (*IPReassemblyEnableDisable) GetCrcString() string {
1116         return "bb8dc5d0"
1117 }
1118 func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType {
1119         return api.RequestMessage
1120 }
1121
1122 // IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply'.
1123 type IPReassemblyEnableDisableReply struct {
1124         Retval int32
1125 }
1126
1127 func (*IPReassemblyEnableDisableReply) GetMessageName() string {
1128         return "ip_reassembly_enable_disable_reply"
1129 }
1130 func (*IPReassemblyEnableDisableReply) GetCrcString() string {
1131         return "e8d4e804"
1132 }
1133 func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType {
1134         return api.ReplyMessage
1135 }
1136
1137 // IPReassemblyGet represents VPP binary API message 'ip_reassembly_get'.
1138 type IPReassemblyGet struct {
1139         IsIP6 uint8
1140 }
1141
1142 func (*IPReassemblyGet) GetMessageName() string {
1143         return "ip_reassembly_get"
1144 }
1145 func (*IPReassemblyGet) GetCrcString() string {
1146         return "6fe91190"
1147 }
1148 func (*IPReassemblyGet) GetMessageType() api.MessageType {
1149         return api.RequestMessage
1150 }
1151
1152 // IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply'.
1153 type IPReassemblyGetReply struct {
1154         Retval               int32
1155         TimeoutMs            uint32
1156         MaxReassemblies      uint32
1157         ExpireWalkIntervalMs uint32
1158         IsIP6                uint8
1159 }
1160
1161 func (*IPReassemblyGetReply) GetMessageName() string {
1162         return "ip_reassembly_get_reply"
1163 }
1164 func (*IPReassemblyGetReply) GetCrcString() string {
1165         return "1f90afd1"
1166 }
1167 func (*IPReassemblyGetReply) GetMessageType() api.MessageType {
1168         return api.ReplyMessage
1169 }
1170
1171 // IPReassemblySet represents VPP binary API message 'ip_reassembly_set'.
1172 type IPReassemblySet struct {
1173         TimeoutMs            uint32
1174         MaxReassemblies      uint32
1175         ExpireWalkIntervalMs uint32
1176         IsIP6                uint8
1177 }
1178
1179 func (*IPReassemblySet) GetMessageName() string {
1180         return "ip_reassembly_set"
1181 }
1182 func (*IPReassemblySet) GetCrcString() string {
1183         return "1db184de"
1184 }
1185 func (*IPReassemblySet) GetMessageType() api.MessageType {
1186         return api.RequestMessage
1187 }
1188
1189 // IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply'.
1190 type IPReassemblySetReply struct {
1191         Retval int32
1192 }
1193
1194 func (*IPReassemblySetReply) GetMessageName() string {
1195         return "ip_reassembly_set_reply"
1196 }
1197 func (*IPReassemblySetReply) GetCrcString() string {
1198         return "e8d4e804"
1199 }
1200 func (*IPReassemblySetReply) GetMessageType() api.MessageType {
1201         return api.ReplyMessage
1202 }
1203
1204 // IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable'.
1205 type IPScanNeighborEnableDisable struct {
1206         Mode           uint8
1207         ScanInterval   uint8
1208         MaxProcTime    uint8
1209         MaxUpdate      uint8
1210         ScanIntDelay   uint8
1211         StaleThreshold uint8
1212 }
1213
1214 func (*IPScanNeighborEnableDisable) GetMessageName() string {
1215         return "ip_scan_neighbor_enable_disable"
1216 }
1217 func (*IPScanNeighborEnableDisable) GetCrcString() string {
1218         return "0a6bf57a"
1219 }
1220 func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType {
1221         return api.RequestMessage
1222 }
1223
1224 // IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply'.
1225 type IPScanNeighborEnableDisableReply struct {
1226         Retval int32
1227 }
1228
1229 func (*IPScanNeighborEnableDisableReply) GetMessageName() string {
1230         return "ip_scan_neighbor_enable_disable_reply"
1231 }
1232 func (*IPScanNeighborEnableDisableReply) GetCrcString() string {
1233         return "e8d4e804"
1234 }
1235 func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType {
1236         return api.ReplyMessage
1237 }
1238
1239 // IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del'.
1240 type IPSourceAndPortRangeCheckAddDel struct {
1241         IsAdd          uint8
1242         Prefix         Prefix
1243         NumberOfRanges uint8
1244         LowPorts       []uint16 `struc:"[32]uint16"`
1245         HighPorts      []uint16 `struc:"[32]uint16"`
1246         VrfID          uint32
1247 }
1248
1249 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
1250         return "ip_source_and_port_range_check_add_del"
1251 }
1252 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string {
1253         return "ea07c429"
1254 }
1255 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
1256         return api.RequestMessage
1257 }
1258
1259 // IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
1260 type IPSourceAndPortRangeCheckAddDelReply struct {
1261         Retval int32
1262 }
1263
1264 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
1265         return "ip_source_and_port_range_check_add_del_reply"
1266 }
1267 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string {
1268         return "e8d4e804"
1269 }
1270 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
1271         return api.ReplyMessage
1272 }
1273
1274 // IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
1275 type IPSourceAndPortRangeCheckInterfaceAddDel struct {
1276         IsAdd       uint8
1277         SwIfIndex   uint32
1278         TCPInVrfID  uint32
1279         TCPOutVrfID uint32
1280         UDPInVrfID  uint32
1281         UDPOutVrfID uint32
1282 }
1283
1284 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
1285         return "ip_source_and_port_range_check_interface_add_del"
1286 }
1287 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string {
1288         return "6966bc44"
1289 }
1290 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
1291         return api.RequestMessage
1292 }
1293
1294 // IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
1295 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
1296         Retval int32
1297 }
1298
1299 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
1300         return "ip_source_and_port_range_check_interface_add_del_reply"
1301 }
1302 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string {
1303         return "e8d4e804"
1304 }
1305 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
1306         return api.ReplyMessage
1307 }
1308
1309 // IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del'.
1310 type IPSourceCheckInterfaceAddDel struct {
1311         IsAdd     uint8
1312         Loose     uint8
1313         SwIfIndex uint32
1314 }
1315
1316 func (*IPSourceCheckInterfaceAddDel) GetMessageName() string {
1317         return "ip_source_check_interface_add_del"
1318 }
1319 func (*IPSourceCheckInterfaceAddDel) GetCrcString() string {
1320         return "0a60152a"
1321 }
1322 func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType {
1323         return api.RequestMessage
1324 }
1325
1326 // IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply'.
1327 type IPSourceCheckInterfaceAddDelReply struct {
1328         Retval int32
1329 }
1330
1331 func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string {
1332         return "ip_source_check_interface_add_del_reply"
1333 }
1334 func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string {
1335         return "e8d4e804"
1336 }
1337 func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
1338         return api.ReplyMessage
1339 }
1340
1341 // IPTableAddDel represents VPP binary API message 'ip_table_add_del'.
1342 type IPTableAddDel struct {
1343         TableID uint32
1344         IsIPv6  uint8
1345         IsAdd   uint8
1346         Name    []byte `struc:"[64]byte"`
1347 }
1348
1349 func (*IPTableAddDel) GetMessageName() string {
1350         return "ip_table_add_del"
1351 }
1352 func (*IPTableAddDel) GetCrcString() string {
1353         return "0240c89d"
1354 }
1355 func (*IPTableAddDel) GetMessageType() api.MessageType {
1356         return api.RequestMessage
1357 }
1358
1359 // IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply'.
1360 type IPTableAddDelReply struct {
1361         Retval int32
1362 }
1363
1364 func (*IPTableAddDelReply) GetMessageName() string {
1365         return "ip_table_add_del_reply"
1366 }
1367 func (*IPTableAddDelReply) GetCrcString() string {
1368         return "e8d4e804"
1369 }
1370 func (*IPTableAddDelReply) GetMessageType() api.MessageType {
1371         return api.ReplyMessage
1372 }
1373
1374 // IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details'.
1375 type IPUnnumberedDetails struct {
1376         SwIfIndex   uint32
1377         IPSwIfIndex uint32
1378 }
1379
1380 func (*IPUnnumberedDetails) GetMessageName() string {
1381         return "ip_unnumbered_details"
1382 }
1383 func (*IPUnnumberedDetails) GetCrcString() string {
1384         return "ae694cf4"
1385 }
1386 func (*IPUnnumberedDetails) GetMessageType() api.MessageType {
1387         return api.ReplyMessage
1388 }
1389
1390 // IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump'.
1391 type IPUnnumberedDump struct {
1392         SwIfIndex uint32
1393 }
1394
1395 func (*IPUnnumberedDump) GetMessageName() string {
1396         return "ip_unnumbered_dump"
1397 }
1398 func (*IPUnnumberedDump) GetCrcString() string {
1399         return "529cb13f"
1400 }
1401 func (*IPUnnumberedDump) GetMessageType() api.MessageType {
1402         return api.RequestMessage
1403 }
1404
1405 // MfibSignalDetails represents VPP binary API message 'mfib_signal_details'.
1406 type MfibSignalDetails struct {
1407         SwIfIndex     uint32
1408         TableID       uint32
1409         GrpAddressLen uint16
1410         GrpAddress    []byte `struc:"[16]byte"`
1411         SrcAddress    []byte `struc:"[16]byte"`
1412         IPPacketLen   uint16
1413         IPPacketData  []byte `struc:"[256]byte"`
1414 }
1415
1416 func (*MfibSignalDetails) GetMessageName() string {
1417         return "mfib_signal_details"
1418 }
1419 func (*MfibSignalDetails) GetCrcString() string {
1420         return "3f5f03f5"
1421 }
1422 func (*MfibSignalDetails) GetMessageType() api.MessageType {
1423         return api.ReplyMessage
1424 }
1425
1426 // MfibSignalDump represents VPP binary API message 'mfib_signal_dump'.
1427 type MfibSignalDump struct{}
1428
1429 func (*MfibSignalDump) GetMessageName() string {
1430         return "mfib_signal_dump"
1431 }
1432 func (*MfibSignalDump) GetCrcString() string {
1433         return "51077d14"
1434 }
1435 func (*MfibSignalDump) GetMessageType() api.MessageType {
1436         return api.RequestMessage
1437 }
1438
1439 // ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del'.
1440 type ProxyArpAddDel struct {
1441         IsAdd uint8
1442         Proxy ProxyArp
1443 }
1444
1445 func (*ProxyArpAddDel) GetMessageName() string {
1446         return "proxy_arp_add_del"
1447 }
1448 func (*ProxyArpAddDel) GetCrcString() string {
1449         return "227988d9"
1450 }
1451 func (*ProxyArpAddDel) GetMessageType() api.MessageType {
1452         return api.RequestMessage
1453 }
1454
1455 // ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply'.
1456 type ProxyArpAddDelReply struct {
1457         Retval int32
1458 }
1459
1460 func (*ProxyArpAddDelReply) GetMessageName() string {
1461         return "proxy_arp_add_del_reply"
1462 }
1463 func (*ProxyArpAddDelReply) GetCrcString() string {
1464         return "e8d4e804"
1465 }
1466 func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
1467         return api.ReplyMessage
1468 }
1469
1470 // ProxyArpDetails represents VPP binary API message 'proxy_arp_details'.
1471 type ProxyArpDetails struct {
1472         Proxy ProxyArp
1473 }
1474
1475 func (*ProxyArpDetails) GetMessageName() string {
1476         return "proxy_arp_details"
1477 }
1478 func (*ProxyArpDetails) GetCrcString() string {
1479         return "9b707c77"
1480 }
1481 func (*ProxyArpDetails) GetMessageType() api.MessageType {
1482         return api.ReplyMessage
1483 }
1484
1485 // ProxyArpDump represents VPP binary API message 'proxy_arp_dump'.
1486 type ProxyArpDump struct{}
1487
1488 func (*ProxyArpDump) GetMessageName() string {
1489         return "proxy_arp_dump"
1490 }
1491 func (*ProxyArpDump) GetCrcString() string {
1492         return "51077d14"
1493 }
1494 func (*ProxyArpDump) GetMessageType() api.MessageType {
1495         return api.RequestMessage
1496 }
1497
1498 // ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details'.
1499 type ProxyArpIntfcDetails struct {
1500         SwIfIndex uint32
1501 }
1502
1503 func (*ProxyArpIntfcDetails) GetMessageName() string {
1504         return "proxy_arp_intfc_details"
1505 }
1506 func (*ProxyArpIntfcDetails) GetCrcString() string {
1507         return "f6458e5f"
1508 }
1509 func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType {
1510         return api.ReplyMessage
1511 }
1512
1513 // ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump'.
1514 type ProxyArpIntfcDump struct{}
1515
1516 func (*ProxyArpIntfcDump) GetMessageName() string {
1517         return "proxy_arp_intfc_dump"
1518 }
1519 func (*ProxyArpIntfcDump) GetCrcString() string {
1520         return "51077d14"
1521 }
1522 func (*ProxyArpIntfcDump) GetMessageType() api.MessageType {
1523         return api.RequestMessage
1524 }
1525
1526 // ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable'.
1527 type ProxyArpIntfcEnableDisable struct {
1528         SwIfIndex     uint32
1529         EnableDisable uint8
1530 }
1531
1532 func (*ProxyArpIntfcEnableDisable) GetMessageName() string {
1533         return "proxy_arp_intfc_enable_disable"
1534 }
1535 func (*ProxyArpIntfcEnableDisable) GetCrcString() string {
1536         return "69d24598"
1537 }
1538 func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
1539         return api.RequestMessage
1540 }
1541
1542 // ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply'.
1543 type ProxyArpIntfcEnableDisableReply struct {
1544         Retval int32
1545 }
1546
1547 func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string {
1548         return "proxy_arp_intfc_enable_disable_reply"
1549 }
1550 func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string {
1551         return "e8d4e804"
1552 }
1553 func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
1554         return api.ReplyMessage
1555 }
1556
1557 // ResetFib represents VPP binary API message 'reset_fib'.
1558 type ResetFib struct {
1559         VrfID  uint32
1560         IsIPv6 uint8
1561 }
1562
1563 func (*ResetFib) GetMessageName() string {
1564         return "reset_fib"
1565 }
1566 func (*ResetFib) GetCrcString() string {
1567         return "8553ebd9"
1568 }
1569 func (*ResetFib) GetMessageType() api.MessageType {
1570         return api.RequestMessage
1571 }
1572
1573 // ResetFibReply represents VPP binary API message 'reset_fib_reply'.
1574 type ResetFibReply struct {
1575         Retval int32
1576 }
1577
1578 func (*ResetFibReply) GetMessageName() string {
1579         return "reset_fib_reply"
1580 }
1581 func (*ResetFibReply) GetCrcString() string {
1582         return "e8d4e804"
1583 }
1584 func (*ResetFibReply) GetMessageType() api.MessageType {
1585         return api.ReplyMessage
1586 }
1587
1588 // SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit'.
1589 type SetArpNeighborLimit struct {
1590         IsIPv6           uint8
1591         ArpNeighborLimit uint32
1592 }
1593
1594 func (*SetArpNeighborLimit) GetMessageName() string {
1595         return "set_arp_neighbor_limit"
1596 }
1597 func (*SetArpNeighborLimit) GetCrcString() string {
1598         return "97d01fd6"
1599 }
1600 func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
1601         return api.RequestMessage
1602 }
1603
1604 // SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply'.
1605 type SetArpNeighborLimitReply struct {
1606         Retval int32
1607 }
1608
1609 func (*SetArpNeighborLimitReply) GetMessageName() string {
1610         return "set_arp_neighbor_limit_reply"
1611 }
1612 func (*SetArpNeighborLimitReply) GetCrcString() string {
1613         return "e8d4e804"
1614 }
1615 func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
1616         return api.ReplyMessage
1617 }
1618
1619 // SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash'.
1620 type SetIPFlowHash struct {
1621         VrfID     uint32
1622         IsIPv6    uint8
1623         Src       uint8
1624         Dst       uint8
1625         Sport     uint8
1626         Dport     uint8
1627         Proto     uint8
1628         Reverse   uint8
1629         Symmetric uint8
1630 }
1631
1632 func (*SetIPFlowHash) GetMessageName() string {
1633         return "set_ip_flow_hash"
1634 }
1635 func (*SetIPFlowHash) GetCrcString() string {
1636         return "a9084bfb"
1637 }
1638 func (*SetIPFlowHash) GetMessageType() api.MessageType {
1639         return api.RequestMessage
1640 }
1641
1642 // SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply'.
1643 type SetIPFlowHashReply struct {
1644         Retval int32
1645 }
1646
1647 func (*SetIPFlowHashReply) GetMessageName() string {
1648         return "set_ip_flow_hash_reply"
1649 }
1650 func (*SetIPFlowHashReply) GetCrcString() string {
1651         return "e8d4e804"
1652 }
1653 func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
1654         return api.ReplyMessage
1655 }
1656
1657 // SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable'.
1658 type SwInterfaceIP6EnableDisable struct {
1659         SwIfIndex uint32
1660         Enable    uint8
1661 }
1662
1663 func (*SwInterfaceIP6EnableDisable) GetMessageName() string {
1664         return "sw_interface_ip6_enable_disable"
1665 }
1666 func (*SwInterfaceIP6EnableDisable) GetCrcString() string {
1667         return "a36fadc0"
1668 }
1669 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType {
1670         return api.RequestMessage
1671 }
1672
1673 // SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
1674 type SwInterfaceIP6EnableDisableReply struct {
1675         Retval int32
1676 }
1677
1678 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
1679         return "sw_interface_ip6_enable_disable_reply"
1680 }
1681 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string {
1682         return "e8d4e804"
1683 }
1684 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType {
1685         return api.ReplyMessage
1686 }
1687
1688 // SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config'.
1689 type SwInterfaceIP6ndRaConfig struct {
1690         SwIfIndex       uint32
1691         Suppress        uint8
1692         Managed         uint8
1693         Other           uint8
1694         LlOption        uint8
1695         SendUnicast     uint8
1696         Cease           uint8
1697         IsNo            uint8
1698         DefaultRouter   uint8
1699         MaxInterval     uint32
1700         MinInterval     uint32
1701         Lifetime        uint32
1702         InitialCount    uint32
1703         InitialInterval uint32
1704 }
1705
1706 func (*SwInterfaceIP6ndRaConfig) GetMessageName() string {
1707         return "sw_interface_ip6nd_ra_config"
1708 }
1709 func (*SwInterfaceIP6ndRaConfig) GetCrcString() string {
1710         return "c3f02daa"
1711 }
1712 func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
1713         return api.RequestMessage
1714 }
1715
1716 // SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply'.
1717 type SwInterfaceIP6ndRaConfigReply struct {
1718         Retval int32
1719 }
1720
1721 func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
1722         return "sw_interface_ip6nd_ra_config_reply"
1723 }
1724 func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string {
1725         return "e8d4e804"
1726 }
1727 func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
1728         return api.ReplyMessage
1729 }
1730
1731 // SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix'.
1732 type SwInterfaceIP6ndRaPrefix struct {
1733         SwIfIndex    uint32
1734         Prefix       Prefix
1735         UseDefault   uint8
1736         NoAdvertise  uint8
1737         OffLink      uint8
1738         NoAutoconfig uint8
1739         NoOnlink     uint8
1740         IsNo         uint8
1741         ValLifetime  uint32
1742         PrefLifetime uint32
1743 }
1744
1745 func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string {
1746         return "sw_interface_ip6nd_ra_prefix"
1747 }
1748 func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string {
1749         return "59934d3b"
1750 }
1751 func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
1752         return api.RequestMessage
1753 }
1754
1755 // SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply'.
1756 type SwInterfaceIP6ndRaPrefixReply struct {
1757         Retval int32
1758 }
1759
1760 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
1761         return "sw_interface_ip6nd_ra_prefix_reply"
1762 }
1763 func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string {
1764         return "e8d4e804"
1765 }
1766 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
1767         return api.ReplyMessage
1768 }
1769
1770 // WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events'.
1771 type WantIP4ArpEvents struct {
1772         EnableDisable uint8
1773         PID           uint32
1774         IP            IP4Address
1775 }
1776
1777 func (*WantIP4ArpEvents) GetMessageName() string {
1778         return "want_ip4_arp_events"
1779 }
1780 func (*WantIP4ArpEvents) GetCrcString() string {
1781         return "70fd7195"
1782 }
1783 func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
1784         return api.RequestMessage
1785 }
1786
1787 // WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply'.
1788 type WantIP4ArpEventsReply struct {
1789         Retval int32
1790 }
1791
1792 func (*WantIP4ArpEventsReply) GetMessageName() string {
1793         return "want_ip4_arp_events_reply"
1794 }
1795 func (*WantIP4ArpEventsReply) GetCrcString() string {
1796         return "e8d4e804"
1797 }
1798 func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType {
1799         return api.ReplyMessage
1800 }
1801
1802 // WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events'.
1803 type WantIP6NdEvents struct {
1804         EnableDisable uint8
1805         PID           uint32
1806         IP            IP6Address
1807 }
1808
1809 func (*WantIP6NdEvents) GetMessageName() string {
1810         return "want_ip6_nd_events"
1811 }
1812 func (*WantIP6NdEvents) GetCrcString() string {
1813         return "ba330719"
1814 }
1815 func (*WantIP6NdEvents) GetMessageType() api.MessageType {
1816         return api.RequestMessage
1817 }
1818
1819 // WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply'.
1820 type WantIP6NdEventsReply struct {
1821         Retval int32
1822 }
1823
1824 func (*WantIP6NdEventsReply) GetMessageName() string {
1825         return "want_ip6_nd_events_reply"
1826 }
1827 func (*WantIP6NdEventsReply) GetCrcString() string {
1828         return "e8d4e804"
1829 }
1830 func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
1831         return api.ReplyMessage
1832 }
1833
1834 // WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events'.
1835 type WantIP6RaEvents struct {
1836         EnableDisable uint8
1837         PID           uint32
1838 }
1839
1840 func (*WantIP6RaEvents) GetMessageName() string {
1841         return "want_ip6_ra_events"
1842 }
1843 func (*WantIP6RaEvents) GetCrcString() string {
1844         return "05b454b5"
1845 }
1846 func (*WantIP6RaEvents) GetMessageType() api.MessageType {
1847         return api.RequestMessage
1848 }
1849
1850 // WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply'.
1851 type WantIP6RaEventsReply struct {
1852         Retval int32
1853 }
1854
1855 func (*WantIP6RaEventsReply) GetMessageName() string {
1856         return "want_ip6_ra_events_reply"
1857 }
1858 func (*WantIP6RaEventsReply) GetCrcString() string {
1859         return "e8d4e804"
1860 }
1861 func (*WantIP6RaEventsReply) GetMessageType() api.MessageType {
1862         return api.ReplyMessage
1863 }
1864
1865 func init() {
1866         api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
1867         api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
1868         api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
1869         api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
1870         api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent")
1871         api.RegisterMessage((*IP6FibDetails)(nil), "ip.IP6FibDetails")
1872         api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump")
1873         api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails")
1874         api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump")
1875         api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent")
1876         api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent")
1877         api.RegisterMessage((*IP6ndProxyAddDel)(nil), "ip.IP6ndProxyAddDel")
1878         api.RegisterMessage((*IP6ndProxyAddDelReply)(nil), "ip.IP6ndProxyAddDelReply")
1879         api.RegisterMessage((*IP6ndProxyDetails)(nil), "ip.IP6ndProxyDetails")
1880         api.RegisterMessage((*IP6ndProxyDump)(nil), "ip.IP6ndProxyDump")
1881         api.RegisterMessage((*IP6ndSendRouterSolicitation)(nil), "ip.IP6ndSendRouterSolicitation")
1882         api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip.IP6ndSendRouterSolicitationReply")
1883         api.RegisterMessage((*IPAddDelRoute)(nil), "ip.IPAddDelRoute")
1884         api.RegisterMessage((*IPAddDelRouteReply)(nil), "ip.IPAddDelRouteReply")
1885         api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
1886         api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
1887         api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
1888         api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
1889         api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails")
1890         api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
1891         api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
1892         api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
1893         api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails")
1894         api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump")
1895         api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails")
1896         api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump")
1897         api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
1898         api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
1899         api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel")
1900         api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply")
1901         api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails")
1902         api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump")
1903         api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor")
1904         api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply")
1905         api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
1906         api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
1907         api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
1908         api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails")
1909         api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump")
1910         api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
1911         api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
1912         api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
1913         api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
1914         api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
1915         api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
1916         api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
1917         api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable")
1918         api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply")
1919         api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
1920         api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
1921         api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
1922         api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
1923         api.RegisterMessage((*IPSourceCheckInterfaceAddDel)(nil), "ip.IPSourceCheckInterfaceAddDel")
1924         api.RegisterMessage((*IPSourceCheckInterfaceAddDelReply)(nil), "ip.IPSourceCheckInterfaceAddDelReply")
1925         api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
1926         api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
1927         api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
1928         api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
1929         api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
1930         api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
1931         api.RegisterMessage((*ProxyArpAddDel)(nil), "ip.ProxyArpAddDel")
1932         api.RegisterMessage((*ProxyArpAddDelReply)(nil), "ip.ProxyArpAddDelReply")
1933         api.RegisterMessage((*ProxyArpDetails)(nil), "ip.ProxyArpDetails")
1934         api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump")
1935         api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails")
1936         api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump")
1937         api.RegisterMessage((*ProxyArpIntfcEnableDisable)(nil), "ip.ProxyArpIntfcEnableDisable")
1938         api.RegisterMessage((*ProxyArpIntfcEnableDisableReply)(nil), "ip.ProxyArpIntfcEnableDisableReply")
1939         api.RegisterMessage((*ResetFib)(nil), "ip.ResetFib")
1940         api.RegisterMessage((*ResetFibReply)(nil), "ip.ResetFibReply")
1941         api.RegisterMessage((*SetArpNeighborLimit)(nil), "ip.SetArpNeighborLimit")
1942         api.RegisterMessage((*SetArpNeighborLimitReply)(nil), "ip.SetArpNeighborLimitReply")
1943         api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
1944         api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
1945         api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
1946         api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
1947         api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig")
1948         api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply")
1949         api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix")
1950         api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply")
1951         api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents")
1952         api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply")
1953         api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents")
1954         api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply")
1955         api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents")
1956         api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply")
1957 }
1958
1959 // Messages returns list of all messages in this module.
1960 func AllMessages() []api.Message {
1961         return []api.Message{
1962                 (*IoamDisable)(nil),
1963                 (*IoamDisableReply)(nil),
1964                 (*IoamEnable)(nil),
1965                 (*IoamEnableReply)(nil),
1966                 (*IP4ArpEvent)(nil),
1967                 (*IP6FibDetails)(nil),
1968                 (*IP6FibDump)(nil),
1969                 (*IP6MfibDetails)(nil),
1970                 (*IP6MfibDump)(nil),
1971                 (*IP6NdEvent)(nil),
1972                 (*IP6RaEvent)(nil),
1973                 (*IP6ndProxyAddDel)(nil),
1974                 (*IP6ndProxyAddDelReply)(nil),
1975                 (*IP6ndProxyDetails)(nil),
1976                 (*IP6ndProxyDump)(nil),
1977                 (*IP6ndSendRouterSolicitation)(nil),
1978                 (*IP6ndSendRouterSolicitationReply)(nil),
1979                 (*IPAddDelRoute)(nil),
1980                 (*IPAddDelRouteReply)(nil),
1981                 (*IPAddressDetails)(nil),
1982                 (*IPAddressDump)(nil),
1983                 (*IPContainerProxyAddDel)(nil),
1984                 (*IPContainerProxyAddDelReply)(nil),
1985                 (*IPContainerProxyDetails)(nil),
1986                 (*IPContainerProxyDump)(nil),
1987                 (*IPDetails)(nil),
1988                 (*IPDump)(nil),
1989                 (*IPFibDetails)(nil),
1990                 (*IPFibDump)(nil),
1991                 (*IPMfibDetails)(nil),
1992                 (*IPMfibDump)(nil),
1993                 (*IPMrouteAddDel)(nil),
1994                 (*IPMrouteAddDelReply)(nil),
1995                 (*IPNeighborAddDel)(nil),
1996                 (*IPNeighborAddDelReply)(nil),
1997                 (*IPNeighborDetails)(nil),
1998                 (*IPNeighborDump)(nil),
1999                 (*IPProbeNeighbor)(nil),
2000                 (*IPProbeNeighborReply)(nil),
2001                 (*IPPuntPolice)(nil),
2002                 (*IPPuntPoliceReply)(nil),
2003                 (*IPPuntRedirect)(nil),
2004                 (*IPPuntRedirectDetails)(nil),
2005                 (*IPPuntRedirectDump)(nil),
2006                 (*IPPuntRedirectReply)(nil),
2007                 (*IPReassemblyEnableDisable)(nil),
2008                 (*IPReassemblyEnableDisableReply)(nil),
2009                 (*IPReassemblyGet)(nil),
2010                 (*IPReassemblyGetReply)(nil),
2011                 (*IPReassemblySet)(nil),
2012                 (*IPReassemblySetReply)(nil),
2013                 (*IPScanNeighborEnableDisable)(nil),
2014                 (*IPScanNeighborEnableDisableReply)(nil),
2015                 (*IPSourceAndPortRangeCheckAddDel)(nil),
2016                 (*IPSourceAndPortRangeCheckAddDelReply)(nil),
2017                 (*IPSourceAndPortRangeCheckInterfaceAddDel)(nil),
2018                 (*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil),
2019                 (*IPSourceCheckInterfaceAddDel)(nil),
2020                 (*IPSourceCheckInterfaceAddDelReply)(nil),
2021                 (*IPTableAddDel)(nil),
2022                 (*IPTableAddDelReply)(nil),
2023                 (*IPUnnumberedDetails)(nil),
2024                 (*IPUnnumberedDump)(nil),
2025                 (*MfibSignalDetails)(nil),
2026                 (*MfibSignalDump)(nil),
2027                 (*ProxyArpAddDel)(nil),
2028                 (*ProxyArpAddDelReply)(nil),
2029                 (*ProxyArpDetails)(nil),
2030                 (*ProxyArpDump)(nil),
2031                 (*ProxyArpIntfcDetails)(nil),
2032                 (*ProxyArpIntfcDump)(nil),
2033                 (*ProxyArpIntfcEnableDisable)(nil),
2034                 (*ProxyArpIntfcEnableDisableReply)(nil),
2035                 (*ResetFib)(nil),
2036                 (*ResetFibReply)(nil),
2037                 (*SetArpNeighborLimit)(nil),
2038                 (*SetArpNeighborLimitReply)(nil),
2039                 (*SetIPFlowHash)(nil),
2040                 (*SetIPFlowHashReply)(nil),
2041                 (*SwInterfaceIP6EnableDisable)(nil),
2042                 (*SwInterfaceIP6EnableDisableReply)(nil),
2043                 (*SwInterfaceIP6ndRaConfig)(nil),
2044                 (*SwInterfaceIP6ndRaConfigReply)(nil),
2045                 (*SwInterfaceIP6ndRaPrefix)(nil),
2046                 (*SwInterfaceIP6ndRaPrefixReply)(nil),
2047                 (*WantIP4ArpEvents)(nil),
2048                 (*WantIP4ArpEventsReply)(nil),
2049                 (*WantIP6NdEvents)(nil),
2050                 (*WantIP6NdEventsReply)(nil),
2051                 (*WantIP6RaEvents)(nil),
2052                 (*WantIP6RaEventsReply)(nil),
2053         }
2054 }
2055
2056 // RPCService represents RPC service API for ip module.
2057 type RPCService interface {
2058         DumpIP6Fib(ctx context.Context, in *IP6FibDump) (RPCService_DumpIP6FibClient, error)
2059         DumpIP6Mfib(ctx context.Context, in *IP6MfibDump) (RPCService_DumpIP6MfibClient, error)
2060         DumpIP6ndProxy(ctx context.Context, in *IP6ndProxyDump) (RPCService_DumpIP6ndProxyClient, error)
2061         DumpIPAddress(ctx context.Context, in *IPAddressDump) (RPCService_DumpIPAddressClient, error)
2062         DumpIPContainerProxy(ctx context.Context, in *IPContainerProxyDump) (RPCService_DumpIPContainerProxyClient, error)
2063         DumpIP(ctx context.Context, in *IPDump) (RPCService_DumpIPClient, error)
2064         DumpIPFib(ctx context.Context, in *IPFibDump) (RPCService_DumpIPFibClient, error)
2065         DumpIPMfib(ctx context.Context, in *IPMfibDump) (RPCService_DumpIPMfibClient, error)
2066         DumpIPNeighbor(ctx context.Context, in *IPNeighborDump) (RPCService_DumpIPNeighborClient, error)
2067         DumpIPPuntRedirect(ctx context.Context, in *IPPuntRedirectDump) (RPCService_DumpIPPuntRedirectClient, error)
2068         DumpIPUnnumbered(ctx context.Context, in *IPUnnumberedDump) (RPCService_DumpIPUnnumberedClient, error)
2069         DumpMfibSignal(ctx context.Context, in *MfibSignalDump) (RPCService_DumpMfibSignalClient, error)
2070         DumpProxyArp(ctx context.Context, in *ProxyArpDump) (RPCService_DumpProxyArpClient, error)
2071         DumpProxyArpIntfc(ctx context.Context, in *ProxyArpIntfcDump) (RPCService_DumpProxyArpIntfcClient, error)
2072         IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error)
2073         IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error)
2074         IP6ndProxyAddDel(ctx context.Context, in *IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error)
2075         IP6ndSendRouterSolicitation(ctx context.Context, in *IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error)
2076         IPAddDelRoute(ctx context.Context, in *IPAddDelRoute) (*IPAddDelRouteReply, error)
2077         IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error)
2078         IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error)
2079         IPNeighborAddDel(ctx context.Context, in *IPNeighborAddDel) (*IPNeighborAddDelReply, error)
2080         IPProbeNeighbor(ctx context.Context, in *IPProbeNeighbor) (*IPProbeNeighborReply, error)
2081         IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error)
2082         IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error)
2083         IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error)
2084         IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error)
2085         IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error)
2086         IPScanNeighborEnableDisable(ctx context.Context, in *IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error)
2087         IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error)
2088         IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error)
2089         IPSourceCheckInterfaceAddDel(ctx context.Context, in *IPSourceCheckInterfaceAddDel) (*IPSourceCheckInterfaceAddDelReply, error)
2090         IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error)
2091         ProxyArpAddDel(ctx context.Context, in *ProxyArpAddDel) (*ProxyArpAddDelReply, error)
2092         ProxyArpIntfcEnableDisable(ctx context.Context, in *ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error)
2093         ResetFib(ctx context.Context, in *ResetFib) (*ResetFibReply, error)
2094         SetArpNeighborLimit(ctx context.Context, in *SetArpNeighborLimit) (*SetArpNeighborLimitReply, error)
2095         SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error)
2096         SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error)
2097         SwInterfaceIP6ndRaConfig(ctx context.Context, in *SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error)
2098         SwInterfaceIP6ndRaPrefix(ctx context.Context, in *SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error)
2099         WantIP4ArpEvents(ctx context.Context, in *WantIP4ArpEvents) (*WantIP4ArpEventsReply, error)
2100         WantIP6NdEvents(ctx context.Context, in *WantIP6NdEvents) (*WantIP6NdEventsReply, error)
2101         WantIP6RaEvents(ctx context.Context, in *WantIP6RaEvents) (*WantIP6RaEventsReply, error)
2102 }
2103
2104 type serviceClient struct {
2105         ch api.Channel
2106 }
2107
2108 func NewServiceClient(ch api.Channel) RPCService {
2109         return &serviceClient{ch}
2110 }
2111
2112 func (c *serviceClient) DumpIP6Fib(ctx context.Context, in *IP6FibDump) (RPCService_DumpIP6FibClient, error) {
2113         stream := c.ch.SendMultiRequest(in)
2114         x := &serviceClient_DumpIP6FibClient{stream}
2115         return x, nil
2116 }
2117
2118 type RPCService_DumpIP6FibClient interface {
2119         Recv() (*IP6FibDetails, error)
2120 }
2121
2122 type serviceClient_DumpIP6FibClient struct {
2123         api.MultiRequestCtx
2124 }
2125
2126 func (c *serviceClient_DumpIP6FibClient) Recv() (*IP6FibDetails, error) {
2127         m := new(IP6FibDetails)
2128         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2129         if err != nil {
2130                 return nil, err
2131         }
2132         if stop {
2133                 return nil, io.EOF
2134         }
2135         return m, nil
2136 }
2137
2138 func (c *serviceClient) DumpIP6Mfib(ctx context.Context, in *IP6MfibDump) (RPCService_DumpIP6MfibClient, error) {
2139         stream := c.ch.SendMultiRequest(in)
2140         x := &serviceClient_DumpIP6MfibClient{stream}
2141         return x, nil
2142 }
2143
2144 type RPCService_DumpIP6MfibClient interface {
2145         Recv() (*IP6MfibDetails, error)
2146 }
2147
2148 type serviceClient_DumpIP6MfibClient struct {
2149         api.MultiRequestCtx
2150 }
2151
2152 func (c *serviceClient_DumpIP6MfibClient) Recv() (*IP6MfibDetails, error) {
2153         m := new(IP6MfibDetails)
2154         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2155         if err != nil {
2156                 return nil, err
2157         }
2158         if stop {
2159                 return nil, io.EOF
2160         }
2161         return m, nil
2162 }
2163
2164 func (c *serviceClient) DumpIP6ndProxy(ctx context.Context, in *IP6ndProxyDump) (RPCService_DumpIP6ndProxyClient, error) {
2165         stream := c.ch.SendMultiRequest(in)
2166         x := &serviceClient_DumpIP6ndProxyClient{stream}
2167         return x, nil
2168 }
2169
2170 type RPCService_DumpIP6ndProxyClient interface {
2171         Recv() (*IP6ndProxyDetails, error)
2172 }
2173
2174 type serviceClient_DumpIP6ndProxyClient struct {
2175         api.MultiRequestCtx
2176 }
2177
2178 func (c *serviceClient_DumpIP6ndProxyClient) Recv() (*IP6ndProxyDetails, error) {
2179         m := new(IP6ndProxyDetails)
2180         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2181         if err != nil {
2182                 return nil, err
2183         }
2184         if stop {
2185                 return nil, io.EOF
2186         }
2187         return m, nil
2188 }
2189
2190 func (c *serviceClient) DumpIPAddress(ctx context.Context, in *IPAddressDump) (RPCService_DumpIPAddressClient, error) {
2191         stream := c.ch.SendMultiRequest(in)
2192         x := &serviceClient_DumpIPAddressClient{stream}
2193         return x, nil
2194 }
2195
2196 type RPCService_DumpIPAddressClient interface {
2197         Recv() (*IPAddressDetails, error)
2198 }
2199
2200 type serviceClient_DumpIPAddressClient struct {
2201         api.MultiRequestCtx
2202 }
2203
2204 func (c *serviceClient_DumpIPAddressClient) Recv() (*IPAddressDetails, error) {
2205         m := new(IPAddressDetails)
2206         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2207         if err != nil {
2208                 return nil, err
2209         }
2210         if stop {
2211                 return nil, io.EOF
2212         }
2213         return m, nil
2214 }
2215
2216 func (c *serviceClient) DumpIPContainerProxy(ctx context.Context, in *IPContainerProxyDump) (RPCService_DumpIPContainerProxyClient, error) {
2217         stream := c.ch.SendMultiRequest(in)
2218         x := &serviceClient_DumpIPContainerProxyClient{stream}
2219         return x, nil
2220 }
2221
2222 type RPCService_DumpIPContainerProxyClient interface {
2223         Recv() (*IPContainerProxyDetails, error)
2224 }
2225
2226 type serviceClient_DumpIPContainerProxyClient struct {
2227         api.MultiRequestCtx
2228 }
2229
2230 func (c *serviceClient_DumpIPContainerProxyClient) Recv() (*IPContainerProxyDetails, error) {
2231         m := new(IPContainerProxyDetails)
2232         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2233         if err != nil {
2234                 return nil, err
2235         }
2236         if stop {
2237                 return nil, io.EOF
2238         }
2239         return m, nil
2240 }
2241
2242 func (c *serviceClient) DumpIP(ctx context.Context, in *IPDump) (RPCService_DumpIPClient, error) {
2243         stream := c.ch.SendMultiRequest(in)
2244         x := &serviceClient_DumpIPClient{stream}
2245         return x, nil
2246 }
2247
2248 type RPCService_DumpIPClient interface {
2249         Recv() (*IPDetails, error)
2250 }
2251
2252 type serviceClient_DumpIPClient struct {
2253         api.MultiRequestCtx
2254 }
2255
2256 func (c *serviceClient_DumpIPClient) Recv() (*IPDetails, error) {
2257         m := new(IPDetails)
2258         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2259         if err != nil {
2260                 return nil, err
2261         }
2262         if stop {
2263                 return nil, io.EOF
2264         }
2265         return m, nil
2266 }
2267
2268 func (c *serviceClient) DumpIPFib(ctx context.Context, in *IPFibDump) (RPCService_DumpIPFibClient, error) {
2269         stream := c.ch.SendMultiRequest(in)
2270         x := &serviceClient_DumpIPFibClient{stream}
2271         return x, nil
2272 }
2273
2274 type RPCService_DumpIPFibClient interface {
2275         Recv() (*IPFibDetails, error)
2276 }
2277
2278 type serviceClient_DumpIPFibClient struct {
2279         api.MultiRequestCtx
2280 }
2281
2282 func (c *serviceClient_DumpIPFibClient) Recv() (*IPFibDetails, error) {
2283         m := new(IPFibDetails)
2284         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2285         if err != nil {
2286                 return nil, err
2287         }
2288         if stop {
2289                 return nil, io.EOF
2290         }
2291         return m, nil
2292 }
2293
2294 func (c *serviceClient) DumpIPMfib(ctx context.Context, in *IPMfibDump) (RPCService_DumpIPMfibClient, error) {
2295         stream := c.ch.SendMultiRequest(in)
2296         x := &serviceClient_DumpIPMfibClient{stream}
2297         return x, nil
2298 }
2299
2300 type RPCService_DumpIPMfibClient interface {
2301         Recv() (*IPMfibDetails, error)
2302 }
2303
2304 type serviceClient_DumpIPMfibClient struct {
2305         api.MultiRequestCtx
2306 }
2307
2308 func (c *serviceClient_DumpIPMfibClient) Recv() (*IPMfibDetails, error) {
2309         m := new(IPMfibDetails)
2310         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2311         if err != nil {
2312                 return nil, err
2313         }
2314         if stop {
2315                 return nil, io.EOF
2316         }
2317         return m, nil
2318 }
2319
2320 func (c *serviceClient) DumpIPNeighbor(ctx context.Context, in *IPNeighborDump) (RPCService_DumpIPNeighborClient, error) {
2321         stream := c.ch.SendMultiRequest(in)
2322         x := &serviceClient_DumpIPNeighborClient{stream}
2323         return x, nil
2324 }
2325
2326 type RPCService_DumpIPNeighborClient interface {
2327         Recv() (*IPNeighborDetails, error)
2328 }
2329
2330 type serviceClient_DumpIPNeighborClient struct {
2331         api.MultiRequestCtx
2332 }
2333
2334 func (c *serviceClient_DumpIPNeighborClient) Recv() (*IPNeighborDetails, error) {
2335         m := new(IPNeighborDetails)
2336         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2337         if err != nil {
2338                 return nil, err
2339         }
2340         if stop {
2341                 return nil, io.EOF
2342         }
2343         return m, nil
2344 }
2345
2346 func (c *serviceClient) DumpIPPuntRedirect(ctx context.Context, in *IPPuntRedirectDump) (RPCService_DumpIPPuntRedirectClient, error) {
2347         stream := c.ch.SendMultiRequest(in)
2348         x := &serviceClient_DumpIPPuntRedirectClient{stream}
2349         return x, nil
2350 }
2351
2352 type RPCService_DumpIPPuntRedirectClient interface {
2353         Recv() (*IPPuntRedirectDetails, error)
2354 }
2355
2356 type serviceClient_DumpIPPuntRedirectClient struct {
2357         api.MultiRequestCtx
2358 }
2359
2360 func (c *serviceClient_DumpIPPuntRedirectClient) Recv() (*IPPuntRedirectDetails, error) {
2361         m := new(IPPuntRedirectDetails)
2362         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2363         if err != nil {
2364                 return nil, err
2365         }
2366         if stop {
2367                 return nil, io.EOF
2368         }
2369         return m, nil
2370 }
2371
2372 func (c *serviceClient) DumpIPUnnumbered(ctx context.Context, in *IPUnnumberedDump) (RPCService_DumpIPUnnumberedClient, error) {
2373         stream := c.ch.SendMultiRequest(in)
2374         x := &serviceClient_DumpIPUnnumberedClient{stream}
2375         return x, nil
2376 }
2377
2378 type RPCService_DumpIPUnnumberedClient interface {
2379         Recv() (*IPUnnumberedDetails, error)
2380 }
2381
2382 type serviceClient_DumpIPUnnumberedClient struct {
2383         api.MultiRequestCtx
2384 }
2385
2386 func (c *serviceClient_DumpIPUnnumberedClient) Recv() (*IPUnnumberedDetails, error) {
2387         m := new(IPUnnumberedDetails)
2388         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2389         if err != nil {
2390                 return nil, err
2391         }
2392         if stop {
2393                 return nil, io.EOF
2394         }
2395         return m, nil
2396 }
2397
2398 func (c *serviceClient) DumpMfibSignal(ctx context.Context, in *MfibSignalDump) (RPCService_DumpMfibSignalClient, error) {
2399         stream := c.ch.SendMultiRequest(in)
2400         x := &serviceClient_DumpMfibSignalClient{stream}
2401         return x, nil
2402 }
2403
2404 type RPCService_DumpMfibSignalClient interface {
2405         Recv() (*MfibSignalDetails, error)
2406 }
2407
2408 type serviceClient_DumpMfibSignalClient struct {
2409         api.MultiRequestCtx
2410 }
2411
2412 func (c *serviceClient_DumpMfibSignalClient) Recv() (*MfibSignalDetails, error) {
2413         m := new(MfibSignalDetails)
2414         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2415         if err != nil {
2416                 return nil, err
2417         }
2418         if stop {
2419                 return nil, io.EOF
2420         }
2421         return m, nil
2422 }
2423
2424 func (c *serviceClient) DumpProxyArp(ctx context.Context, in *ProxyArpDump) (RPCService_DumpProxyArpClient, error) {
2425         stream := c.ch.SendMultiRequest(in)
2426         x := &serviceClient_DumpProxyArpClient{stream}
2427         return x, nil
2428 }
2429
2430 type RPCService_DumpProxyArpClient interface {
2431         Recv() (*ProxyArpDetails, error)
2432 }
2433
2434 type serviceClient_DumpProxyArpClient struct {
2435         api.MultiRequestCtx
2436 }
2437
2438 func (c *serviceClient_DumpProxyArpClient) Recv() (*ProxyArpDetails, error) {
2439         m := new(ProxyArpDetails)
2440         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2441         if err != nil {
2442                 return nil, err
2443         }
2444         if stop {
2445                 return nil, io.EOF
2446         }
2447         return m, nil
2448 }
2449
2450 func (c *serviceClient) DumpProxyArpIntfc(ctx context.Context, in *ProxyArpIntfcDump) (RPCService_DumpProxyArpIntfcClient, error) {
2451         stream := c.ch.SendMultiRequest(in)
2452         x := &serviceClient_DumpProxyArpIntfcClient{stream}
2453         return x, nil
2454 }
2455
2456 type RPCService_DumpProxyArpIntfcClient interface {
2457         Recv() (*ProxyArpIntfcDetails, error)
2458 }
2459
2460 type serviceClient_DumpProxyArpIntfcClient struct {
2461         api.MultiRequestCtx
2462 }
2463
2464 func (c *serviceClient_DumpProxyArpIntfcClient) Recv() (*ProxyArpIntfcDetails, error) {
2465         m := new(ProxyArpIntfcDetails)
2466         stop, err := c.MultiRequestCtx.ReceiveReply(m)
2467         if err != nil {
2468                 return nil, err
2469         }
2470         if stop {
2471                 return nil, io.EOF
2472         }
2473         return m, nil
2474 }
2475
2476 func (c *serviceClient) IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error) {
2477         out := new(IoamDisableReply)
2478         err := c.ch.SendRequest(in).ReceiveReply(out)
2479         if err != nil {
2480                 return nil, err
2481         }
2482         return out, nil
2483 }
2484
2485 func (c *serviceClient) IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error) {
2486         out := new(IoamEnableReply)
2487         err := c.ch.SendRequest(in).ReceiveReply(out)
2488         if err != nil {
2489                 return nil, err
2490         }
2491         return out, nil
2492 }
2493
2494 func (c *serviceClient) IP6ndProxyAddDel(ctx context.Context, in *IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error) {
2495         out := new(IP6ndProxyAddDelReply)
2496         err := c.ch.SendRequest(in).ReceiveReply(out)
2497         if err != nil {
2498                 return nil, err
2499         }
2500         return out, nil
2501 }
2502
2503 func (c *serviceClient) IP6ndSendRouterSolicitation(ctx context.Context, in *IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error) {
2504         out := new(IP6ndSendRouterSolicitationReply)
2505         err := c.ch.SendRequest(in).ReceiveReply(out)
2506         if err != nil {
2507                 return nil, err
2508         }
2509         return out, nil
2510 }
2511
2512 func (c *serviceClient) IPAddDelRoute(ctx context.Context, in *IPAddDelRoute) (*IPAddDelRouteReply, error) {
2513         out := new(IPAddDelRouteReply)
2514         err := c.ch.SendRequest(in).ReceiveReply(out)
2515         if err != nil {
2516                 return nil, err
2517         }
2518         return out, nil
2519 }
2520
2521 func (c *serviceClient) IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) {
2522         out := new(IPContainerProxyAddDelReply)
2523         err := c.ch.SendRequest(in).ReceiveReply(out)
2524         if err != nil {
2525                 return nil, err
2526         }
2527         return out, nil
2528 }
2529
2530 func (c *serviceClient) IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error) {
2531         out := new(IPMrouteAddDelReply)
2532         err := c.ch.SendRequest(in).ReceiveReply(out)
2533         if err != nil {
2534                 return nil, err
2535         }
2536         return out, nil
2537 }
2538
2539 func (c *serviceClient) IPNeighborAddDel(ctx context.Context, in *IPNeighborAddDel) (*IPNeighborAddDelReply, error) {
2540         out := new(IPNeighborAddDelReply)
2541         err := c.ch.SendRequest(in).ReceiveReply(out)
2542         if err != nil {
2543                 return nil, err
2544         }
2545         return out, nil
2546 }
2547
2548 func (c *serviceClient) IPProbeNeighbor(ctx context.Context, in *IPProbeNeighbor) (*IPProbeNeighborReply, error) {
2549         out := new(IPProbeNeighborReply)
2550         err := c.ch.SendRequest(in).ReceiveReply(out)
2551         if err != nil {
2552                 return nil, err
2553         }
2554         return out, nil
2555 }
2556
2557 func (c *serviceClient) IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error) {
2558         out := new(IPPuntPoliceReply)
2559         err := c.ch.SendRequest(in).ReceiveReply(out)
2560         if err != nil {
2561                 return nil, err
2562         }
2563         return out, nil
2564 }
2565
2566 func (c *serviceClient) IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error) {
2567         out := new(IPPuntRedirectReply)
2568         err := c.ch.SendRequest(in).ReceiveReply(out)
2569         if err != nil {
2570                 return nil, err
2571         }
2572         return out, nil
2573 }
2574
2575 func (c *serviceClient) IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) {
2576         out := new(IPReassemblyEnableDisableReply)
2577         err := c.ch.SendRequest(in).ReceiveReply(out)
2578         if err != nil {
2579                 return nil, err
2580         }
2581         return out, nil
2582 }
2583
2584 func (c *serviceClient) IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error) {
2585         out := new(IPReassemblyGetReply)
2586         err := c.ch.SendRequest(in).ReceiveReply(out)
2587         if err != nil {
2588                 return nil, err
2589         }
2590         return out, nil
2591 }
2592
2593 func (c *serviceClient) IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error) {
2594         out := new(IPReassemblySetReply)
2595         err := c.ch.SendRequest(in).ReceiveReply(out)
2596         if err != nil {
2597                 return nil, err
2598         }
2599         return out, nil
2600 }
2601
2602 func (c *serviceClient) IPScanNeighborEnableDisable(ctx context.Context, in *IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error) {
2603         out := new(IPScanNeighborEnableDisableReply)
2604         err := c.ch.SendRequest(in).ReceiveReply(out)
2605         if err != nil {
2606                 return nil, err
2607         }
2608         return out, nil
2609 }
2610
2611 func (c *serviceClient) IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) {
2612         out := new(IPSourceAndPortRangeCheckAddDelReply)
2613         err := c.ch.SendRequest(in).ReceiveReply(out)
2614         if err != nil {
2615                 return nil, err
2616         }
2617         return out, nil
2618 }
2619
2620 func (c *serviceClient) IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) {
2621         out := new(IPSourceAndPortRangeCheckInterfaceAddDelReply)
2622         err := c.ch.SendRequest(in).ReceiveReply(out)
2623         if err != nil {
2624                 return nil, err
2625         }
2626         return out, nil
2627 }
2628
2629 func (c *serviceClient) IPSourceCheckInterfaceAddDel(ctx context.Context, in *IPSourceCheckInterfaceAddDel) (*IPSourceCheckInterfaceAddDelReply, error) {
2630         out := new(IPSourceCheckInterfaceAddDelReply)
2631         err := c.ch.SendRequest(in).ReceiveReply(out)
2632         if err != nil {
2633                 return nil, err
2634         }
2635         return out, nil
2636 }
2637
2638 func (c *serviceClient) IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error) {
2639         out := new(IPTableAddDelReply)
2640         err := c.ch.SendRequest(in).ReceiveReply(out)
2641         if err != nil {
2642                 return nil, err
2643         }
2644         return out, nil
2645 }
2646
2647 func (c *serviceClient) ProxyArpAddDel(ctx context.Context, in *ProxyArpAddDel) (*ProxyArpAddDelReply, error) {
2648         out := new(ProxyArpAddDelReply)
2649         err := c.ch.SendRequest(in).ReceiveReply(out)
2650         if err != nil {
2651                 return nil, err
2652         }
2653         return out, nil
2654 }
2655
2656 func (c *serviceClient) ProxyArpIntfcEnableDisable(ctx context.Context, in *ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error) {
2657         out := new(ProxyArpIntfcEnableDisableReply)
2658         err := c.ch.SendRequest(in).ReceiveReply(out)
2659         if err != nil {
2660                 return nil, err
2661         }
2662         return out, nil
2663 }
2664
2665 func (c *serviceClient) ResetFib(ctx context.Context, in *ResetFib) (*ResetFibReply, error) {
2666         out := new(ResetFibReply)
2667         err := c.ch.SendRequest(in).ReceiveReply(out)
2668         if err != nil {
2669                 return nil, err
2670         }
2671         return out, nil
2672 }
2673
2674 func (c *serviceClient) SetArpNeighborLimit(ctx context.Context, in *SetArpNeighborLimit) (*SetArpNeighborLimitReply, error) {
2675         out := new(SetArpNeighborLimitReply)
2676         err := c.ch.SendRequest(in).ReceiveReply(out)
2677         if err != nil {
2678                 return nil, err
2679         }
2680         return out, nil
2681 }
2682
2683 func (c *serviceClient) SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error) {
2684         out := new(SetIPFlowHashReply)
2685         err := c.ch.SendRequest(in).ReceiveReply(out)
2686         if err != nil {
2687                 return nil, err
2688         }
2689         return out, nil
2690 }
2691
2692 func (c *serviceClient) SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) {
2693         out := new(SwInterfaceIP6EnableDisableReply)
2694         err := c.ch.SendRequest(in).ReceiveReply(out)
2695         if err != nil {
2696                 return nil, err
2697         }
2698         return out, nil
2699 }
2700
2701 func (c *serviceClient) SwInterfaceIP6ndRaConfig(ctx context.Context, in *SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error) {
2702         out := new(SwInterfaceIP6ndRaConfigReply)
2703         err := c.ch.SendRequest(in).ReceiveReply(out)
2704         if err != nil {
2705                 return nil, err
2706         }
2707         return out, nil
2708 }
2709
2710 func (c *serviceClient) SwInterfaceIP6ndRaPrefix(ctx context.Context, in *SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error) {
2711         out := new(SwInterfaceIP6ndRaPrefixReply)
2712         err := c.ch.SendRequest(in).ReceiveReply(out)
2713         if err != nil {
2714                 return nil, err
2715         }
2716         return out, nil
2717 }
2718
2719 func (c *serviceClient) WantIP4ArpEvents(ctx context.Context, in *WantIP4ArpEvents) (*WantIP4ArpEventsReply, error) {
2720         out := new(WantIP4ArpEventsReply)
2721         err := c.ch.SendRequest(in).ReceiveReply(out)
2722         if err != nil {
2723                 return nil, err
2724         }
2725         return out, nil
2726 }
2727
2728 func (c *serviceClient) WantIP6NdEvents(ctx context.Context, in *WantIP6NdEvents) (*WantIP6NdEventsReply, error) {
2729         out := new(WantIP6NdEventsReply)
2730         err := c.ch.SendRequest(in).ReceiveReply(out)
2731         if err != nil {
2732                 return nil, err
2733         }
2734         return out, nil
2735 }
2736
2737 func (c *serviceClient) WantIP6RaEvents(ctx context.Context, in *WantIP6RaEvents) (*WantIP6RaEventsReply, error) {
2738         out := new(WantIP6RaEventsReply)
2739         err := c.ch.SendRequest(in).ReceiveReply(out)
2740         if err != nil {
2741                 return nil, err
2742         }
2743         return out, nil
2744 }
2745
2746 // This is a compile-time assertion to ensure that this generated file
2747 // is compatible with the GoVPP api package it is being compiled against.
2748 // A compilation error at this line likely means your copy of the
2749 // GoVPP api package needs to be updated.
2750 const _ = api.GoVppAPIPackageIsVersion1 // please upgrade the GoVPP api package
2751
2752 // Reference imports to suppress errors if they are not otherwise used.
2753 var _ = api.RegisterMessage
2754 var _ = bytes.NewBuffer
2755 var _ = context.Background
2756 var _ = io.Copy
2757 var _ = strconv.Itoa
2758 var _ = struc.Pack