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