1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
4 // VPP: 20.01-45~g7a071e370~b63
5 // source: /usr/share/vpp/api/core/ip.api.json
8 Package ip contains generated code for VPP binary API defined by ip.api (version 3.0.1).
27 api "git.fd.io/govpp.git/api"
28 codec "git.fd.io/govpp.git/codec"
29 struc "github.com/lunixbochs/struc"
32 // This is a compile-time assertion to ensure that this generated file
33 // is compatible with the GoVPP api package it is being compiled against.
34 // A compilation error at this line likely means your copy of the
35 // GoVPP api package needs to be updated.
36 const _ = api.GoVppAPIPackageIsVersion2 // please upgrade the GoVPP api package
39 // ModuleName is the name of this module.
41 // APIVersion is the API version of this module.
43 // VersionCrc is the CRC of this module.
44 VersionCrc = 0xfc3fea46
47 // AddressFamily represents VPP binary API enum 'address_family'.
48 type AddressFamily uint32
51 ADDRESS_IP4 AddressFamily = 0
52 ADDRESS_IP6 AddressFamily = 1
56 AddressFamily_name = map[uint32]string{
60 AddressFamily_value = map[string]uint32{
66 func (x AddressFamily) String() string {
67 s, ok := AddressFamily_name[uint32(x)]
71 return "AddressFamily(" + strconv.Itoa(int(x)) + ")"
74 // FibPathFlags represents VPP binary API enum 'fib_path_flags'.
75 type FibPathFlags uint32
78 FIB_API_PATH_FLAG_NONE FibPathFlags = 0
79 FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED FibPathFlags = 1
80 FIB_API_PATH_FLAG_RESOLVE_VIA_HOST FibPathFlags = 2
81 FIB_API_PATH_FLAG_POP_PW_CW FibPathFlags = 4
85 FibPathFlags_name = map[uint32]string{
86 0: "FIB_API_PATH_FLAG_NONE",
87 1: "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED",
88 2: "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST",
89 4: "FIB_API_PATH_FLAG_POP_PW_CW",
91 FibPathFlags_value = map[string]uint32{
92 "FIB_API_PATH_FLAG_NONE": 0,
93 "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED": 1,
94 "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST": 2,
95 "FIB_API_PATH_FLAG_POP_PW_CW": 4,
99 func (x FibPathFlags) String() string {
100 s, ok := FibPathFlags_name[uint32(x)]
104 return "FibPathFlags(" + strconv.Itoa(int(x)) + ")"
107 // FibPathNhProto represents VPP binary API enum 'fib_path_nh_proto'.
108 type FibPathNhProto uint32
111 FIB_API_PATH_NH_PROTO_IP4 FibPathNhProto = 0
112 FIB_API_PATH_NH_PROTO_IP6 FibPathNhProto = 1
113 FIB_API_PATH_NH_PROTO_MPLS FibPathNhProto = 2
114 FIB_API_PATH_NH_PROTO_ETHERNET FibPathNhProto = 3
115 FIB_API_PATH_NH_PROTO_BIER FibPathNhProto = 4
119 FibPathNhProto_name = map[uint32]string{
120 0: "FIB_API_PATH_NH_PROTO_IP4",
121 1: "FIB_API_PATH_NH_PROTO_IP6",
122 2: "FIB_API_PATH_NH_PROTO_MPLS",
123 3: "FIB_API_PATH_NH_PROTO_ETHERNET",
124 4: "FIB_API_PATH_NH_PROTO_BIER",
126 FibPathNhProto_value = map[string]uint32{
127 "FIB_API_PATH_NH_PROTO_IP4": 0,
128 "FIB_API_PATH_NH_PROTO_IP6": 1,
129 "FIB_API_PATH_NH_PROTO_MPLS": 2,
130 "FIB_API_PATH_NH_PROTO_ETHERNET": 3,
131 "FIB_API_PATH_NH_PROTO_BIER": 4,
135 func (x FibPathNhProto) String() string {
136 s, ok := FibPathNhProto_name[uint32(x)]
140 return "FibPathNhProto(" + strconv.Itoa(int(x)) + ")"
143 // FibPathType represents VPP binary API enum 'fib_path_type'.
144 type FibPathType uint32
147 FIB_API_PATH_TYPE_NORMAL FibPathType = 0
148 FIB_API_PATH_TYPE_LOCAL FibPathType = 1
149 FIB_API_PATH_TYPE_DROP FibPathType = 2
150 FIB_API_PATH_TYPE_UDP_ENCAP FibPathType = 3
151 FIB_API_PATH_TYPE_BIER_IMP FibPathType = 4
152 FIB_API_PATH_TYPE_ICMP_UNREACH FibPathType = 5
153 FIB_API_PATH_TYPE_ICMP_PROHIBIT FibPathType = 6
154 FIB_API_PATH_TYPE_SOURCE_LOOKUP FibPathType = 7
155 FIB_API_PATH_TYPE_DVR FibPathType = 8
156 FIB_API_PATH_TYPE_INTERFACE_RX FibPathType = 9
157 FIB_API_PATH_TYPE_CLASSIFY FibPathType = 10
161 FibPathType_name = map[uint32]string{
162 0: "FIB_API_PATH_TYPE_NORMAL",
163 1: "FIB_API_PATH_TYPE_LOCAL",
164 2: "FIB_API_PATH_TYPE_DROP",
165 3: "FIB_API_PATH_TYPE_UDP_ENCAP",
166 4: "FIB_API_PATH_TYPE_BIER_IMP",
167 5: "FIB_API_PATH_TYPE_ICMP_UNREACH",
168 6: "FIB_API_PATH_TYPE_ICMP_PROHIBIT",
169 7: "FIB_API_PATH_TYPE_SOURCE_LOOKUP",
170 8: "FIB_API_PATH_TYPE_DVR",
171 9: "FIB_API_PATH_TYPE_INTERFACE_RX",
172 10: "FIB_API_PATH_TYPE_CLASSIFY",
174 FibPathType_value = map[string]uint32{
175 "FIB_API_PATH_TYPE_NORMAL": 0,
176 "FIB_API_PATH_TYPE_LOCAL": 1,
177 "FIB_API_PATH_TYPE_DROP": 2,
178 "FIB_API_PATH_TYPE_UDP_ENCAP": 3,
179 "FIB_API_PATH_TYPE_BIER_IMP": 4,
180 "FIB_API_PATH_TYPE_ICMP_UNREACH": 5,
181 "FIB_API_PATH_TYPE_ICMP_PROHIBIT": 6,
182 "FIB_API_PATH_TYPE_SOURCE_LOOKUP": 7,
183 "FIB_API_PATH_TYPE_DVR": 8,
184 "FIB_API_PATH_TYPE_INTERFACE_RX": 9,
185 "FIB_API_PATH_TYPE_CLASSIFY": 10,
189 func (x FibPathType) String() string {
190 s, ok := FibPathType_name[uint32(x)]
194 return "FibPathType(" + strconv.Itoa(int(x)) + ")"
197 // IfStatusFlags represents VPP binary API enum 'if_status_flags'.
198 type IfStatusFlags uint32
201 IF_STATUS_API_FLAG_ADMIN_UP IfStatusFlags = 1
202 IF_STATUS_API_FLAG_LINK_UP IfStatusFlags = 2
206 IfStatusFlags_name = map[uint32]string{
207 1: "IF_STATUS_API_FLAG_ADMIN_UP",
208 2: "IF_STATUS_API_FLAG_LINK_UP",
210 IfStatusFlags_value = map[string]uint32{
211 "IF_STATUS_API_FLAG_ADMIN_UP": 1,
212 "IF_STATUS_API_FLAG_LINK_UP": 2,
216 func (x IfStatusFlags) String() string {
217 s, ok := IfStatusFlags_name[uint32(x)]
221 return "IfStatusFlags(" + strconv.Itoa(int(x)) + ")"
224 // IfType represents VPP binary API enum 'if_type'.
228 IF_API_TYPE_HARDWARE IfType = 1
229 IF_API_TYPE_SUB IfType = 2
230 IF_API_TYPE_P2P IfType = 3
231 IF_API_TYPE_PIPE IfType = 4
235 IfType_name = map[uint32]string{
236 1: "IF_API_TYPE_HARDWARE",
237 2: "IF_API_TYPE_SUB",
238 3: "IF_API_TYPE_P2P",
239 4: "IF_API_TYPE_PIPE",
241 IfType_value = map[string]uint32{
242 "IF_API_TYPE_HARDWARE": 1,
243 "IF_API_TYPE_SUB": 2,
244 "IF_API_TYPE_P2P": 3,
245 "IF_API_TYPE_PIPE": 4,
249 func (x IfType) String() string {
250 s, ok := IfType_name[uint32(x)]
254 return "IfType(" + strconv.Itoa(int(x)) + ")"
257 // IPDscp represents VPP binary API enum 'ip_dscp'.
261 IP_API_DSCP_CS0 IPDscp = 0
262 IP_API_DSCP_CS1 IPDscp = 8
263 IP_API_DSCP_AF11 IPDscp = 10
264 IP_API_DSCP_AF12 IPDscp = 12
265 IP_API_DSCP_AF13 IPDscp = 14
266 IP_API_DSCP_CS2 IPDscp = 16
267 IP_API_DSCP_AF21 IPDscp = 18
268 IP_API_DSCP_AF22 IPDscp = 20
269 IP_API_DSCP_AF23 IPDscp = 22
270 IP_API_DSCP_CS3 IPDscp = 24
271 IP_API_DSCP_AF31 IPDscp = 26
272 IP_API_DSCP_AF32 IPDscp = 28
273 IP_API_DSCP_AF33 IPDscp = 30
274 IP_API_DSCP_CS4 IPDscp = 32
275 IP_API_DSCP_AF41 IPDscp = 34
276 IP_API_DSCP_AF42 IPDscp = 36
277 IP_API_DSCP_AF43 IPDscp = 38
278 IP_API_DSCP_CS5 IPDscp = 40
279 IP_API_DSCP_EF IPDscp = 46
280 IP_API_DSCP_CS6 IPDscp = 48
281 IP_API_DSCP_CS7 IPDscp = 50
285 IPDscp_name = map[uint8]string{
286 0: "IP_API_DSCP_CS0",
287 8: "IP_API_DSCP_CS1",
288 10: "IP_API_DSCP_AF11",
289 12: "IP_API_DSCP_AF12",
290 14: "IP_API_DSCP_AF13",
291 16: "IP_API_DSCP_CS2",
292 18: "IP_API_DSCP_AF21",
293 20: "IP_API_DSCP_AF22",
294 22: "IP_API_DSCP_AF23",
295 24: "IP_API_DSCP_CS3",
296 26: "IP_API_DSCP_AF31",
297 28: "IP_API_DSCP_AF32",
298 30: "IP_API_DSCP_AF33",
299 32: "IP_API_DSCP_CS4",
300 34: "IP_API_DSCP_AF41",
301 36: "IP_API_DSCP_AF42",
302 38: "IP_API_DSCP_AF43",
303 40: "IP_API_DSCP_CS5",
304 46: "IP_API_DSCP_EF",
305 48: "IP_API_DSCP_CS6",
306 50: "IP_API_DSCP_CS7",
308 IPDscp_value = map[string]uint8{
309 "IP_API_DSCP_CS0": 0,
310 "IP_API_DSCP_CS1": 8,
311 "IP_API_DSCP_AF11": 10,
312 "IP_API_DSCP_AF12": 12,
313 "IP_API_DSCP_AF13": 14,
314 "IP_API_DSCP_CS2": 16,
315 "IP_API_DSCP_AF21": 18,
316 "IP_API_DSCP_AF22": 20,
317 "IP_API_DSCP_AF23": 22,
318 "IP_API_DSCP_CS3": 24,
319 "IP_API_DSCP_AF31": 26,
320 "IP_API_DSCP_AF32": 28,
321 "IP_API_DSCP_AF33": 30,
322 "IP_API_DSCP_CS4": 32,
323 "IP_API_DSCP_AF41": 34,
324 "IP_API_DSCP_AF42": 36,
325 "IP_API_DSCP_AF43": 38,
326 "IP_API_DSCP_CS5": 40,
327 "IP_API_DSCP_EF": 46,
328 "IP_API_DSCP_CS6": 48,
329 "IP_API_DSCP_CS7": 50,
333 func (x IPDscp) String() string {
334 s, ok := IPDscp_name[uint8(x)]
338 return "IPDscp(" + strconv.Itoa(int(x)) + ")"
341 // IPEcn represents VPP binary API enum 'ip_ecn'.
345 IP_API_ECN_NONE IPEcn = 0
346 IP_API_ECN_ECT0 IPEcn = 1
347 IP_API_ECN_ECT1 IPEcn = 2
348 IP_API_ECN_CE IPEcn = 3
352 IPEcn_name = map[uint8]string{
353 0: "IP_API_ECN_NONE",
354 1: "IP_API_ECN_ECT0",
355 2: "IP_API_ECN_ECT1",
358 IPEcn_value = map[string]uint8{
359 "IP_API_ECN_NONE": 0,
360 "IP_API_ECN_ECT0": 1,
361 "IP_API_ECN_ECT1": 2,
366 func (x IPEcn) String() string {
367 s, ok := IPEcn_name[uint8(x)]
371 return "IPEcn(" + strconv.Itoa(int(x)) + ")"
374 // IPProto represents VPP binary API enum 'ip_proto'.
378 IP_API_PROTO_HOPOPT IPProto = 0
379 IP_API_PROTO_ICMP IPProto = 1
380 IP_API_PROTO_IGMP IPProto = 2
381 IP_API_PROTO_TCP IPProto = 6
382 IP_API_PROTO_UDP IPProto = 17
383 IP_API_PROTO_GRE IPProto = 47
384 IP_API_PROTO_AH IPProto = 50
385 IP_API_PROTO_ESP IPProto = 51
386 IP_API_PROTO_EIGRP IPProto = 88
387 IP_API_PROTO_OSPF IPProto = 89
388 IP_API_PROTO_SCTP IPProto = 132
389 IP_API_PROTO_RESERVED IPProto = 255
393 IPProto_name = map[uint32]string{
394 0: "IP_API_PROTO_HOPOPT",
395 1: "IP_API_PROTO_ICMP",
396 2: "IP_API_PROTO_IGMP",
397 6: "IP_API_PROTO_TCP",
398 17: "IP_API_PROTO_UDP",
399 47: "IP_API_PROTO_GRE",
400 50: "IP_API_PROTO_AH",
401 51: "IP_API_PROTO_ESP",
402 88: "IP_API_PROTO_EIGRP",
403 89: "IP_API_PROTO_OSPF",
404 132: "IP_API_PROTO_SCTP",
405 255: "IP_API_PROTO_RESERVED",
407 IPProto_value = map[string]uint32{
408 "IP_API_PROTO_HOPOPT": 0,
409 "IP_API_PROTO_ICMP": 1,
410 "IP_API_PROTO_IGMP": 2,
411 "IP_API_PROTO_TCP": 6,
412 "IP_API_PROTO_UDP": 17,
413 "IP_API_PROTO_GRE": 47,
414 "IP_API_PROTO_AH": 50,
415 "IP_API_PROTO_ESP": 51,
416 "IP_API_PROTO_EIGRP": 88,
417 "IP_API_PROTO_OSPF": 89,
418 "IP_API_PROTO_SCTP": 132,
419 "IP_API_PROTO_RESERVED": 255,
423 func (x IPProto) String() string {
424 s, ok := IPProto_name[uint32(x)]
428 return "IPProto(" + strconv.Itoa(int(x)) + ")"
431 // IPReassType represents VPP binary API enum 'ip_reass_type'.
432 type IPReassType uint32
435 IP_REASS_TYPE_FULL IPReassType = 0
436 IP_REASS_TYPE_SHALLOW_VIRTUAL IPReassType = 1
440 IPReassType_name = map[uint32]string{
441 0: "IP_REASS_TYPE_FULL",
442 1: "IP_REASS_TYPE_SHALLOW_VIRTUAL",
444 IPReassType_value = map[string]uint32{
445 "IP_REASS_TYPE_FULL": 0,
446 "IP_REASS_TYPE_SHALLOW_VIRTUAL": 1,
450 func (x IPReassType) String() string {
451 s, ok := IPReassType_name[uint32(x)]
455 return "IPReassType(" + strconv.Itoa(int(x)) + ")"
458 // LinkDuplex represents VPP binary API enum 'link_duplex'.
459 type LinkDuplex uint32
462 LINK_DUPLEX_API_UNKNOWN LinkDuplex = 0
463 LINK_DUPLEX_API_HALF LinkDuplex = 1
464 LINK_DUPLEX_API_FULL LinkDuplex = 2
468 LinkDuplex_name = map[uint32]string{
469 0: "LINK_DUPLEX_API_UNKNOWN",
470 1: "LINK_DUPLEX_API_HALF",
471 2: "LINK_DUPLEX_API_FULL",
473 LinkDuplex_value = map[string]uint32{
474 "LINK_DUPLEX_API_UNKNOWN": 0,
475 "LINK_DUPLEX_API_HALF": 1,
476 "LINK_DUPLEX_API_FULL": 2,
480 func (x LinkDuplex) String() string {
481 s, ok := LinkDuplex_name[uint32(x)]
485 return "LinkDuplex(" + strconv.Itoa(int(x)) + ")"
488 // MfibItfFlags represents VPP binary API enum 'mfib_itf_flags'.
489 type MfibItfFlags uint32
492 MFIB_API_ITF_FLAG_NONE MfibItfFlags = 0
493 MFIB_API_ITF_FLAG_NEGATE_SIGNAL MfibItfFlags = 1
494 MFIB_API_ITF_FLAG_ACCEPT MfibItfFlags = 2
495 MFIB_API_ITF_FLAG_FORWARD MfibItfFlags = 4
496 MFIB_API_ITF_FLAG_SIGNAL_PRESENT MfibItfFlags = 8
497 MFIB_API_ITF_FLAG_DONT_PRESERVE MfibItfFlags = 16
501 MfibItfFlags_name = map[uint32]string{
502 0: "MFIB_API_ITF_FLAG_NONE",
503 1: "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
504 2: "MFIB_API_ITF_FLAG_ACCEPT",
505 4: "MFIB_API_ITF_FLAG_FORWARD",
506 8: "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
507 16: "MFIB_API_ITF_FLAG_DONT_PRESERVE",
509 MfibItfFlags_value = map[string]uint32{
510 "MFIB_API_ITF_FLAG_NONE": 0,
511 "MFIB_API_ITF_FLAG_NEGATE_SIGNAL": 1,
512 "MFIB_API_ITF_FLAG_ACCEPT": 2,
513 "MFIB_API_ITF_FLAG_FORWARD": 4,
514 "MFIB_API_ITF_FLAG_SIGNAL_PRESENT": 8,
515 "MFIB_API_ITF_FLAG_DONT_PRESERVE": 16,
519 func (x MfibItfFlags) String() string {
520 s, ok := MfibItfFlags_name[uint32(x)]
524 return "MfibItfFlags(" + strconv.Itoa(int(x)) + ")"
527 // MtuProto represents VPP binary API enum 'mtu_proto'.
531 MTU_PROTO_API_L3 MtuProto = 1
532 MTU_PROTO_API_IP4 MtuProto = 2
533 MTU_PROTO_API_IP6 MtuProto = 3
534 MTU_PROTO_API_MPLS MtuProto = 4
535 MTU_PROTO_API_N MtuProto = 5
539 MtuProto_name = map[uint32]string{
540 1: "MTU_PROTO_API_L3",
541 2: "MTU_PROTO_API_IP4",
542 3: "MTU_PROTO_API_IP6",
543 4: "MTU_PROTO_API_MPLS",
544 5: "MTU_PROTO_API_N",
546 MtuProto_value = map[string]uint32{
547 "MTU_PROTO_API_L3": 1,
548 "MTU_PROTO_API_IP4": 2,
549 "MTU_PROTO_API_IP6": 3,
550 "MTU_PROTO_API_MPLS": 4,
551 "MTU_PROTO_API_N": 5,
555 func (x MtuProto) String() string {
556 s, ok := MtuProto_name[uint32(x)]
560 return "MtuProto(" + strconv.Itoa(int(x)) + ")"
563 // RxMode represents VPP binary API enum 'rx_mode'.
567 RX_MODE_API_UNKNOWN RxMode = 0
568 RX_MODE_API_POLLING RxMode = 1
569 RX_MODE_API_INTERRUPT RxMode = 2
570 RX_MODE_API_ADAPTIVE RxMode = 3
571 RX_MODE_API_DEFAULT RxMode = 4
575 RxMode_name = map[uint32]string{
576 0: "RX_MODE_API_UNKNOWN",
577 1: "RX_MODE_API_POLLING",
578 2: "RX_MODE_API_INTERRUPT",
579 3: "RX_MODE_API_ADAPTIVE",
580 4: "RX_MODE_API_DEFAULT",
582 RxMode_value = map[string]uint32{
583 "RX_MODE_API_UNKNOWN": 0,
584 "RX_MODE_API_POLLING": 1,
585 "RX_MODE_API_INTERRUPT": 2,
586 "RX_MODE_API_ADAPTIVE": 3,
587 "RX_MODE_API_DEFAULT": 4,
591 func (x RxMode) String() string {
592 s, ok := RxMode_name[uint32(x)]
596 return "RxMode(" + strconv.Itoa(int(x)) + ")"
599 // SubIfFlags represents VPP binary API enum 'sub_if_flags'.
600 type SubIfFlags uint32
603 SUB_IF_API_FLAG_NO_TAGS SubIfFlags = 1
604 SUB_IF_API_FLAG_ONE_TAG SubIfFlags = 2
605 SUB_IF_API_FLAG_TWO_TAGS SubIfFlags = 4
606 SUB_IF_API_FLAG_DOT1AD SubIfFlags = 8
607 SUB_IF_API_FLAG_EXACT_MATCH SubIfFlags = 16
608 SUB_IF_API_FLAG_DEFAULT SubIfFlags = 32
609 SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY SubIfFlags = 64
610 SUB_IF_API_FLAG_INNER_VLAN_ID_ANY SubIfFlags = 128
611 SUB_IF_API_FLAG_MASK_VNET SubIfFlags = 254
612 SUB_IF_API_FLAG_DOT1AH SubIfFlags = 256
616 SubIfFlags_name = map[uint32]string{
617 1: "SUB_IF_API_FLAG_NO_TAGS",
618 2: "SUB_IF_API_FLAG_ONE_TAG",
619 4: "SUB_IF_API_FLAG_TWO_TAGS",
620 8: "SUB_IF_API_FLAG_DOT1AD",
621 16: "SUB_IF_API_FLAG_EXACT_MATCH",
622 32: "SUB_IF_API_FLAG_DEFAULT",
623 64: "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
624 128: "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
625 254: "SUB_IF_API_FLAG_MASK_VNET",
626 256: "SUB_IF_API_FLAG_DOT1AH",
628 SubIfFlags_value = map[string]uint32{
629 "SUB_IF_API_FLAG_NO_TAGS": 1,
630 "SUB_IF_API_FLAG_ONE_TAG": 2,
631 "SUB_IF_API_FLAG_TWO_TAGS": 4,
632 "SUB_IF_API_FLAG_DOT1AD": 8,
633 "SUB_IF_API_FLAG_EXACT_MATCH": 16,
634 "SUB_IF_API_FLAG_DEFAULT": 32,
635 "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY": 64,
636 "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY": 128,
637 "SUB_IF_API_FLAG_MASK_VNET": 254,
638 "SUB_IF_API_FLAG_DOT1AH": 256,
642 func (x SubIfFlags) String() string {
643 s, ok := SubIfFlags_name[uint32(x)]
647 return "SubIfFlags(" + strconv.Itoa(int(x)) + ")"
650 // AddressWithPrefix represents VPP binary API alias 'address_with_prefix'.
651 type AddressWithPrefix Prefix
653 // InterfaceIndex represents VPP binary API alias 'interface_index'.
654 type InterfaceIndex uint32
656 // IP4Address represents VPP binary API alias 'ip4_address'.
657 type IP4Address [4]uint8
659 // IP4AddressWithPrefix represents VPP binary API alias 'ip4_address_with_prefix'.
660 type IP4AddressWithPrefix IP4Prefix
662 // IP6Address represents VPP binary API alias 'ip6_address'.
663 type IP6Address [16]uint8
665 // IP6AddressWithPrefix represents VPP binary API alias 'ip6_address_with_prefix'.
666 type IP6AddressWithPrefix IP6Prefix
668 // MacAddress represents VPP binary API alias 'mac_address'.
669 type MacAddress [6]uint8
671 // Address represents VPP binary API type 'address'.
672 type Address struct {
673 Af AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
674 Un AddressUnion `binapi:"address_union,name=un" json:"un,omitempty"`
677 func (*Address) GetTypeName() string { return "address" }
679 // FibMplsLabel represents VPP binary API type 'fib_mpls_label'.
680 type FibMplsLabel struct {
681 IsUniform uint8 `binapi:"u8,name=is_uniform" json:"is_uniform,omitempty"`
682 Label uint32 `binapi:"u32,name=label" json:"label,omitempty"`
683 TTL uint8 `binapi:"u8,name=ttl" json:"ttl,omitempty"`
684 Exp uint8 `binapi:"u8,name=exp" json:"exp,omitempty"`
687 func (*FibMplsLabel) GetTypeName() string { return "fib_mpls_label" }
689 // FibPath represents VPP binary API type 'fib_path'.
690 type FibPath struct {
691 SwIfIndex uint32 `binapi:"u32,name=sw_if_index" json:"sw_if_index,omitempty"`
692 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
693 RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"`
694 Weight uint8 `binapi:"u8,name=weight" json:"weight,omitempty"`
695 Preference uint8 `binapi:"u8,name=preference" json:"preference,omitempty"`
696 Type FibPathType `binapi:"fib_path_type,name=type" json:"type,omitempty"`
697 Flags FibPathFlags `binapi:"fib_path_flags,name=flags" json:"flags,omitempty"`
698 Proto FibPathNhProto `binapi:"fib_path_nh_proto,name=proto" json:"proto,omitempty"`
699 Nh FibPathNh `binapi:"fib_path_nh,name=nh" json:"nh,omitempty"`
700 NLabels uint8 `binapi:"u8,name=n_labels" json:"n_labels,omitempty"`
701 LabelStack [16]FibMplsLabel `binapi:"fib_mpls_label[16],name=label_stack" json:"label_stack,omitempty" struc:"[16]FibMplsLabel"`
704 func (*FibPath) GetTypeName() string { return "fib_path" }
706 // FibPathNh represents VPP binary API type 'fib_path_nh'.
707 type FibPathNh struct {
708 Address AddressUnion `binapi:"address_union,name=address" json:"address,omitempty"`
709 ViaLabel uint32 `binapi:"u32,name=via_label" json:"via_label,omitempty"`
710 ObjID uint32 `binapi:"u32,name=obj_id" json:"obj_id,omitempty"`
711 ClassifyTableIndex uint32 `binapi:"u32,name=classify_table_index" json:"classify_table_index,omitempty"`
714 func (*FibPathNh) GetTypeName() string { return "fib_path_nh" }
716 // IP4Prefix represents VPP binary API type 'ip4_prefix'.
717 type IP4Prefix struct {
718 Address IP4Address `binapi:"ip4_address,name=address" json:"address,omitempty"`
719 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
722 func (*IP4Prefix) GetTypeName() string { return "ip4_prefix" }
724 // IP6Prefix represents VPP binary API type 'ip6_prefix'.
725 type IP6Prefix struct {
726 Address IP6Address `binapi:"ip6_address,name=address" json:"address,omitempty"`
727 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
730 func (*IP6Prefix) GetTypeName() string { return "ip6_prefix" }
732 // IPMroute represents VPP binary API type 'ip_mroute'.
733 type IPMroute struct {
734 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
735 EntryFlags uint32 `binapi:"u32,name=entry_flags" json:"entry_flags,omitempty"`
736 RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"`
737 Prefix Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
738 NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
739 Paths []MfibPath `binapi:"mfib_path[n_paths],name=paths" json:"paths,omitempty"`
742 func (*IPMroute) GetTypeName() string { return "ip_mroute" }
744 // IPRoute represents VPP binary API type 'ip_route'.
745 type IPRoute struct {
746 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
747 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
748 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
749 NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
750 Paths []FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"`
753 func (*IPRoute) GetTypeName() string { return "ip_route" }
755 // IPTable represents VPP binary API type 'ip_table'.
756 type IPTable struct {
757 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
758 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
759 Name string `binapi:"string[64],name=name" json:"name,omitempty" struc:"[64]byte"`
762 func (*IPTable) GetTypeName() string { return "ip_table" }
764 // MfibPath represents VPP binary API type 'mfib_path'.
765 type MfibPath struct {
766 ItfFlags MfibItfFlags `binapi:"mfib_itf_flags,name=itf_flags" json:"itf_flags,omitempty"`
767 Path FibPath `binapi:"fib_path,name=path" json:"path,omitempty"`
770 func (*MfibPath) GetTypeName() string { return "mfib_path" }
772 // Mprefix represents VPP binary API type 'mprefix'.
773 type Mprefix struct {
774 Af AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
775 GrpAddressLength uint16 `binapi:"u16,name=grp_address_length" json:"grp_address_length,omitempty"`
776 GrpAddress AddressUnion `binapi:"address_union,name=grp_address" json:"grp_address,omitempty"`
777 SrcAddress AddressUnion `binapi:"address_union,name=src_address" json:"src_address,omitempty"`
780 func (*Mprefix) GetTypeName() string { return "mprefix" }
782 // Prefix represents VPP binary API type 'prefix'.
784 Address Address `binapi:"address,name=address" json:"address,omitempty"`
785 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
788 func (*Prefix) GetTypeName() string { return "prefix" }
790 // PrefixMatcher represents VPP binary API type 'prefix_matcher'.
791 type PrefixMatcher struct {
792 Le uint8 `binapi:"u8,name=le" json:"le,omitempty"`
793 Ge uint8 `binapi:"u8,name=ge" json:"ge,omitempty"`
796 func (*PrefixMatcher) GetTypeName() string { return "prefix_matcher" }
798 // PuntRedirect represents VPP binary API type 'punt_redirect'.
799 type PuntRedirect struct {
800 RxSwIfIndex InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"`
801 TxSwIfIndex InterfaceIndex `binapi:"interface_index,name=tx_sw_if_index" json:"tx_sw_if_index,omitempty"`
802 Nh Address `binapi:"address,name=nh" json:"nh,omitempty"`
805 func (*PuntRedirect) GetTypeName() string { return "punt_redirect" }
807 // AddressUnion represents VPP binary API union 'address_union'.
808 type AddressUnion struct {
809 XXX_UnionData [16]byte
812 func (*AddressUnion) GetTypeName() string { return "address_union" }
814 func AddressUnionIP4(a IP4Address) (u AddressUnion) {
818 func (u *AddressUnion) SetIP4(a IP4Address) {
819 var b = new(bytes.Buffer)
820 if err := struc.Pack(b, &a); err != nil {
823 copy(u.XXX_UnionData[:], b.Bytes())
825 func (u *AddressUnion) GetIP4() (a IP4Address) {
826 var b = bytes.NewReader(u.XXX_UnionData[:])
831 func AddressUnionIP6(a IP6Address) (u AddressUnion) {
835 func (u *AddressUnion) SetIP6(a IP6Address) {
836 var b = new(bytes.Buffer)
837 if err := struc.Pack(b, &a); err != nil {
840 copy(u.XXX_UnionData[:], b.Bytes())
842 func (u *AddressUnion) GetIP6() (a IP6Address) {
843 var b = bytes.NewReader(u.XXX_UnionData[:])
848 // IoamDisable represents VPP binary API message 'ioam_disable'.
849 type IoamDisable struct {
850 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
853 func (m *IoamDisable) Reset() { *m = IoamDisable{} }
854 func (*IoamDisable) GetMessageName() string { return "ioam_disable" }
855 func (*IoamDisable) GetCrcString() string { return "6b16a45e" }
856 func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage }
858 func (m *IoamDisable) Size() int {
867 func (m *IoamDisable) Marshal(b []byte) ([]byte, error) {
868 o := binary.BigEndian
874 buf = make([]byte, m.Size())
879 o.PutUint16(buf[pos:pos+2], uint16(m.ID))
883 func (m *IoamDisable) Unmarshal(tmp []byte) error {
884 o := binary.BigEndian
889 m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
894 // IoamDisableReply represents VPP binary API message 'ioam_disable_reply'.
895 type IoamDisableReply struct {
896 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
899 func (m *IoamDisableReply) Reset() { *m = IoamDisableReply{} }
900 func (*IoamDisableReply) GetMessageName() string { return "ioam_disable_reply" }
901 func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" }
902 func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
904 func (m *IoamDisableReply) Size() int {
913 func (m *IoamDisableReply) Marshal(b []byte) ([]byte, error) {
914 o := binary.BigEndian
920 buf = make([]byte, m.Size())
925 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
929 func (m *IoamDisableReply) Unmarshal(tmp []byte) error {
930 o := binary.BigEndian
935 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
940 // IoamEnable represents VPP binary API message 'ioam_enable'.
941 type IoamEnable struct {
942 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
943 Seqno bool `binapi:"bool,name=seqno" json:"seqno,omitempty"`
944 Analyse bool `binapi:"bool,name=analyse" json:"analyse,omitempty"`
945 PotEnable bool `binapi:"bool,name=pot_enable" json:"pot_enable,omitempty"`
946 TraceEnable bool `binapi:"bool,name=trace_enable" json:"trace_enable,omitempty"`
947 NodeID uint32 `binapi:"u32,name=node_id" json:"node_id,omitempty"`
950 func (m *IoamEnable) Reset() { *m = IoamEnable{} }
951 func (*IoamEnable) GetMessageName() string { return "ioam_enable" }
952 func (*IoamEnable) GetCrcString() string { return "51ccd868" }
953 func (*IoamEnable) GetMessageType() api.MessageType { return api.RequestMessage }
955 func (m *IoamEnable) Size() int {
964 // field[1] m.Analyse
966 // field[1] m.PotEnable
968 // field[1] m.TraceEnable
974 func (m *IoamEnable) Marshal(b []byte) ([]byte, error) {
975 o := binary.BigEndian
981 buf = make([]byte, m.Size())
986 o.PutUint16(buf[pos:pos+2], uint16(m.ID))
993 // field[1] m.Analyse
998 // field[1] m.PotEnable
1003 // field[1] m.TraceEnable
1008 // field[1] m.NodeID
1009 o.PutUint32(buf[pos:pos+4], uint32(m.NodeID))
1013 func (m *IoamEnable) Unmarshal(tmp []byte) error {
1014 o := binary.BigEndian
1019 m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
1022 m.Seqno = tmp[pos] != 0
1024 // field[1] m.Analyse
1025 m.Analyse = tmp[pos] != 0
1027 // field[1] m.PotEnable
1028 m.PotEnable = tmp[pos] != 0
1030 // field[1] m.TraceEnable
1031 m.TraceEnable = tmp[pos] != 0
1033 // field[1] m.NodeID
1034 m.NodeID = uint32(o.Uint32(tmp[pos : pos+4]))
1039 // IoamEnableReply represents VPP binary API message 'ioam_enable_reply'.
1040 type IoamEnableReply struct {
1041 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1044 func (m *IoamEnableReply) Reset() { *m = IoamEnableReply{} }
1045 func (*IoamEnableReply) GetMessageName() string { return "ioam_enable_reply" }
1046 func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" }
1047 func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1049 func (m *IoamEnableReply) Size() int {
1054 // field[1] m.Retval
1058 func (m *IoamEnableReply) Marshal(b []byte) ([]byte, error) {
1059 o := binary.BigEndian
1065 buf = make([]byte, m.Size())
1069 // field[1] m.Retval
1070 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1074 func (m *IoamEnableReply) Unmarshal(tmp []byte) error {
1075 o := binary.BigEndian
1079 // field[1] m.Retval
1080 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1085 // IPAddressDetails represents VPP binary API message 'ip_address_details'.
1086 type IPAddressDetails struct {
1087 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1088 Prefix AddressWithPrefix `binapi:"address_with_prefix,name=prefix" json:"prefix,omitempty"`
1091 func (m *IPAddressDetails) Reset() { *m = IPAddressDetails{} }
1092 func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" }
1093 func (*IPAddressDetails) GetCrcString() string { return "b1199745" }
1094 func (*IPAddressDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1096 func (m *IPAddressDetails) Size() int {
1101 // field[1] m.SwIfIndex
1103 // field[1] m.Prefix
1104 // field[2] m.Prefix.Address
1105 // field[3] m.Prefix.Address.Af
1107 // field[3] m.Prefix.Address.Un
1109 // field[2] m.Prefix.Len
1113 func (m *IPAddressDetails) Marshal(b []byte) ([]byte, error) {
1114 o := binary.BigEndian
1120 buf = make([]byte, m.Size())
1124 // field[1] m.SwIfIndex
1125 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
1127 // field[1] m.Prefix
1128 // field[2] m.Prefix.Address
1129 // field[3] m.Prefix.Address.Af
1130 o.PutUint32(buf[pos:pos+4], uint32(m.Prefix.Address.Af))
1132 // field[3] m.Prefix.Address.Un
1133 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
1135 // field[2] m.Prefix.Len
1136 buf[pos] = uint8(m.Prefix.Len)
1140 func (m *IPAddressDetails) Unmarshal(tmp []byte) error {
1141 o := binary.BigEndian
1145 // field[1] m.SwIfIndex
1146 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1148 // field[1] m.Prefix
1149 // field[2] m.Prefix.Address
1150 // field[3] m.Prefix.Address.Af
1151 m.Prefix.Address.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
1153 // field[3] m.Prefix.Address.Un
1154 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
1156 // field[2] m.Prefix.Len
1157 m.Prefix.Len = uint8(tmp[pos])
1162 // IPAddressDump represents VPP binary API message 'ip_address_dump'.
1163 type IPAddressDump struct {
1164 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1165 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
1168 func (m *IPAddressDump) Reset() { *m = IPAddressDump{} }
1169 func (*IPAddressDump) GetMessageName() string { return "ip_address_dump" }
1170 func (*IPAddressDump) GetCrcString() string { return "2d033de4" }
1171 func (*IPAddressDump) GetMessageType() api.MessageType { return api.RequestMessage }
1173 func (m *IPAddressDump) Size() int {
1178 // field[1] m.SwIfIndex
1180 // field[1] m.IsIPv6
1184 func (m *IPAddressDump) Marshal(b []byte) ([]byte, error) {
1185 o := binary.BigEndian
1191 buf = make([]byte, m.Size())
1195 // field[1] m.SwIfIndex
1196 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
1198 // field[1] m.IsIPv6
1205 func (m *IPAddressDump) Unmarshal(tmp []byte) error {
1206 o := binary.BigEndian
1210 // field[1] m.SwIfIndex
1211 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1213 // field[1] m.IsIPv6
1214 m.IsIPv6 = tmp[pos] != 0
1219 // IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del'.
1220 type IPContainerProxyAddDel struct {
1221 Pfx Prefix `binapi:"prefix,name=pfx" json:"pfx,omitempty"`
1222 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1223 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
1226 func (m *IPContainerProxyAddDel) Reset() { *m = IPContainerProxyAddDel{} }
1227 func (*IPContainerProxyAddDel) GetMessageName() string { return "ip_container_proxy_add_del" }
1228 func (*IPContainerProxyAddDel) GetCrcString() string { return "91189f40" }
1229 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
1231 func (m *IPContainerProxyAddDel) Size() int {
1237 // field[2] m.Pfx.Address
1238 // field[3] m.Pfx.Address.Af
1240 // field[3] m.Pfx.Address.Un
1242 // field[2] m.Pfx.Len
1244 // field[1] m.SwIfIndex
1250 func (m *IPContainerProxyAddDel) Marshal(b []byte) ([]byte, error) {
1251 o := binary.BigEndian
1257 buf = make([]byte, m.Size())
1262 // field[2] m.Pfx.Address
1263 // field[3] m.Pfx.Address.Af
1264 o.PutUint32(buf[pos:pos+4], uint32(m.Pfx.Address.Af))
1266 // field[3] m.Pfx.Address.Un
1267 copy(buf[pos:pos+16], m.Pfx.Address.Un.XXX_UnionData[:])
1269 // field[2] m.Pfx.Len
1270 buf[pos] = uint8(m.Pfx.Len)
1272 // field[1] m.SwIfIndex
1273 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
1282 func (m *IPContainerProxyAddDel) Unmarshal(tmp []byte) error {
1283 o := binary.BigEndian
1288 // field[2] m.Pfx.Address
1289 // field[3] m.Pfx.Address.Af
1290 m.Pfx.Address.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
1292 // field[3] m.Pfx.Address.Un
1293 copy(m.Pfx.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
1295 // field[2] m.Pfx.Len
1296 m.Pfx.Len = uint8(tmp[pos])
1298 // field[1] m.SwIfIndex
1299 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1302 m.IsAdd = tmp[pos] != 0
1307 // IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply'.
1308 type IPContainerProxyAddDelReply struct {
1309 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1312 func (m *IPContainerProxyAddDelReply) Reset() { *m = IPContainerProxyAddDelReply{} }
1313 func (*IPContainerProxyAddDelReply) GetMessageName() string {
1314 return "ip_container_proxy_add_del_reply"
1316 func (*IPContainerProxyAddDelReply) GetCrcString() string { return "e8d4e804" }
1317 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1319 func (m *IPContainerProxyAddDelReply) Size() int {
1324 // field[1] m.Retval
1328 func (m *IPContainerProxyAddDelReply) Marshal(b []byte) ([]byte, error) {
1329 o := binary.BigEndian
1335 buf = make([]byte, m.Size())
1339 // field[1] m.Retval
1340 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1344 func (m *IPContainerProxyAddDelReply) Unmarshal(tmp []byte) error {
1345 o := binary.BigEndian
1349 // field[1] m.Retval
1350 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1355 // IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details'.
1356 type IPContainerProxyDetails struct {
1357 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1358 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
1361 func (m *IPContainerProxyDetails) Reset() { *m = IPContainerProxyDetails{} }
1362 func (*IPContainerProxyDetails) GetMessageName() string { return "ip_container_proxy_details" }
1363 func (*IPContainerProxyDetails) GetCrcString() string { return "0ee460e8" }
1364 func (*IPContainerProxyDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1366 func (m *IPContainerProxyDetails) Size() int {
1371 // field[1] m.SwIfIndex
1373 // field[1] m.Prefix
1374 // field[2] m.Prefix.Address
1375 // field[3] m.Prefix.Address.Af
1377 // field[3] m.Prefix.Address.Un
1379 // field[2] m.Prefix.Len
1383 func (m *IPContainerProxyDetails) Marshal(b []byte) ([]byte, error) {
1384 o := binary.BigEndian
1390 buf = make([]byte, m.Size())
1394 // field[1] m.SwIfIndex
1395 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
1397 // field[1] m.Prefix
1398 // field[2] m.Prefix.Address
1399 // field[3] m.Prefix.Address.Af
1400 o.PutUint32(buf[pos:pos+4], uint32(m.Prefix.Address.Af))
1402 // field[3] m.Prefix.Address.Un
1403 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
1405 // field[2] m.Prefix.Len
1406 buf[pos] = uint8(m.Prefix.Len)
1410 func (m *IPContainerProxyDetails) Unmarshal(tmp []byte) error {
1411 o := binary.BigEndian
1415 // field[1] m.SwIfIndex
1416 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1418 // field[1] m.Prefix
1419 // field[2] m.Prefix.Address
1420 // field[3] m.Prefix.Address.Af
1421 m.Prefix.Address.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
1423 // field[3] m.Prefix.Address.Un
1424 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
1426 // field[2] m.Prefix.Len
1427 m.Prefix.Len = uint8(tmp[pos])
1432 // IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump'.
1433 type IPContainerProxyDump struct{}
1435 func (m *IPContainerProxyDump) Reset() { *m = IPContainerProxyDump{} }
1436 func (*IPContainerProxyDump) GetMessageName() string { return "ip_container_proxy_dump" }
1437 func (*IPContainerProxyDump) GetCrcString() string { return "51077d14" }
1438 func (*IPContainerProxyDump) GetMessageType() api.MessageType { return api.RequestMessage }
1440 func (m *IPContainerProxyDump) Size() int {
1447 func (m *IPContainerProxyDump) Marshal(b []byte) ([]byte, error) {
1448 o := binary.BigEndian
1454 buf = make([]byte, m.Size())
1460 func (m *IPContainerProxyDump) Unmarshal(tmp []byte) error {
1461 o := binary.BigEndian
1468 // IPDetails represents VPP binary API message 'ip_details'.
1469 type IPDetails struct {
1470 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1471 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
1474 func (m *IPDetails) Reset() { *m = IPDetails{} }
1475 func (*IPDetails) GetMessageName() string { return "ip_details" }
1476 func (*IPDetails) GetCrcString() string { return "eb152d07" }
1477 func (*IPDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1479 func (m *IPDetails) Size() int {
1484 // field[1] m.SwIfIndex
1486 // field[1] m.IsIPv6
1490 func (m *IPDetails) Marshal(b []byte) ([]byte, error) {
1491 o := binary.BigEndian
1497 buf = make([]byte, m.Size())
1501 // field[1] m.SwIfIndex
1502 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
1504 // field[1] m.IsIPv6
1511 func (m *IPDetails) Unmarshal(tmp []byte) error {
1512 o := binary.BigEndian
1516 // field[1] m.SwIfIndex
1517 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1519 // field[1] m.IsIPv6
1520 m.IsIPv6 = tmp[pos] != 0
1525 // IPDump represents VPP binary API message 'ip_dump'.
1526 type IPDump struct {
1527 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
1530 func (m *IPDump) Reset() { *m = IPDump{} }
1531 func (*IPDump) GetMessageName() string { return "ip_dump" }
1532 func (*IPDump) GetCrcString() string { return "98d231ca" }
1533 func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage }
1535 func (m *IPDump) Size() int {
1540 // field[1] m.IsIPv6
1544 func (m *IPDump) Marshal(b []byte) ([]byte, error) {
1545 o := binary.BigEndian
1551 buf = make([]byte, m.Size())
1555 // field[1] m.IsIPv6
1562 func (m *IPDump) Unmarshal(tmp []byte) error {
1563 o := binary.BigEndian
1567 // field[1] m.IsIPv6
1568 m.IsIPv6 = tmp[pos] != 0
1573 // IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del'.
1574 type IPMrouteAddDel struct {
1575 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
1576 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
1577 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
1580 func (m *IPMrouteAddDel) Reset() { *m = IPMrouteAddDel{} }
1581 func (*IPMrouteAddDel) GetMessageName() string { return "ip_mroute_add_del" }
1582 func (*IPMrouteAddDel) GetCrcString() string { return "f6627d17" }
1583 func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
1585 func (m *IPMrouteAddDel) Size() int {
1592 // field[1] m.IsMultipath
1595 // field[2] m.Route.TableID
1597 // field[2] m.Route.EntryFlags
1599 // field[2] m.Route.RpfID
1601 // field[2] m.Route.Prefix
1602 // field[3] m.Route.Prefix.Af
1604 // field[3] m.Route.Prefix.GrpAddressLength
1606 // field[3] m.Route.Prefix.GrpAddress
1608 // field[3] m.Route.Prefix.SrcAddress
1610 // field[2] m.Route.NPaths
1612 // field[2] m.Route.Paths
1613 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1616 if j2 < len(m.Route.Paths) {
1617 s2 = m.Route.Paths[j2]
1619 // field[3] s2.ItfFlags
1622 // field[4] s2.Path.SwIfIndex
1624 // field[4] s2.Path.TableID
1626 // field[4] s2.Path.RpfID
1628 // field[4] s2.Path.Weight
1630 // field[4] s2.Path.Preference
1632 // field[4] s2.Path.Type
1634 // field[4] s2.Path.Flags
1636 // field[4] s2.Path.Proto
1638 // field[4] s2.Path.Nh
1639 // field[5] s2.Path.Nh.Address
1641 // field[5] s2.Path.Nh.ViaLabel
1643 // field[5] s2.Path.Nh.ObjID
1645 // field[5] s2.Path.Nh.ClassifyTableIndex
1647 // field[4] s2.Path.NLabels
1649 // field[4] s2.Path.LabelStack
1650 for j4 := 0; j4 < 16; j4++ {
1653 if j4 < len(s2.Path.LabelStack) {
1654 s4 = s2.Path.LabelStack[j4]
1656 // field[5] s4.IsUniform
1658 // field[5] s4.Label
1668 func (m *IPMrouteAddDel) Marshal(b []byte) ([]byte, error) {
1669 o := binary.BigEndian
1675 buf = make([]byte, m.Size())
1684 // field[1] m.IsMultipath
1690 // field[2] m.Route.TableID
1691 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
1693 // field[2] m.Route.EntryFlags
1694 o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
1696 // field[2] m.Route.RpfID
1697 o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
1699 // field[2] m.Route.Prefix
1700 // field[3] m.Route.Prefix.Af
1701 o.PutUint32(buf[pos:pos+4], uint32(m.Route.Prefix.Af))
1703 // field[3] m.Route.Prefix.GrpAddressLength
1704 o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
1706 // field[3] m.Route.Prefix.GrpAddress
1707 copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
1709 // field[3] m.Route.Prefix.SrcAddress
1710 copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
1712 // field[2] m.Route.NPaths
1713 buf[pos] = uint8(len(m.Route.Paths))
1715 // field[2] m.Route.Paths
1716 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1718 if j2 < len(m.Route.Paths) {
1719 v2 = m.Route.Paths[j2]
1721 // field[3] v2.ItfFlags
1722 o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
1725 // field[4] v2.Path.SwIfIndex
1726 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
1728 // field[4] v2.Path.TableID
1729 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
1731 // field[4] v2.Path.RpfID
1732 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
1734 // field[4] v2.Path.Weight
1735 buf[pos] = uint8(v2.Path.Weight)
1737 // field[4] v2.Path.Preference
1738 buf[pos] = uint8(v2.Path.Preference)
1740 // field[4] v2.Path.Type
1741 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
1743 // field[4] v2.Path.Flags
1744 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
1746 // field[4] v2.Path.Proto
1747 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
1749 // field[4] v2.Path.Nh
1750 // field[5] v2.Path.Nh.Address
1751 copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
1753 // field[5] v2.Path.Nh.ViaLabel
1754 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
1756 // field[5] v2.Path.Nh.ObjID
1757 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
1759 // field[5] v2.Path.Nh.ClassifyTableIndex
1760 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
1762 // field[4] v2.Path.NLabels
1763 buf[pos] = uint8(v2.Path.NLabels)
1765 // field[4] v2.Path.LabelStack
1766 for j4 := 0; j4 < 16; j4++ {
1768 if j4 < len(v2.Path.LabelStack) {
1769 v4 = v2.Path.LabelStack[j4]
1771 // field[5] v4.IsUniform
1772 buf[pos] = uint8(v4.IsUniform)
1774 // field[5] v4.Label
1775 o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
1778 buf[pos] = uint8(v4.TTL)
1781 buf[pos] = uint8(v4.Exp)
1787 func (m *IPMrouteAddDel) Unmarshal(tmp []byte) error {
1788 o := binary.BigEndian
1793 m.IsAdd = tmp[pos] != 0
1795 // field[1] m.IsMultipath
1796 m.IsMultipath = tmp[pos] != 0
1799 // field[2] m.Route.TableID
1800 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1802 // field[2] m.Route.EntryFlags
1803 m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
1805 // field[2] m.Route.RpfID
1806 m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1808 // field[2] m.Route.Prefix
1809 // field[3] m.Route.Prefix.Af
1810 m.Route.Prefix.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
1812 // field[3] m.Route.Prefix.GrpAddressLength
1813 m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
1815 // field[3] m.Route.Prefix.GrpAddress
1816 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
1818 // field[3] m.Route.Prefix.SrcAddress
1819 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
1821 // field[2] m.Route.NPaths
1822 m.Route.NPaths = uint8(tmp[pos])
1824 // field[2] m.Route.Paths
1825 m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
1826 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
1827 // field[3] m.Route.Paths[j2].ItfFlags
1828 m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
1830 // field[3] m.Route.Paths[j2].Path
1831 // field[4] m.Route.Paths[j2].Path.SwIfIndex
1832 m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1834 // field[4] m.Route.Paths[j2].Path.TableID
1835 m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1837 // field[4] m.Route.Paths[j2].Path.RpfID
1838 m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1840 // field[4] m.Route.Paths[j2].Path.Weight
1841 m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
1843 // field[4] m.Route.Paths[j2].Path.Preference
1844 m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
1846 // field[4] m.Route.Paths[j2].Path.Type
1847 m.Route.Paths[j2].Path.Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
1849 // field[4] m.Route.Paths[j2].Path.Flags
1850 m.Route.Paths[j2].Path.Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
1852 // field[4] m.Route.Paths[j2].Path.Proto
1853 m.Route.Paths[j2].Path.Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
1855 // field[4] m.Route.Paths[j2].Path.Nh
1856 // field[5] m.Route.Paths[j2].Path.Nh.Address
1857 copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
1859 // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
1860 m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
1862 // field[5] m.Route.Paths[j2].Path.Nh.ObjID
1863 m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
1865 // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
1866 m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1868 // field[4] m.Route.Paths[j2].Path.NLabels
1869 m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
1871 // field[4] m.Route.Paths[j2].Path.LabelStack
1872 for j4 := 0; j4 < 16; j4++ {
1873 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
1874 m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
1876 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
1877 m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
1879 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
1880 m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
1882 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
1883 m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
1890 // IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply'.
1891 type IPMrouteAddDelReply struct {
1892 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1893 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
1896 func (m *IPMrouteAddDelReply) Reset() { *m = IPMrouteAddDelReply{} }
1897 func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" }
1898 func (*IPMrouteAddDelReply) GetCrcString() string { return "1992deab" }
1899 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1901 func (m *IPMrouteAddDelReply) Size() int {
1906 // field[1] m.Retval
1908 // field[1] m.StatsIndex
1912 func (m *IPMrouteAddDelReply) Marshal(b []byte) ([]byte, error) {
1913 o := binary.BigEndian
1919 buf = make([]byte, m.Size())
1923 // field[1] m.Retval
1924 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1926 // field[1] m.StatsIndex
1927 o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
1931 func (m *IPMrouteAddDelReply) Unmarshal(tmp []byte) error {
1932 o := binary.BigEndian
1936 // field[1] m.Retval
1937 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1939 // field[1] m.StatsIndex
1940 m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1945 // IPMrouteDetails represents VPP binary API message 'ip_mroute_details'.
1946 type IPMrouteDetails struct {
1947 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
1950 func (m *IPMrouteDetails) Reset() { *m = IPMrouteDetails{} }
1951 func (*IPMrouteDetails) GetMessageName() string { return "ip_mroute_details" }
1952 func (*IPMrouteDetails) GetCrcString() string { return "c1cb4b44" }
1953 func (*IPMrouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1955 func (m *IPMrouteDetails) Size() int {
1961 // field[2] m.Route.TableID
1963 // field[2] m.Route.EntryFlags
1965 // field[2] m.Route.RpfID
1967 // field[2] m.Route.Prefix
1968 // field[3] m.Route.Prefix.Af
1970 // field[3] m.Route.Prefix.GrpAddressLength
1972 // field[3] m.Route.Prefix.GrpAddress
1974 // field[3] m.Route.Prefix.SrcAddress
1976 // field[2] m.Route.NPaths
1978 // field[2] m.Route.Paths
1979 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1982 if j2 < len(m.Route.Paths) {
1983 s2 = m.Route.Paths[j2]
1985 // field[3] s2.ItfFlags
1988 // field[4] s2.Path.SwIfIndex
1990 // field[4] s2.Path.TableID
1992 // field[4] s2.Path.RpfID
1994 // field[4] s2.Path.Weight
1996 // field[4] s2.Path.Preference
1998 // field[4] s2.Path.Type
2000 // field[4] s2.Path.Flags
2002 // field[4] s2.Path.Proto
2004 // field[4] s2.Path.Nh
2005 // field[5] s2.Path.Nh.Address
2007 // field[5] s2.Path.Nh.ViaLabel
2009 // field[5] s2.Path.Nh.ObjID
2011 // field[5] s2.Path.Nh.ClassifyTableIndex
2013 // field[4] s2.Path.NLabels
2015 // field[4] s2.Path.LabelStack
2016 for j4 := 0; j4 < 16; j4++ {
2019 if j4 < len(s2.Path.LabelStack) {
2020 s4 = s2.Path.LabelStack[j4]
2022 // field[5] s4.IsUniform
2024 // field[5] s4.Label
2034 func (m *IPMrouteDetails) Marshal(b []byte) ([]byte, error) {
2035 o := binary.BigEndian
2041 buf = make([]byte, m.Size())
2046 // field[2] m.Route.TableID
2047 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
2049 // field[2] m.Route.EntryFlags
2050 o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
2052 // field[2] m.Route.RpfID
2053 o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
2055 // field[2] m.Route.Prefix
2056 // field[3] m.Route.Prefix.Af
2057 o.PutUint32(buf[pos:pos+4], uint32(m.Route.Prefix.Af))
2059 // field[3] m.Route.Prefix.GrpAddressLength
2060 o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
2062 // field[3] m.Route.Prefix.GrpAddress
2063 copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
2065 // field[3] m.Route.Prefix.SrcAddress
2066 copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
2068 // field[2] m.Route.NPaths
2069 buf[pos] = uint8(len(m.Route.Paths))
2071 // field[2] m.Route.Paths
2072 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2074 if j2 < len(m.Route.Paths) {
2075 v2 = m.Route.Paths[j2]
2077 // field[3] v2.ItfFlags
2078 o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
2081 // field[4] v2.Path.SwIfIndex
2082 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
2084 // field[4] v2.Path.TableID
2085 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
2087 // field[4] v2.Path.RpfID
2088 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
2090 // field[4] v2.Path.Weight
2091 buf[pos] = uint8(v2.Path.Weight)
2093 // field[4] v2.Path.Preference
2094 buf[pos] = uint8(v2.Path.Preference)
2096 // field[4] v2.Path.Type
2097 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
2099 // field[4] v2.Path.Flags
2100 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
2102 // field[4] v2.Path.Proto
2103 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
2105 // field[4] v2.Path.Nh
2106 // field[5] v2.Path.Nh.Address
2107 copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
2109 // field[5] v2.Path.Nh.ViaLabel
2110 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
2112 // field[5] v2.Path.Nh.ObjID
2113 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
2115 // field[5] v2.Path.Nh.ClassifyTableIndex
2116 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
2118 // field[4] v2.Path.NLabels
2119 buf[pos] = uint8(v2.Path.NLabels)
2121 // field[4] v2.Path.LabelStack
2122 for j4 := 0; j4 < 16; j4++ {
2124 if j4 < len(v2.Path.LabelStack) {
2125 v4 = v2.Path.LabelStack[j4]
2127 // field[5] v4.IsUniform
2128 buf[pos] = uint8(v4.IsUniform)
2130 // field[5] v4.Label
2131 o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
2134 buf[pos] = uint8(v4.TTL)
2137 buf[pos] = uint8(v4.Exp)
2143 func (m *IPMrouteDetails) Unmarshal(tmp []byte) error {
2144 o := binary.BigEndian
2149 // field[2] m.Route.TableID
2150 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2152 // field[2] m.Route.EntryFlags
2153 m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
2155 // field[2] m.Route.RpfID
2156 m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
2158 // field[2] m.Route.Prefix
2159 // field[3] m.Route.Prefix.Af
2160 m.Route.Prefix.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
2162 // field[3] m.Route.Prefix.GrpAddressLength
2163 m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
2165 // field[3] m.Route.Prefix.GrpAddress
2166 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
2168 // field[3] m.Route.Prefix.SrcAddress
2169 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
2171 // field[2] m.Route.NPaths
2172 m.Route.NPaths = uint8(tmp[pos])
2174 // field[2] m.Route.Paths
2175 m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
2176 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
2177 // field[3] m.Route.Paths[j2].ItfFlags
2178 m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
2180 // field[3] m.Route.Paths[j2].Path
2181 // field[4] m.Route.Paths[j2].Path.SwIfIndex
2182 m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2184 // field[4] m.Route.Paths[j2].Path.TableID
2185 m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2187 // field[4] m.Route.Paths[j2].Path.RpfID
2188 m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
2190 // field[4] m.Route.Paths[j2].Path.Weight
2191 m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
2193 // field[4] m.Route.Paths[j2].Path.Preference
2194 m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
2196 // field[4] m.Route.Paths[j2].Path.Type
2197 m.Route.Paths[j2].Path.Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
2199 // field[4] m.Route.Paths[j2].Path.Flags
2200 m.Route.Paths[j2].Path.Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
2202 // field[4] m.Route.Paths[j2].Path.Proto
2203 m.Route.Paths[j2].Path.Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
2205 // field[4] m.Route.Paths[j2].Path.Nh
2206 // field[5] m.Route.Paths[j2].Path.Nh.Address
2207 copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
2209 // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
2210 m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
2212 // field[5] m.Route.Paths[j2].Path.Nh.ObjID
2213 m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
2215 // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
2216 m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2218 // field[4] m.Route.Paths[j2].Path.NLabels
2219 m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
2221 // field[4] m.Route.Paths[j2].Path.LabelStack
2222 for j4 := 0; j4 < 16; j4++ {
2223 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
2224 m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
2226 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
2227 m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
2229 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
2230 m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
2232 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
2233 m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
2240 // IPMrouteDump represents VPP binary API message 'ip_mroute_dump'.
2241 type IPMrouteDump struct {
2242 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
2245 func (m *IPMrouteDump) Reset() { *m = IPMrouteDump{} }
2246 func (*IPMrouteDump) GetMessageName() string { return "ip_mroute_dump" }
2247 func (*IPMrouteDump) GetCrcString() string { return "b9d2e09e" }
2248 func (*IPMrouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
2250 func (m *IPMrouteDump) Size() int {
2256 // field[2] m.Table.TableID
2258 // field[2] m.Table.IsIP6
2260 // field[2] m.Table.Name
2264 func (m *IPMrouteDump) Marshal(b []byte) ([]byte, error) {
2265 o := binary.BigEndian
2271 buf = make([]byte, m.Size())
2276 // field[2] m.Table.TableID
2277 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
2279 // field[2] m.Table.IsIP6
2284 // field[2] m.Table.Name
2285 copy(buf[pos:pos+64], m.Table.Name)
2289 func (m *IPMrouteDump) Unmarshal(tmp []byte) error {
2290 o := binary.BigEndian
2295 // field[2] m.Table.TableID
2296 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2298 // field[2] m.Table.IsIP6
2299 m.Table.IsIP6 = tmp[pos] != 0
2301 // field[2] m.Table.Name
2303 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
2304 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
2310 // IPMtableDetails represents VPP binary API message 'ip_mtable_details'.
2311 type IPMtableDetails struct {
2312 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
2315 func (m *IPMtableDetails) Reset() { *m = IPMtableDetails{} }
2316 func (*IPMtableDetails) GetMessageName() string { return "ip_mtable_details" }
2317 func (*IPMtableDetails) GetCrcString() string { return "b9d2e09e" }
2318 func (*IPMtableDetails) GetMessageType() api.MessageType { return api.RequestMessage }
2320 func (m *IPMtableDetails) Size() int {
2326 // field[2] m.Table.TableID
2328 // field[2] m.Table.IsIP6
2330 // field[2] m.Table.Name
2334 func (m *IPMtableDetails) Marshal(b []byte) ([]byte, error) {
2335 o := binary.BigEndian
2341 buf = make([]byte, m.Size())
2346 // field[2] m.Table.TableID
2347 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
2349 // field[2] m.Table.IsIP6
2354 // field[2] m.Table.Name
2355 copy(buf[pos:pos+64], m.Table.Name)
2359 func (m *IPMtableDetails) Unmarshal(tmp []byte) error {
2360 o := binary.BigEndian
2365 // field[2] m.Table.TableID
2366 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2368 // field[2] m.Table.IsIP6
2369 m.Table.IsIP6 = tmp[pos] != 0
2371 // field[2] m.Table.Name
2373 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
2374 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
2380 // IPMtableDump represents VPP binary API message 'ip_mtable_dump'.
2381 type IPMtableDump struct{}
2383 func (m *IPMtableDump) Reset() { *m = IPMtableDump{} }
2384 func (*IPMtableDump) GetMessageName() string { return "ip_mtable_dump" }
2385 func (*IPMtableDump) GetCrcString() string { return "51077d14" }
2386 func (*IPMtableDump) GetMessageType() api.MessageType { return api.RequestMessage }
2388 func (m *IPMtableDump) Size() int {
2395 func (m *IPMtableDump) Marshal(b []byte) ([]byte, error) {
2396 o := binary.BigEndian
2402 buf = make([]byte, m.Size())
2408 func (m *IPMtableDump) Unmarshal(tmp []byte) error {
2409 o := binary.BigEndian
2416 // IPPuntPolice represents VPP binary API message 'ip_punt_police'.
2417 type IPPuntPolice struct {
2418 PolicerIndex uint32 `binapi:"u32,name=policer_index" json:"policer_index,omitempty"`
2419 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
2420 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2423 func (m *IPPuntPolice) Reset() { *m = IPPuntPolice{} }
2424 func (*IPPuntPolice) GetMessageName() string { return "ip_punt_police" }
2425 func (*IPPuntPolice) GetCrcString() string { return "db867cea" }
2426 func (*IPPuntPolice) GetMessageType() api.MessageType { return api.RequestMessage }
2428 func (m *IPPuntPolice) Size() int {
2433 // field[1] m.PolicerIndex
2441 func (m *IPPuntPolice) Marshal(b []byte) ([]byte, error) {
2442 o := binary.BigEndian
2448 buf = make([]byte, m.Size())
2452 // field[1] m.PolicerIndex
2453 o.PutUint32(buf[pos:pos+4], uint32(m.PolicerIndex))
2467 func (m *IPPuntPolice) Unmarshal(tmp []byte) error {
2468 o := binary.BigEndian
2472 // field[1] m.PolicerIndex
2473 m.PolicerIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2476 m.IsAdd = tmp[pos] != 0
2479 m.IsIP6 = tmp[pos] != 0
2484 // IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply'.
2485 type IPPuntPoliceReply struct {
2486 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2489 func (m *IPPuntPoliceReply) Reset() { *m = IPPuntPoliceReply{} }
2490 func (*IPPuntPoliceReply) GetMessageName() string { return "ip_punt_police_reply" }
2491 func (*IPPuntPoliceReply) GetCrcString() string { return "e8d4e804" }
2492 func (*IPPuntPoliceReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2494 func (m *IPPuntPoliceReply) Size() int {
2499 // field[1] m.Retval
2503 func (m *IPPuntPoliceReply) Marshal(b []byte) ([]byte, error) {
2504 o := binary.BigEndian
2510 buf = make([]byte, m.Size())
2514 // field[1] m.Retval
2515 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2519 func (m *IPPuntPoliceReply) Unmarshal(tmp []byte) error {
2520 o := binary.BigEndian
2524 // field[1] m.Retval
2525 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2530 // IPPuntRedirect represents VPP binary API message 'ip_punt_redirect'.
2531 type IPPuntRedirect struct {
2532 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
2533 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
2536 func (m *IPPuntRedirect) Reset() { *m = IPPuntRedirect{} }
2537 func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" }
2538 func (*IPPuntRedirect) GetCrcString() string { return "a9a5592c" }
2539 func (*IPPuntRedirect) GetMessageType() api.MessageType { return api.RequestMessage }
2541 func (m *IPPuntRedirect) Size() int {
2547 // field[2] m.Punt.RxSwIfIndex
2549 // field[2] m.Punt.TxSwIfIndex
2551 // field[2] m.Punt.Nh
2552 // field[3] m.Punt.Nh.Af
2554 // field[3] m.Punt.Nh.Un
2560 func (m *IPPuntRedirect) Marshal(b []byte) ([]byte, error) {
2561 o := binary.BigEndian
2567 buf = make([]byte, m.Size())
2572 // field[2] m.Punt.RxSwIfIndex
2573 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
2575 // field[2] m.Punt.TxSwIfIndex
2576 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
2578 // field[2] m.Punt.Nh
2579 // field[3] m.Punt.Nh.Af
2580 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.Nh.Af))
2582 // field[3] m.Punt.Nh.Un
2583 copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
2592 func (m *IPPuntRedirect) Unmarshal(tmp []byte) error {
2593 o := binary.BigEndian
2598 // field[2] m.Punt.RxSwIfIndex
2599 m.Punt.RxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2601 // field[2] m.Punt.TxSwIfIndex
2602 m.Punt.TxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2604 // field[2] m.Punt.Nh
2605 // field[3] m.Punt.Nh.Af
2606 m.Punt.Nh.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
2608 // field[3] m.Punt.Nh.Un
2609 copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
2612 m.IsAdd = tmp[pos] != 0
2617 // IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details'.
2618 type IPPuntRedirectDetails struct {
2619 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
2622 func (m *IPPuntRedirectDetails) Reset() { *m = IPPuntRedirectDetails{} }
2623 func (*IPPuntRedirectDetails) GetMessageName() string { return "ip_punt_redirect_details" }
2624 func (*IPPuntRedirectDetails) GetCrcString() string { return "3924f5d3" }
2625 func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
2627 func (m *IPPuntRedirectDetails) Size() int {
2633 // field[2] m.Punt.RxSwIfIndex
2635 // field[2] m.Punt.TxSwIfIndex
2637 // field[2] m.Punt.Nh
2638 // field[3] m.Punt.Nh.Af
2640 // field[3] m.Punt.Nh.Un
2644 func (m *IPPuntRedirectDetails) Marshal(b []byte) ([]byte, error) {
2645 o := binary.BigEndian
2651 buf = make([]byte, m.Size())
2656 // field[2] m.Punt.RxSwIfIndex
2657 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
2659 // field[2] m.Punt.TxSwIfIndex
2660 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
2662 // field[2] m.Punt.Nh
2663 // field[3] m.Punt.Nh.Af
2664 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.Nh.Af))
2666 // field[3] m.Punt.Nh.Un
2667 copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
2671 func (m *IPPuntRedirectDetails) Unmarshal(tmp []byte) error {
2672 o := binary.BigEndian
2677 // field[2] m.Punt.RxSwIfIndex
2678 m.Punt.RxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2680 // field[2] m.Punt.TxSwIfIndex
2681 m.Punt.TxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2683 // field[2] m.Punt.Nh
2684 // field[3] m.Punt.Nh.Af
2685 m.Punt.Nh.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
2687 // field[3] m.Punt.Nh.Un
2688 copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
2693 // IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump'.
2694 type IPPuntRedirectDump struct {
2695 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2696 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2699 func (m *IPPuntRedirectDump) Reset() { *m = IPPuntRedirectDump{} }
2700 func (*IPPuntRedirectDump) GetMessageName() string { return "ip_punt_redirect_dump" }
2701 func (*IPPuntRedirectDump) GetCrcString() string { return "2d033de4" }
2702 func (*IPPuntRedirectDump) GetMessageType() api.MessageType { return api.RequestMessage }
2704 func (m *IPPuntRedirectDump) Size() int {
2709 // field[1] m.SwIfIndex
2711 // field[1] m.IsIPv6
2715 func (m *IPPuntRedirectDump) Marshal(b []byte) ([]byte, error) {
2716 o := binary.BigEndian
2722 buf = make([]byte, m.Size())
2726 // field[1] m.SwIfIndex
2727 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
2729 // field[1] m.IsIPv6
2736 func (m *IPPuntRedirectDump) Unmarshal(tmp []byte) error {
2737 o := binary.BigEndian
2741 // field[1] m.SwIfIndex
2742 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2744 // field[1] m.IsIPv6
2745 m.IsIPv6 = tmp[pos] != 0
2750 // IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply'.
2751 type IPPuntRedirectReply struct {
2752 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2755 func (m *IPPuntRedirectReply) Reset() { *m = IPPuntRedirectReply{} }
2756 func (*IPPuntRedirectReply) GetMessageName() string { return "ip_punt_redirect_reply" }
2757 func (*IPPuntRedirectReply) GetCrcString() string { return "e8d4e804" }
2758 func (*IPPuntRedirectReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2760 func (m *IPPuntRedirectReply) Size() int {
2765 // field[1] m.Retval
2769 func (m *IPPuntRedirectReply) Marshal(b []byte) ([]byte, error) {
2770 o := binary.BigEndian
2776 buf = make([]byte, m.Size())
2780 // field[1] m.Retval
2781 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2785 func (m *IPPuntRedirectReply) Unmarshal(tmp []byte) error {
2786 o := binary.BigEndian
2790 // field[1] m.Retval
2791 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2796 // IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable'.
2797 type IPReassemblyEnableDisable struct {
2798 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2799 EnableIP4 bool `binapi:"bool,name=enable_ip4" json:"enable_ip4,omitempty"`
2800 EnableIP6 bool `binapi:"bool,name=enable_ip6" json:"enable_ip6,omitempty"`
2801 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2804 func (m *IPReassemblyEnableDisable) Reset() { *m = IPReassemblyEnableDisable{} }
2805 func (*IPReassemblyEnableDisable) GetMessageName() string { return "ip_reassembly_enable_disable" }
2806 func (*IPReassemblyEnableDisable) GetCrcString() string { return "885c85a6" }
2807 func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
2809 func (m *IPReassemblyEnableDisable) Size() int {
2814 // field[1] m.SwIfIndex
2816 // field[1] m.EnableIP4
2818 // field[1] m.EnableIP6
2824 func (m *IPReassemblyEnableDisable) Marshal(b []byte) ([]byte, error) {
2825 o := binary.BigEndian
2831 buf = make([]byte, m.Size())
2835 // field[1] m.SwIfIndex
2836 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
2838 // field[1] m.EnableIP4
2843 // field[1] m.EnableIP6
2849 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2853 func (m *IPReassemblyEnableDisable) Unmarshal(tmp []byte) error {
2854 o := binary.BigEndian
2858 // field[1] m.SwIfIndex
2859 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2861 // field[1] m.EnableIP4
2862 m.EnableIP4 = tmp[pos] != 0
2864 // field[1] m.EnableIP6
2865 m.EnableIP6 = tmp[pos] != 0
2868 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2873 // IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply'.
2874 type IPReassemblyEnableDisableReply struct {
2875 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2878 func (m *IPReassemblyEnableDisableReply) Reset() { *m = IPReassemblyEnableDisableReply{} }
2879 func (*IPReassemblyEnableDisableReply) GetMessageName() string {
2880 return "ip_reassembly_enable_disable_reply"
2882 func (*IPReassemblyEnableDisableReply) GetCrcString() string { return "e8d4e804" }
2883 func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2885 func (m *IPReassemblyEnableDisableReply) Size() int {
2890 // field[1] m.Retval
2894 func (m *IPReassemblyEnableDisableReply) Marshal(b []byte) ([]byte, error) {
2895 o := binary.BigEndian
2901 buf = make([]byte, m.Size())
2905 // field[1] m.Retval
2906 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2910 func (m *IPReassemblyEnableDisableReply) Unmarshal(tmp []byte) error {
2911 o := binary.BigEndian
2915 // field[1] m.Retval
2916 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2921 // IPReassemblyGet represents VPP binary API message 'ip_reassembly_get'.
2922 type IPReassemblyGet struct {
2923 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2924 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2927 func (m *IPReassemblyGet) Reset() { *m = IPReassemblyGet{} }
2928 func (*IPReassemblyGet) GetMessageName() string { return "ip_reassembly_get" }
2929 func (*IPReassemblyGet) GetCrcString() string { return "ea13ff63" }
2930 func (*IPReassemblyGet) GetMessageType() api.MessageType { return api.RequestMessage }
2932 func (m *IPReassemblyGet) Size() int {
2943 func (m *IPReassemblyGet) Marshal(b []byte) ([]byte, error) {
2944 o := binary.BigEndian
2950 buf = make([]byte, m.Size())
2960 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2964 func (m *IPReassemblyGet) Unmarshal(tmp []byte) error {
2965 o := binary.BigEndian
2970 m.IsIP6 = tmp[pos] != 0
2973 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2978 // IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply'.
2979 type IPReassemblyGetReply struct {
2980 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2981 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
2982 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
2983 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
2984 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
2985 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2988 func (m *IPReassemblyGetReply) Reset() { *m = IPReassemblyGetReply{} }
2989 func (*IPReassemblyGetReply) GetMessageName() string { return "ip_reassembly_get_reply" }
2990 func (*IPReassemblyGetReply) GetCrcString() string { return "d5eb8d34" }
2991 func (*IPReassemblyGetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2993 func (m *IPReassemblyGetReply) Size() int {
2998 // field[1] m.Retval
3000 // field[1] m.TimeoutMs
3002 // field[1] m.MaxReassemblies
3004 // field[1] m.MaxReassemblyLength
3006 // field[1] m.ExpireWalkIntervalMs
3012 func (m *IPReassemblyGetReply) Marshal(b []byte) ([]byte, error) {
3013 o := binary.BigEndian
3019 buf = make([]byte, m.Size())
3023 // field[1] m.Retval
3024 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3026 // field[1] m.TimeoutMs
3027 o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
3029 // field[1] m.MaxReassemblies
3030 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
3032 // field[1] m.MaxReassemblyLength
3033 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
3035 // field[1] m.ExpireWalkIntervalMs
3036 o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
3045 func (m *IPReassemblyGetReply) Unmarshal(tmp []byte) error {
3046 o := binary.BigEndian
3050 // field[1] m.Retval
3051 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3053 // field[1] m.TimeoutMs
3054 m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
3056 // field[1] m.MaxReassemblies
3057 m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
3059 // field[1] m.MaxReassemblyLength
3060 m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
3062 // field[1] m.ExpireWalkIntervalMs
3063 m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
3066 m.IsIP6 = tmp[pos] != 0
3071 // IPReassemblySet represents VPP binary API message 'ip_reassembly_set'.
3072 type IPReassemblySet struct {
3073 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
3074 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
3075 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
3076 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
3077 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
3078 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
3081 func (m *IPReassemblySet) Reset() { *m = IPReassemblySet{} }
3082 func (*IPReassemblySet) GetMessageName() string { return "ip_reassembly_set" }
3083 func (*IPReassemblySet) GetCrcString() string { return "16467d25" }
3084 func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage }
3086 func (m *IPReassemblySet) Size() int {
3091 // field[1] m.TimeoutMs
3093 // field[1] m.MaxReassemblies
3095 // field[1] m.MaxReassemblyLength
3097 // field[1] m.ExpireWalkIntervalMs
3105 func (m *IPReassemblySet) Marshal(b []byte) ([]byte, error) {
3106 o := binary.BigEndian
3112 buf = make([]byte, m.Size())
3116 // field[1] m.TimeoutMs
3117 o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
3119 // field[1] m.MaxReassemblies
3120 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
3122 // field[1] m.MaxReassemblyLength
3123 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
3125 // field[1] m.ExpireWalkIntervalMs
3126 o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
3134 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
3138 func (m *IPReassemblySet) Unmarshal(tmp []byte) error {
3139 o := binary.BigEndian
3143 // field[1] m.TimeoutMs
3144 m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
3146 // field[1] m.MaxReassemblies
3147 m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
3149 // field[1] m.MaxReassemblyLength
3150 m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
3152 // field[1] m.ExpireWalkIntervalMs
3153 m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
3156 m.IsIP6 = tmp[pos] != 0
3159 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
3164 // IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply'.
3165 type IPReassemblySetReply struct {
3166 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3169 func (m *IPReassemblySetReply) Reset() { *m = IPReassemblySetReply{} }
3170 func (*IPReassemblySetReply) GetMessageName() string { return "ip_reassembly_set_reply" }
3171 func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" }
3172 func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
3174 func (m *IPReassemblySetReply) Size() int {
3179 // field[1] m.Retval
3183 func (m *IPReassemblySetReply) Marshal(b []byte) ([]byte, error) {
3184 o := binary.BigEndian
3190 buf = make([]byte, m.Size())
3194 // field[1] m.Retval
3195 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3199 func (m *IPReassemblySetReply) Unmarshal(tmp []byte) error {
3200 o := binary.BigEndian
3204 // field[1] m.Retval
3205 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3210 // IPRouteAddDel represents VPP binary API message 'ip_route_add_del'.
3211 type IPRouteAddDel struct {
3212 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3213 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
3214 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
3217 func (m *IPRouteAddDel) Reset() { *m = IPRouteAddDel{} }
3218 func (*IPRouteAddDel) GetMessageName() string { return "ip_route_add_del" }
3219 func (*IPRouteAddDel) GetCrcString() string { return "c1ff832d" }
3220 func (*IPRouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
3222 func (m *IPRouteAddDel) Size() int {
3229 // field[1] m.IsMultipath
3232 // field[2] m.Route.TableID
3234 // field[2] m.Route.StatsIndex
3236 // field[2] m.Route.Prefix
3237 // field[3] m.Route.Prefix.Address
3238 // field[4] m.Route.Prefix.Address.Af
3240 // field[4] m.Route.Prefix.Address.Un
3242 // field[3] m.Route.Prefix.Len
3244 // field[2] m.Route.NPaths
3246 // field[2] m.Route.Paths
3247 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3250 if j2 < len(m.Route.Paths) {
3251 s2 = m.Route.Paths[j2]
3253 // field[3] s2.SwIfIndex
3255 // field[3] s2.TableID
3257 // field[3] s2.RpfID
3259 // field[3] s2.Weight
3261 // field[3] s2.Preference
3265 // field[3] s2.Flags
3267 // field[3] s2.Proto
3270 // field[4] s2.Nh.Address
3272 // field[4] s2.Nh.ViaLabel
3274 // field[4] s2.Nh.ObjID
3276 // field[4] s2.Nh.ClassifyTableIndex
3278 // field[3] s2.NLabels
3280 // field[3] s2.LabelStack
3281 for j3 := 0; j3 < 16; j3++ {
3284 if j3 < len(s2.LabelStack) {
3285 s3 = s2.LabelStack[j3]
3287 // field[4] s3.IsUniform
3289 // field[4] s3.Label
3299 func (m *IPRouteAddDel) Marshal(b []byte) ([]byte, error) {
3300 o := binary.BigEndian
3306 buf = make([]byte, m.Size())
3315 // field[1] m.IsMultipath
3321 // field[2] m.Route.TableID
3322 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
3324 // field[2] m.Route.StatsIndex
3325 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
3327 // field[2] m.Route.Prefix
3328 // field[3] m.Route.Prefix.Address
3329 // field[4] m.Route.Prefix.Address.Af
3330 o.PutUint32(buf[pos:pos+4], uint32(m.Route.Prefix.Address.Af))
3332 // field[4] m.Route.Prefix.Address.Un
3333 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
3335 // field[3] m.Route.Prefix.Len
3336 buf[pos] = uint8(m.Route.Prefix.Len)
3338 // field[2] m.Route.NPaths
3339 buf[pos] = uint8(len(m.Route.Paths))
3341 // field[2] m.Route.Paths
3342 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3344 if j2 < len(m.Route.Paths) {
3345 v2 = m.Route.Paths[j2]
3347 // field[3] v2.SwIfIndex
3348 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
3350 // field[3] v2.TableID
3351 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
3353 // field[3] v2.RpfID
3354 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
3356 // field[3] v2.Weight
3357 buf[pos] = uint8(v2.Weight)
3359 // field[3] v2.Preference
3360 buf[pos] = uint8(v2.Preference)
3363 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
3365 // field[3] v2.Flags
3366 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
3368 // field[3] v2.Proto
3369 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
3372 // field[4] v2.Nh.Address
3373 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
3375 // field[4] v2.Nh.ViaLabel
3376 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
3378 // field[4] v2.Nh.ObjID
3379 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
3381 // field[4] v2.Nh.ClassifyTableIndex
3382 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
3384 // field[3] v2.NLabels
3385 buf[pos] = uint8(v2.NLabels)
3387 // field[3] v2.LabelStack
3388 for j3 := 0; j3 < 16; j3++ {
3390 if j3 < len(v2.LabelStack) {
3391 v3 = v2.LabelStack[j3]
3393 // field[4] v3.IsUniform
3394 buf[pos] = uint8(v3.IsUniform)
3396 // field[4] v3.Label
3397 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
3400 buf[pos] = uint8(v3.TTL)
3403 buf[pos] = uint8(v3.Exp)
3409 func (m *IPRouteAddDel) Unmarshal(tmp []byte) error {
3410 o := binary.BigEndian
3415 m.IsAdd = tmp[pos] != 0
3417 // field[1] m.IsMultipath
3418 m.IsMultipath = tmp[pos] != 0
3421 // field[2] m.Route.TableID
3422 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3424 // field[2] m.Route.StatsIndex
3425 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3427 // field[2] m.Route.Prefix
3428 // field[3] m.Route.Prefix.Address
3429 // field[4] m.Route.Prefix.Address.Af
3430 m.Route.Prefix.Address.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
3432 // field[4] m.Route.Prefix.Address.Un
3433 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3435 // field[3] m.Route.Prefix.Len
3436 m.Route.Prefix.Len = uint8(tmp[pos])
3438 // field[2] m.Route.NPaths
3439 m.Route.NPaths = uint8(tmp[pos])
3441 // field[2] m.Route.Paths
3442 m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
3443 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
3444 // field[3] m.Route.Paths[j2].SwIfIndex
3445 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3447 // field[3] m.Route.Paths[j2].TableID
3448 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3450 // field[3] m.Route.Paths[j2].RpfID
3451 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
3453 // field[3] m.Route.Paths[j2].Weight
3454 m.Route.Paths[j2].Weight = uint8(tmp[pos])
3456 // field[3] m.Route.Paths[j2].Preference
3457 m.Route.Paths[j2].Preference = uint8(tmp[pos])
3459 // field[3] m.Route.Paths[j2].Type
3460 m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
3462 // field[3] m.Route.Paths[j2].Flags
3463 m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
3465 // field[3] m.Route.Paths[j2].Proto
3466 m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
3468 // field[3] m.Route.Paths[j2].Nh
3469 // field[4] m.Route.Paths[j2].Nh.Address
3470 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
3472 // field[4] m.Route.Paths[j2].Nh.ViaLabel
3473 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
3475 // field[4] m.Route.Paths[j2].Nh.ObjID
3476 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
3478 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
3479 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3481 // field[3] m.Route.Paths[j2].NLabels
3482 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
3484 // field[3] m.Route.Paths[j2].LabelStack
3485 for j3 := 0; j3 < 16; j3++ {
3486 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
3487 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
3489 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
3490 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
3492 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
3493 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
3495 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
3496 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
3503 // IPRouteAddDelReply represents VPP binary API message 'ip_route_add_del_reply'.
3504 type IPRouteAddDelReply struct {
3505 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3506 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
3509 func (m *IPRouteAddDelReply) Reset() { *m = IPRouteAddDelReply{} }
3510 func (*IPRouteAddDelReply) GetMessageName() string { return "ip_route_add_del_reply" }
3511 func (*IPRouteAddDelReply) GetCrcString() string { return "1992deab" }
3512 func (*IPRouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
3514 func (m *IPRouteAddDelReply) Size() int {
3519 // field[1] m.Retval
3521 // field[1] m.StatsIndex
3525 func (m *IPRouteAddDelReply) Marshal(b []byte) ([]byte, error) {
3526 o := binary.BigEndian
3532 buf = make([]byte, m.Size())
3536 // field[1] m.Retval
3537 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3539 // field[1] m.StatsIndex
3540 o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
3544 func (m *IPRouteAddDelReply) Unmarshal(tmp []byte) error {
3545 o := binary.BigEndian
3549 // field[1] m.Retval
3550 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3552 // field[1] m.StatsIndex
3553 m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3558 // IPRouteDetails represents VPP binary API message 'ip_route_details'.
3559 type IPRouteDetails struct {
3560 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
3563 func (m *IPRouteDetails) Reset() { *m = IPRouteDetails{} }
3564 func (*IPRouteDetails) GetMessageName() string { return "ip_route_details" }
3565 func (*IPRouteDetails) GetCrcString() string { return "d1ffaae1" }
3566 func (*IPRouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
3568 func (m *IPRouteDetails) Size() int {
3574 // field[2] m.Route.TableID
3576 // field[2] m.Route.StatsIndex
3578 // field[2] m.Route.Prefix
3579 // field[3] m.Route.Prefix.Address
3580 // field[4] m.Route.Prefix.Address.Af
3582 // field[4] m.Route.Prefix.Address.Un
3584 // field[3] m.Route.Prefix.Len
3586 // field[2] m.Route.NPaths
3588 // field[2] m.Route.Paths
3589 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3592 if j2 < len(m.Route.Paths) {
3593 s2 = m.Route.Paths[j2]
3595 // field[3] s2.SwIfIndex
3597 // field[3] s2.TableID
3599 // field[3] s2.RpfID
3601 // field[3] s2.Weight
3603 // field[3] s2.Preference
3607 // field[3] s2.Flags
3609 // field[3] s2.Proto
3612 // field[4] s2.Nh.Address
3614 // field[4] s2.Nh.ViaLabel
3616 // field[4] s2.Nh.ObjID
3618 // field[4] s2.Nh.ClassifyTableIndex
3620 // field[3] s2.NLabels
3622 // field[3] s2.LabelStack
3623 for j3 := 0; j3 < 16; j3++ {
3626 if j3 < len(s2.LabelStack) {
3627 s3 = s2.LabelStack[j3]
3629 // field[4] s3.IsUniform
3631 // field[4] s3.Label
3641 func (m *IPRouteDetails) Marshal(b []byte) ([]byte, error) {
3642 o := binary.BigEndian
3648 buf = make([]byte, m.Size())
3653 // field[2] m.Route.TableID
3654 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
3656 // field[2] m.Route.StatsIndex
3657 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
3659 // field[2] m.Route.Prefix
3660 // field[3] m.Route.Prefix.Address
3661 // field[4] m.Route.Prefix.Address.Af
3662 o.PutUint32(buf[pos:pos+4], uint32(m.Route.Prefix.Address.Af))
3664 // field[4] m.Route.Prefix.Address.Un
3665 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
3667 // field[3] m.Route.Prefix.Len
3668 buf[pos] = uint8(m.Route.Prefix.Len)
3670 // field[2] m.Route.NPaths
3671 buf[pos] = uint8(len(m.Route.Paths))
3673 // field[2] m.Route.Paths
3674 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3676 if j2 < len(m.Route.Paths) {
3677 v2 = m.Route.Paths[j2]
3679 // field[3] v2.SwIfIndex
3680 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
3682 // field[3] v2.TableID
3683 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
3685 // field[3] v2.RpfID
3686 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
3688 // field[3] v2.Weight
3689 buf[pos] = uint8(v2.Weight)
3691 // field[3] v2.Preference
3692 buf[pos] = uint8(v2.Preference)
3695 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
3697 // field[3] v2.Flags
3698 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
3700 // field[3] v2.Proto
3701 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
3704 // field[4] v2.Nh.Address
3705 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
3707 // field[4] v2.Nh.ViaLabel
3708 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
3710 // field[4] v2.Nh.ObjID
3711 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
3713 // field[4] v2.Nh.ClassifyTableIndex
3714 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
3716 // field[3] v2.NLabels
3717 buf[pos] = uint8(v2.NLabels)
3719 // field[3] v2.LabelStack
3720 for j3 := 0; j3 < 16; j3++ {
3722 if j3 < len(v2.LabelStack) {
3723 v3 = v2.LabelStack[j3]
3725 // field[4] v3.IsUniform
3726 buf[pos] = uint8(v3.IsUniform)
3728 // field[4] v3.Label
3729 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
3732 buf[pos] = uint8(v3.TTL)
3735 buf[pos] = uint8(v3.Exp)
3741 func (m *IPRouteDetails) Unmarshal(tmp []byte) error {
3742 o := binary.BigEndian
3747 // field[2] m.Route.TableID
3748 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3750 // field[2] m.Route.StatsIndex
3751 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3753 // field[2] m.Route.Prefix
3754 // field[3] m.Route.Prefix.Address
3755 // field[4] m.Route.Prefix.Address.Af
3756 m.Route.Prefix.Address.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
3758 // field[4] m.Route.Prefix.Address.Un
3759 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3761 // field[3] m.Route.Prefix.Len
3762 m.Route.Prefix.Len = uint8(tmp[pos])
3764 // field[2] m.Route.NPaths
3765 m.Route.NPaths = uint8(tmp[pos])
3767 // field[2] m.Route.Paths
3768 m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
3769 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
3770 // field[3] m.Route.Paths[j2].SwIfIndex
3771 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3773 // field[3] m.Route.Paths[j2].TableID
3774 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3776 // field[3] m.Route.Paths[j2].RpfID
3777 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
3779 // field[3] m.Route.Paths[j2].Weight
3780 m.Route.Paths[j2].Weight = uint8(tmp[pos])
3782 // field[3] m.Route.Paths[j2].Preference
3783 m.Route.Paths[j2].Preference = uint8(tmp[pos])
3785 // field[3] m.Route.Paths[j2].Type
3786 m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
3788 // field[3] m.Route.Paths[j2].Flags
3789 m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
3791 // field[3] m.Route.Paths[j2].Proto
3792 m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
3794 // field[3] m.Route.Paths[j2].Nh
3795 // field[4] m.Route.Paths[j2].Nh.Address
3796 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
3798 // field[4] m.Route.Paths[j2].Nh.ViaLabel
3799 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
3801 // field[4] m.Route.Paths[j2].Nh.ObjID
3802 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
3804 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
3805 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3807 // field[3] m.Route.Paths[j2].NLabels
3808 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
3810 // field[3] m.Route.Paths[j2].LabelStack
3811 for j3 := 0; j3 < 16; j3++ {
3812 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
3813 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
3815 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
3816 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
3818 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
3819 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
3821 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
3822 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
3829 // IPRouteDump represents VPP binary API message 'ip_route_dump'.
3830 type IPRouteDump struct {
3831 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
3834 func (m *IPRouteDump) Reset() { *m = IPRouteDump{} }
3835 func (*IPRouteDump) GetMessageName() string { return "ip_route_dump" }
3836 func (*IPRouteDump) GetCrcString() string { return "b9d2e09e" }
3837 func (*IPRouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
3839 func (m *IPRouteDump) Size() int {
3845 // field[2] m.Table.TableID
3847 // field[2] m.Table.IsIP6
3849 // field[2] m.Table.Name
3853 func (m *IPRouteDump) Marshal(b []byte) ([]byte, error) {
3854 o := binary.BigEndian
3860 buf = make([]byte, m.Size())
3865 // field[2] m.Table.TableID
3866 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
3868 // field[2] m.Table.IsIP6
3873 // field[2] m.Table.Name
3874 copy(buf[pos:pos+64], m.Table.Name)
3878 func (m *IPRouteDump) Unmarshal(tmp []byte) error {
3879 o := binary.BigEndian
3884 // field[2] m.Table.TableID
3885 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3887 // field[2] m.Table.IsIP6
3888 m.Table.IsIP6 = tmp[pos] != 0
3890 // field[2] m.Table.Name
3892 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
3893 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
3899 // IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del'.
3900 type IPSourceAndPortRangeCheckAddDel struct {
3901 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3902 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
3903 NumberOfRanges uint8 `binapi:"u8,name=number_of_ranges" json:"number_of_ranges,omitempty"`
3904 LowPorts []uint16 `binapi:"u16[32],name=low_ports" json:"low_ports,omitempty" struc:"[32]uint16"`
3905 HighPorts []uint16 `binapi:"u16[32],name=high_ports" json:"high_ports,omitempty" struc:"[32]uint16"`
3906 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
3909 func (m *IPSourceAndPortRangeCheckAddDel) Reset() { *m = IPSourceAndPortRangeCheckAddDel{} }
3910 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
3911 return "ip_source_and_port_range_check_add_del"
3913 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { return "8bfc76f2" }
3914 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
3916 func (m *IPSourceAndPortRangeCheckAddDel) Size() int {
3923 // field[1] m.Prefix
3924 // field[2] m.Prefix.Address
3925 // field[3] m.Prefix.Address.Af
3927 // field[3] m.Prefix.Address.Un
3929 // field[2] m.Prefix.Len
3931 // field[1] m.NumberOfRanges
3933 // field[1] m.LowPorts
3935 // field[1] m.HighPorts
3941 func (m *IPSourceAndPortRangeCheckAddDel) Marshal(b []byte) ([]byte, error) {
3942 o := binary.BigEndian
3948 buf = make([]byte, m.Size())
3957 // field[1] m.Prefix
3958 // field[2] m.Prefix.Address
3959 // field[3] m.Prefix.Address.Af
3960 o.PutUint32(buf[pos:pos+4], uint32(m.Prefix.Address.Af))
3962 // field[3] m.Prefix.Address.Un
3963 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
3965 // field[2] m.Prefix.Len
3966 buf[pos] = uint8(m.Prefix.Len)
3968 // field[1] m.NumberOfRanges
3969 buf[pos] = uint8(m.NumberOfRanges)
3971 // field[1] m.LowPorts
3972 for i := 0; i < 32; i++ {
3974 if i < len(m.LowPorts) {
3975 x = uint16(m.LowPorts[i])
3977 o.PutUint16(buf[pos:pos+2], uint16(x))
3980 // field[1] m.HighPorts
3981 for i := 0; i < 32; i++ {
3983 if i < len(m.HighPorts) {
3984 x = uint16(m.HighPorts[i])
3986 o.PutUint16(buf[pos:pos+2], uint16(x))
3990 o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
3994 func (m *IPSourceAndPortRangeCheckAddDel) Unmarshal(tmp []byte) error {
3995 o := binary.BigEndian
4000 m.IsAdd = tmp[pos] != 0
4002 // field[1] m.Prefix
4003 // field[2] m.Prefix.Address
4004 // field[3] m.Prefix.Address.Af
4005 m.Prefix.Address.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
4007 // field[3] m.Prefix.Address.Un
4008 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
4010 // field[2] m.Prefix.Len
4011 m.Prefix.Len = uint8(tmp[pos])
4013 // field[1] m.NumberOfRanges
4014 m.NumberOfRanges = uint8(tmp[pos])
4016 // field[1] m.LowPorts
4017 m.LowPorts = make([]uint16, 32)
4018 for i := 0; i < len(m.LowPorts); i++ {
4019 m.LowPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
4022 // field[1] m.HighPorts
4023 m.HighPorts = make([]uint16, 32)
4024 for i := 0; i < len(m.HighPorts); i++ {
4025 m.HighPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
4029 m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4034 // IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
4035 type IPSourceAndPortRangeCheckAddDelReply struct {
4036 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4039 func (m *IPSourceAndPortRangeCheckAddDelReply) Reset() { *m = IPSourceAndPortRangeCheckAddDelReply{} }
4040 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
4041 return "ip_source_and_port_range_check_add_del_reply"
4043 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" }
4044 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
4045 return api.ReplyMessage
4048 func (m *IPSourceAndPortRangeCheckAddDelReply) Size() int {
4053 // field[1] m.Retval
4057 func (m *IPSourceAndPortRangeCheckAddDelReply) Marshal(b []byte) ([]byte, error) {
4058 o := binary.BigEndian
4064 buf = make([]byte, m.Size())
4068 // field[1] m.Retval
4069 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4073 func (m *IPSourceAndPortRangeCheckAddDelReply) Unmarshal(tmp []byte) error {
4074 o := binary.BigEndian
4078 // field[1] m.Retval
4079 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4084 // IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
4085 type IPSourceAndPortRangeCheckInterfaceAddDel struct {
4086 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
4087 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4088 TCPInVrfID uint32 `binapi:"u32,name=tcp_in_vrf_id" json:"tcp_in_vrf_id,omitempty"`
4089 TCPOutVrfID uint32 `binapi:"u32,name=tcp_out_vrf_id" json:"tcp_out_vrf_id,omitempty"`
4090 UDPInVrfID uint32 `binapi:"u32,name=udp_in_vrf_id" json:"udp_in_vrf_id,omitempty"`
4091 UDPOutVrfID uint32 `binapi:"u32,name=udp_out_vrf_id" json:"udp_out_vrf_id,omitempty"`
4094 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Reset() {
4095 *m = IPSourceAndPortRangeCheckInterfaceAddDel{}
4097 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
4098 return "ip_source_and_port_range_check_interface_add_del"
4100 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { return "e1ba8987" }
4101 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
4102 return api.RequestMessage
4105 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Size() int {
4112 // field[1] m.SwIfIndex
4114 // field[1] m.TCPInVrfID
4116 // field[1] m.TCPOutVrfID
4118 // field[1] m.UDPInVrfID
4120 // field[1] m.UDPOutVrfID
4124 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Marshal(b []byte) ([]byte, error) {
4125 o := binary.BigEndian
4131 buf = make([]byte, m.Size())
4140 // field[1] m.SwIfIndex
4141 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4143 // field[1] m.TCPInVrfID
4144 o.PutUint32(buf[pos:pos+4], uint32(m.TCPInVrfID))
4146 // field[1] m.TCPOutVrfID
4147 o.PutUint32(buf[pos:pos+4], uint32(m.TCPOutVrfID))
4149 // field[1] m.UDPInVrfID
4150 o.PutUint32(buf[pos:pos+4], uint32(m.UDPInVrfID))
4152 // field[1] m.UDPOutVrfID
4153 o.PutUint32(buf[pos:pos+4], uint32(m.UDPOutVrfID))
4157 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Unmarshal(tmp []byte) error {
4158 o := binary.BigEndian
4163 m.IsAdd = tmp[pos] != 0
4165 // field[1] m.SwIfIndex
4166 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4168 // field[1] m.TCPInVrfID
4169 m.TCPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4171 // field[1] m.TCPOutVrfID
4172 m.TCPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4174 // field[1] m.UDPInVrfID
4175 m.UDPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4177 // field[1] m.UDPOutVrfID
4178 m.UDPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4183 // IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
4184 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
4185 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4188 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Reset() {
4189 *m = IPSourceAndPortRangeCheckInterfaceAddDelReply{}
4191 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
4192 return "ip_source_and_port_range_check_interface_add_del_reply"
4194 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" }
4195 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
4196 return api.ReplyMessage
4199 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Size() int {
4204 // field[1] m.Retval
4208 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) {
4209 o := binary.BigEndian
4215 buf = make([]byte, m.Size())
4219 // field[1] m.Retval
4220 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4224 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Unmarshal(tmp []byte) error {
4225 o := binary.BigEndian
4229 // field[1] m.Retval
4230 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4235 // IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del'.
4236 type IPSourceCheckInterfaceAddDel struct {
4237 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
4238 Loose bool `binapi:"bool,name=loose" json:"loose,omitempty"`
4239 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4242 func (m *IPSourceCheckInterfaceAddDel) Reset() { *m = IPSourceCheckInterfaceAddDel{} }
4243 func (*IPSourceCheckInterfaceAddDel) GetMessageName() string {
4244 return "ip_source_check_interface_add_del"
4246 func (*IPSourceCheckInterfaceAddDel) GetCrcString() string { return "6612356b" }
4247 func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
4249 func (m *IPSourceCheckInterfaceAddDel) Size() int {
4258 // field[1] m.SwIfIndex
4262 func (m *IPSourceCheckInterfaceAddDel) Marshal(b []byte) ([]byte, error) {
4263 o := binary.BigEndian
4269 buf = make([]byte, m.Size())
4283 // field[1] m.SwIfIndex
4284 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4288 func (m *IPSourceCheckInterfaceAddDel) Unmarshal(tmp []byte) error {
4289 o := binary.BigEndian
4294 m.IsAdd = tmp[pos] != 0
4297 m.Loose = tmp[pos] != 0
4299 // field[1] m.SwIfIndex
4300 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4305 // IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply'.
4306 type IPSourceCheckInterfaceAddDelReply struct {
4307 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4310 func (m *IPSourceCheckInterfaceAddDelReply) Reset() { *m = IPSourceCheckInterfaceAddDelReply{} }
4311 func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string {
4312 return "ip_source_check_interface_add_del_reply"
4314 func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" }
4315 func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4317 func (m *IPSourceCheckInterfaceAddDelReply) Size() int {
4322 // field[1] m.Retval
4326 func (m *IPSourceCheckInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) {
4327 o := binary.BigEndian
4333 buf = make([]byte, m.Size())
4337 // field[1] m.Retval
4338 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4342 func (m *IPSourceCheckInterfaceAddDelReply) Unmarshal(tmp []byte) error {
4343 o := binary.BigEndian
4347 // field[1] m.Retval
4348 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4353 // IPTableAddDel represents VPP binary API message 'ip_table_add_del'.
4354 type IPTableAddDel struct {
4355 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
4356 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4359 func (m *IPTableAddDel) Reset() { *m = IPTableAddDel{} }
4360 func (*IPTableAddDel) GetMessageName() string { return "ip_table_add_del" }
4361 func (*IPTableAddDel) GetCrcString() string { return "0ffdaec0" }
4362 func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
4364 func (m *IPTableAddDel) Size() int {
4372 // field[2] m.Table.TableID
4374 // field[2] m.Table.IsIP6
4376 // field[2] m.Table.Name
4380 func (m *IPTableAddDel) Marshal(b []byte) ([]byte, error) {
4381 o := binary.BigEndian
4387 buf = make([]byte, m.Size())
4397 // field[2] m.Table.TableID
4398 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4400 // field[2] m.Table.IsIP6
4405 // field[2] m.Table.Name
4406 copy(buf[pos:pos+64], m.Table.Name)
4410 func (m *IPTableAddDel) Unmarshal(tmp []byte) error {
4411 o := binary.BigEndian
4416 m.IsAdd = tmp[pos] != 0
4419 // field[2] m.Table.TableID
4420 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4422 // field[2] m.Table.IsIP6
4423 m.Table.IsIP6 = tmp[pos] != 0
4425 // field[2] m.Table.Name
4427 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4428 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4434 // IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply'.
4435 type IPTableAddDelReply struct {
4436 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4439 func (m *IPTableAddDelReply) Reset() { *m = IPTableAddDelReply{} }
4440 func (*IPTableAddDelReply) GetMessageName() string { return "ip_table_add_del_reply" }
4441 func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" }
4442 func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4444 func (m *IPTableAddDelReply) Size() int {
4449 // field[1] m.Retval
4453 func (m *IPTableAddDelReply) Marshal(b []byte) ([]byte, error) {
4454 o := binary.BigEndian
4460 buf = make([]byte, m.Size())
4464 // field[1] m.Retval
4465 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4469 func (m *IPTableAddDelReply) Unmarshal(tmp []byte) error {
4470 o := binary.BigEndian
4474 // field[1] m.Retval
4475 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4480 // IPTableDetails represents VPP binary API message 'ip_table_details'.
4481 type IPTableDetails struct {
4482 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4485 func (m *IPTableDetails) Reset() { *m = IPTableDetails{} }
4486 func (*IPTableDetails) GetMessageName() string { return "ip_table_details" }
4487 func (*IPTableDetails) GetCrcString() string { return "c79fca0f" }
4488 func (*IPTableDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4490 func (m *IPTableDetails) Size() int {
4496 // field[2] m.Table.TableID
4498 // field[2] m.Table.IsIP6
4500 // field[2] m.Table.Name
4504 func (m *IPTableDetails) Marshal(b []byte) ([]byte, error) {
4505 o := binary.BigEndian
4511 buf = make([]byte, m.Size())
4516 // field[2] m.Table.TableID
4517 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4519 // field[2] m.Table.IsIP6
4524 // field[2] m.Table.Name
4525 copy(buf[pos:pos+64], m.Table.Name)
4529 func (m *IPTableDetails) Unmarshal(tmp []byte) error {
4530 o := binary.BigEndian
4535 // field[2] m.Table.TableID
4536 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4538 // field[2] m.Table.IsIP6
4539 m.Table.IsIP6 = tmp[pos] != 0
4541 // field[2] m.Table.Name
4543 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4544 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4550 // IPTableDump represents VPP binary API message 'ip_table_dump'.
4551 type IPTableDump struct{}
4553 func (m *IPTableDump) Reset() { *m = IPTableDump{} }
4554 func (*IPTableDump) GetMessageName() string { return "ip_table_dump" }
4555 func (*IPTableDump) GetCrcString() string { return "51077d14" }
4556 func (*IPTableDump) GetMessageType() api.MessageType { return api.RequestMessage }
4558 func (m *IPTableDump) Size() int {
4565 func (m *IPTableDump) Marshal(b []byte) ([]byte, error) {
4566 o := binary.BigEndian
4572 buf = make([]byte, m.Size())
4578 func (m *IPTableDump) Unmarshal(tmp []byte) error {
4579 o := binary.BigEndian
4586 // IPTableFlush represents VPP binary API message 'ip_table_flush'.
4587 type IPTableFlush struct {
4588 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4591 func (m *IPTableFlush) Reset() { *m = IPTableFlush{} }
4592 func (*IPTableFlush) GetMessageName() string { return "ip_table_flush" }
4593 func (*IPTableFlush) GetCrcString() string { return "b9d2e09e" }
4594 func (*IPTableFlush) GetMessageType() api.MessageType { return api.RequestMessage }
4596 func (m *IPTableFlush) Size() int {
4602 // field[2] m.Table.TableID
4604 // field[2] m.Table.IsIP6
4606 // field[2] m.Table.Name
4610 func (m *IPTableFlush) Marshal(b []byte) ([]byte, error) {
4611 o := binary.BigEndian
4617 buf = make([]byte, m.Size())
4622 // field[2] m.Table.TableID
4623 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4625 // field[2] m.Table.IsIP6
4630 // field[2] m.Table.Name
4631 copy(buf[pos:pos+64], m.Table.Name)
4635 func (m *IPTableFlush) Unmarshal(tmp []byte) error {
4636 o := binary.BigEndian
4641 // field[2] m.Table.TableID
4642 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4644 // field[2] m.Table.IsIP6
4645 m.Table.IsIP6 = tmp[pos] != 0
4647 // field[2] m.Table.Name
4649 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4650 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4656 // IPTableFlushReply represents VPP binary API message 'ip_table_flush_reply'.
4657 type IPTableFlushReply struct {
4658 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4661 func (m *IPTableFlushReply) Reset() { *m = IPTableFlushReply{} }
4662 func (*IPTableFlushReply) GetMessageName() string { return "ip_table_flush_reply" }
4663 func (*IPTableFlushReply) GetCrcString() string { return "e8d4e804" }
4664 func (*IPTableFlushReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4666 func (m *IPTableFlushReply) Size() int {
4671 // field[1] m.Retval
4675 func (m *IPTableFlushReply) Marshal(b []byte) ([]byte, error) {
4676 o := binary.BigEndian
4682 buf = make([]byte, m.Size())
4686 // field[1] m.Retval
4687 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4691 func (m *IPTableFlushReply) Unmarshal(tmp []byte) error {
4692 o := binary.BigEndian
4696 // field[1] m.Retval
4697 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4702 // IPTableReplaceBegin represents VPP binary API message 'ip_table_replace_begin'.
4703 type IPTableReplaceBegin struct {
4704 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4707 func (m *IPTableReplaceBegin) Reset() { *m = IPTableReplaceBegin{} }
4708 func (*IPTableReplaceBegin) GetMessageName() string { return "ip_table_replace_begin" }
4709 func (*IPTableReplaceBegin) GetCrcString() string { return "b9d2e09e" }
4710 func (*IPTableReplaceBegin) GetMessageType() api.MessageType { return api.RequestMessage }
4712 func (m *IPTableReplaceBegin) Size() int {
4718 // field[2] m.Table.TableID
4720 // field[2] m.Table.IsIP6
4722 // field[2] m.Table.Name
4726 func (m *IPTableReplaceBegin) Marshal(b []byte) ([]byte, error) {
4727 o := binary.BigEndian
4733 buf = make([]byte, m.Size())
4738 // field[2] m.Table.TableID
4739 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4741 // field[2] m.Table.IsIP6
4746 // field[2] m.Table.Name
4747 copy(buf[pos:pos+64], m.Table.Name)
4751 func (m *IPTableReplaceBegin) Unmarshal(tmp []byte) error {
4752 o := binary.BigEndian
4757 // field[2] m.Table.TableID
4758 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4760 // field[2] m.Table.IsIP6
4761 m.Table.IsIP6 = tmp[pos] != 0
4763 // field[2] m.Table.Name
4765 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4766 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4772 // IPTableReplaceBeginReply represents VPP binary API message 'ip_table_replace_begin_reply'.
4773 type IPTableReplaceBeginReply struct {
4774 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4777 func (m *IPTableReplaceBeginReply) Reset() { *m = IPTableReplaceBeginReply{} }
4778 func (*IPTableReplaceBeginReply) GetMessageName() string { return "ip_table_replace_begin_reply" }
4779 func (*IPTableReplaceBeginReply) GetCrcString() string { return "e8d4e804" }
4780 func (*IPTableReplaceBeginReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4782 func (m *IPTableReplaceBeginReply) Size() int {
4787 // field[1] m.Retval
4791 func (m *IPTableReplaceBeginReply) Marshal(b []byte) ([]byte, error) {
4792 o := binary.BigEndian
4798 buf = make([]byte, m.Size())
4802 // field[1] m.Retval
4803 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4807 func (m *IPTableReplaceBeginReply) Unmarshal(tmp []byte) error {
4808 o := binary.BigEndian
4812 // field[1] m.Retval
4813 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4818 // IPTableReplaceEnd represents VPP binary API message 'ip_table_replace_end'.
4819 type IPTableReplaceEnd struct {
4820 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4823 func (m *IPTableReplaceEnd) Reset() { *m = IPTableReplaceEnd{} }
4824 func (*IPTableReplaceEnd) GetMessageName() string { return "ip_table_replace_end" }
4825 func (*IPTableReplaceEnd) GetCrcString() string { return "b9d2e09e" }
4826 func (*IPTableReplaceEnd) GetMessageType() api.MessageType { return api.RequestMessage }
4828 func (m *IPTableReplaceEnd) Size() int {
4834 // field[2] m.Table.TableID
4836 // field[2] m.Table.IsIP6
4838 // field[2] m.Table.Name
4842 func (m *IPTableReplaceEnd) Marshal(b []byte) ([]byte, error) {
4843 o := binary.BigEndian
4849 buf = make([]byte, m.Size())
4854 // field[2] m.Table.TableID
4855 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4857 // field[2] m.Table.IsIP6
4862 // field[2] m.Table.Name
4863 copy(buf[pos:pos+64], m.Table.Name)
4867 func (m *IPTableReplaceEnd) Unmarshal(tmp []byte) error {
4868 o := binary.BigEndian
4873 // field[2] m.Table.TableID
4874 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4876 // field[2] m.Table.IsIP6
4877 m.Table.IsIP6 = tmp[pos] != 0
4879 // field[2] m.Table.Name
4881 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4882 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4888 // IPTableReplaceEndReply represents VPP binary API message 'ip_table_replace_end_reply'.
4889 type IPTableReplaceEndReply struct {
4890 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4893 func (m *IPTableReplaceEndReply) Reset() { *m = IPTableReplaceEndReply{} }
4894 func (*IPTableReplaceEndReply) GetMessageName() string { return "ip_table_replace_end_reply" }
4895 func (*IPTableReplaceEndReply) GetCrcString() string { return "e8d4e804" }
4896 func (*IPTableReplaceEndReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4898 func (m *IPTableReplaceEndReply) Size() int {
4903 // field[1] m.Retval
4907 func (m *IPTableReplaceEndReply) Marshal(b []byte) ([]byte, error) {
4908 o := binary.BigEndian
4914 buf = make([]byte, m.Size())
4918 // field[1] m.Retval
4919 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4923 func (m *IPTableReplaceEndReply) Unmarshal(tmp []byte) error {
4924 o := binary.BigEndian
4928 // field[1] m.Retval
4929 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4934 // IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details'.
4935 type IPUnnumberedDetails struct {
4936 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4937 IPSwIfIndex InterfaceIndex `binapi:"interface_index,name=ip_sw_if_index" json:"ip_sw_if_index,omitempty"`
4940 func (m *IPUnnumberedDetails) Reset() { *m = IPUnnumberedDetails{} }
4941 func (*IPUnnumberedDetails) GetMessageName() string { return "ip_unnumbered_details" }
4942 func (*IPUnnumberedDetails) GetCrcString() string { return "aa12a483" }
4943 func (*IPUnnumberedDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4945 func (m *IPUnnumberedDetails) Size() int {
4950 // field[1] m.SwIfIndex
4952 // field[1] m.IPSwIfIndex
4956 func (m *IPUnnumberedDetails) Marshal(b []byte) ([]byte, error) {
4957 o := binary.BigEndian
4963 buf = make([]byte, m.Size())
4967 // field[1] m.SwIfIndex
4968 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4970 // field[1] m.IPSwIfIndex
4971 o.PutUint32(buf[pos:pos+4], uint32(m.IPSwIfIndex))
4975 func (m *IPUnnumberedDetails) Unmarshal(tmp []byte) error {
4976 o := binary.BigEndian
4980 // field[1] m.SwIfIndex
4981 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4983 // field[1] m.IPSwIfIndex
4984 m.IPSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4989 // IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump'.
4990 type IPUnnumberedDump struct {
4991 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4994 func (m *IPUnnumberedDump) Reset() { *m = IPUnnumberedDump{} }
4995 func (*IPUnnumberedDump) GetMessageName() string { return "ip_unnumbered_dump" }
4996 func (*IPUnnumberedDump) GetCrcString() string { return "f9e6675e" }
4997 func (*IPUnnumberedDump) GetMessageType() api.MessageType { return api.RequestMessage }
4999 func (m *IPUnnumberedDump) Size() int {
5004 // field[1] m.SwIfIndex
5008 func (m *IPUnnumberedDump) Marshal(b []byte) ([]byte, error) {
5009 o := binary.BigEndian
5015 buf = make([]byte, m.Size())
5019 // field[1] m.SwIfIndex
5020 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5024 func (m *IPUnnumberedDump) Unmarshal(tmp []byte) error {
5025 o := binary.BigEndian
5029 // field[1] m.SwIfIndex
5030 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5035 // MfibSignalDetails represents VPP binary API message 'mfib_signal_details'.
5036 type MfibSignalDetails struct {
5037 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
5038 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
5039 Prefix Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
5040 IPPacketLen uint16 `binapi:"u16,name=ip_packet_len" json:"ip_packet_len,omitempty"`
5041 IPPacketData []byte `binapi:"u8[256],name=ip_packet_data" json:"ip_packet_data,omitempty" struc:"[256]byte"`
5044 func (m *MfibSignalDetails) Reset() { *m = MfibSignalDetails{} }
5045 func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" }
5046 func (*MfibSignalDetails) GetCrcString() string { return "64398a9a" }
5047 func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
5049 func (m *MfibSignalDetails) Size() int {
5054 // field[1] m.SwIfIndex
5056 // field[1] m.TableID
5058 // field[1] m.Prefix
5059 // field[2] m.Prefix.Af
5061 // field[2] m.Prefix.GrpAddressLength
5063 // field[2] m.Prefix.GrpAddress
5065 // field[2] m.Prefix.SrcAddress
5067 // field[1] m.IPPacketLen
5069 // field[1] m.IPPacketData
5073 func (m *MfibSignalDetails) Marshal(b []byte) ([]byte, error) {
5074 o := binary.BigEndian
5080 buf = make([]byte, m.Size())
5084 // field[1] m.SwIfIndex
5085 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5087 // field[1] m.TableID
5088 o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
5090 // field[1] m.Prefix
5091 // field[2] m.Prefix.Af
5092 o.PutUint32(buf[pos:pos+4], uint32(m.Prefix.Af))
5094 // field[2] m.Prefix.GrpAddressLength
5095 o.PutUint16(buf[pos:pos+2], uint16(m.Prefix.GrpAddressLength))
5097 // field[2] m.Prefix.GrpAddress
5098 copy(buf[pos:pos+16], m.Prefix.GrpAddress.XXX_UnionData[:])
5100 // field[2] m.Prefix.SrcAddress
5101 copy(buf[pos:pos+16], m.Prefix.SrcAddress.XXX_UnionData[:])
5103 // field[1] m.IPPacketLen
5104 o.PutUint16(buf[pos:pos+2], uint16(m.IPPacketLen))
5106 // field[1] m.IPPacketData
5107 for i := 0; i < 256; i++ {
5109 if i < len(m.IPPacketData) {
5110 x = uint8(m.IPPacketData[i])
5117 func (m *MfibSignalDetails) Unmarshal(tmp []byte) error {
5118 o := binary.BigEndian
5122 // field[1] m.SwIfIndex
5123 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5125 // field[1] m.TableID
5126 m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
5128 // field[1] m.Prefix
5129 // field[2] m.Prefix.Af
5130 m.Prefix.Af = AddressFamily(o.Uint32(tmp[pos : pos+4]))
5132 // field[2] m.Prefix.GrpAddressLength
5133 m.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
5135 // field[2] m.Prefix.GrpAddress
5136 copy(m.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
5138 // field[2] m.Prefix.SrcAddress
5139 copy(m.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
5141 // field[1] m.IPPacketLen
5142 m.IPPacketLen = uint16(o.Uint16(tmp[pos : pos+2]))
5144 // field[1] m.IPPacketData
5145 m.IPPacketData = make([]uint8, 256)
5146 for i := 0; i < len(m.IPPacketData); i++ {
5147 m.IPPacketData[i] = uint8(tmp[pos])
5153 // MfibSignalDump represents VPP binary API message 'mfib_signal_dump'.
5154 type MfibSignalDump struct{}
5156 func (m *MfibSignalDump) Reset() { *m = MfibSignalDump{} }
5157 func (*MfibSignalDump) GetMessageName() string { return "mfib_signal_dump" }
5158 func (*MfibSignalDump) GetCrcString() string { return "51077d14" }
5159 func (*MfibSignalDump) GetMessageType() api.MessageType { return api.RequestMessage }
5161 func (m *MfibSignalDump) Size() int {
5168 func (m *MfibSignalDump) Marshal(b []byte) ([]byte, error) {
5169 o := binary.BigEndian
5175 buf = make([]byte, m.Size())
5181 func (m *MfibSignalDump) Unmarshal(tmp []byte) error {
5182 o := binary.BigEndian
5189 // SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash'.
5190 type SetIPFlowHash struct {
5191 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
5192 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
5193 Src bool `binapi:"bool,name=src" json:"src,omitempty"`
5194 Dst bool `binapi:"bool,name=dst" json:"dst,omitempty"`
5195 Sport bool `binapi:"bool,name=sport" json:"sport,omitempty"`
5196 Dport bool `binapi:"bool,name=dport" json:"dport,omitempty"`
5197 Proto bool `binapi:"bool,name=proto" json:"proto,omitempty"`
5198 Reverse bool `binapi:"bool,name=reverse" json:"reverse,omitempty"`
5199 Symmetric bool `binapi:"bool,name=symmetric" json:"symmetric,omitempty"`
5202 func (m *SetIPFlowHash) Reset() { *m = SetIPFlowHash{} }
5203 func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" }
5204 func (*SetIPFlowHash) GetCrcString() string { return "084ee09e" }
5205 func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage }
5207 func (m *SetIPFlowHash) Size() int {
5214 // field[1] m.IsIPv6
5226 // field[1] m.Reverse
5228 // field[1] m.Symmetric
5232 func (m *SetIPFlowHash) Marshal(b []byte) ([]byte, error) {
5233 o := binary.BigEndian
5239 buf = make([]byte, m.Size())
5244 o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
5246 // field[1] m.IsIPv6
5276 // field[1] m.Reverse
5281 // field[1] m.Symmetric
5288 func (m *SetIPFlowHash) Unmarshal(tmp []byte) error {
5289 o := binary.BigEndian
5294 m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
5296 // field[1] m.IsIPv6
5297 m.IsIPv6 = tmp[pos] != 0
5300 m.Src = tmp[pos] != 0
5303 m.Dst = tmp[pos] != 0
5306 m.Sport = tmp[pos] != 0
5309 m.Dport = tmp[pos] != 0
5312 m.Proto = tmp[pos] != 0
5314 // field[1] m.Reverse
5315 m.Reverse = tmp[pos] != 0
5317 // field[1] m.Symmetric
5318 m.Symmetric = tmp[pos] != 0
5323 // SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply'.
5324 type SetIPFlowHashReply struct {
5325 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5328 func (m *SetIPFlowHashReply) Reset() { *m = SetIPFlowHashReply{} }
5329 func (*SetIPFlowHashReply) GetMessageName() string { return "set_ip_flow_hash_reply" }
5330 func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" }
5331 func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage }
5333 func (m *SetIPFlowHashReply) Size() int {
5338 // field[1] m.Retval
5342 func (m *SetIPFlowHashReply) Marshal(b []byte) ([]byte, error) {
5343 o := binary.BigEndian
5349 buf = make([]byte, m.Size())
5353 // field[1] m.Retval
5354 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5358 func (m *SetIPFlowHashReply) Unmarshal(tmp []byte) error {
5359 o := binary.BigEndian
5363 // field[1] m.Retval
5364 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5369 // SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable'.
5370 type SwInterfaceIP6EnableDisable struct {
5371 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
5372 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
5375 func (m *SwInterfaceIP6EnableDisable) Reset() { *m = SwInterfaceIP6EnableDisable{} }
5376 func (*SwInterfaceIP6EnableDisable) GetMessageName() string { return "sw_interface_ip6_enable_disable" }
5377 func (*SwInterfaceIP6EnableDisable) GetCrcString() string { return "ae6cfcfb" }
5378 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
5380 func (m *SwInterfaceIP6EnableDisable) Size() int {
5385 // field[1] m.SwIfIndex
5387 // field[1] m.Enable
5391 func (m *SwInterfaceIP6EnableDisable) Marshal(b []byte) ([]byte, error) {
5392 o := binary.BigEndian
5398 buf = make([]byte, m.Size())
5402 // field[1] m.SwIfIndex
5403 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5405 // field[1] m.Enable
5412 func (m *SwInterfaceIP6EnableDisable) Unmarshal(tmp []byte) error {
5413 o := binary.BigEndian
5417 // field[1] m.SwIfIndex
5418 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5420 // field[1] m.Enable
5421 m.Enable = tmp[pos] != 0
5426 // SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
5427 type SwInterfaceIP6EnableDisableReply struct {
5428 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5431 func (m *SwInterfaceIP6EnableDisableReply) Reset() { *m = SwInterfaceIP6EnableDisableReply{} }
5432 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
5433 return "sw_interface_ip6_enable_disable_reply"
5435 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" }
5436 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
5438 func (m *SwInterfaceIP6EnableDisableReply) Size() int {
5443 // field[1] m.Retval
5447 func (m *SwInterfaceIP6EnableDisableReply) Marshal(b []byte) ([]byte, error) {
5448 o := binary.BigEndian
5454 buf = make([]byte, m.Size())
5458 // field[1] m.Retval
5459 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5463 func (m *SwInterfaceIP6EnableDisableReply) Unmarshal(tmp []byte) error {
5464 o := binary.BigEndian
5468 // field[1] m.Retval
5469 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5474 // SwInterfaceIP6SetLinkLocalAddress represents VPP binary API message 'sw_interface_ip6_set_link_local_address'.
5475 type SwInterfaceIP6SetLinkLocalAddress struct {
5476 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
5477 IP IP6Address `binapi:"ip6_address,name=ip" json:"ip,omitempty"`
5480 func (m *SwInterfaceIP6SetLinkLocalAddress) Reset() { *m = SwInterfaceIP6SetLinkLocalAddress{} }
5481 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string {
5482 return "sw_interface_ip6_set_link_local_address"
5484 func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { return "2931d9fa" }
5485 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { return api.RequestMessage }
5487 func (m *SwInterfaceIP6SetLinkLocalAddress) Size() int {
5492 // field[1] m.SwIfIndex
5498 func (m *SwInterfaceIP6SetLinkLocalAddress) Marshal(b []byte) ([]byte, error) {
5499 o := binary.BigEndian
5505 buf = make([]byte, m.Size())
5509 // field[1] m.SwIfIndex
5510 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5513 for i := 0; i < 16; i++ {
5523 func (m *SwInterfaceIP6SetLinkLocalAddress) Unmarshal(tmp []byte) error {
5524 o := binary.BigEndian
5528 // field[1] m.SwIfIndex
5529 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5532 for i := 0; i < len(m.IP); i++ {
5533 m.IP[i] = uint8(tmp[pos])
5539 // SwInterfaceIP6SetLinkLocalAddressReply represents VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'.
5540 type SwInterfaceIP6SetLinkLocalAddressReply struct {
5541 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5544 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Reset() {
5545 *m = SwInterfaceIP6SetLinkLocalAddressReply{}
5547 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string {
5548 return "sw_interface_ip6_set_link_local_address_reply"
5550 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { return "e8d4e804" }
5551 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType {
5552 return api.ReplyMessage
5555 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Size() int {
5560 // field[1] m.Retval
5564 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Marshal(b []byte) ([]byte, error) {
5565 o := binary.BigEndian
5571 buf = make([]byte, m.Size())
5575 // field[1] m.Retval
5576 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5580 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Unmarshal(tmp []byte) error {
5581 o := binary.BigEndian
5585 // field[1] m.Retval
5586 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5591 func init() { file_ip_binapi_init() }
5592 func file_ip_binapi_init() {
5593 api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
5594 api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
5595 api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
5596 api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
5597 api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
5598 api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
5599 api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
5600 api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
5601 api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails")
5602 api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
5603 api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
5604 api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
5605 api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
5606 api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
5607 api.RegisterMessage((*IPMrouteDetails)(nil), "ip.IPMrouteDetails")
5608 api.RegisterMessage((*IPMrouteDump)(nil), "ip.IPMrouteDump")
5609 api.RegisterMessage((*IPMtableDetails)(nil), "ip.IPMtableDetails")
5610 api.RegisterMessage((*IPMtableDump)(nil), "ip.IPMtableDump")
5611 api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
5612 api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
5613 api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
5614 api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails")
5615 api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump")
5616 api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
5617 api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
5618 api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
5619 api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
5620 api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
5621 api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
5622 api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
5623 api.RegisterMessage((*IPRouteAddDel)(nil), "ip.IPRouteAddDel")
5624 api.RegisterMessage((*IPRouteAddDelReply)(nil), "ip.IPRouteAddDelReply")
5625 api.RegisterMessage((*IPRouteDetails)(nil), "ip.IPRouteDetails")
5626 api.RegisterMessage((*IPRouteDump)(nil), "ip.IPRouteDump")
5627 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
5628 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
5629 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
5630 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
5631 api.RegisterMessage((*IPSourceCheckInterfaceAddDel)(nil), "ip.IPSourceCheckInterfaceAddDel")
5632 api.RegisterMessage((*IPSourceCheckInterfaceAddDelReply)(nil), "ip.IPSourceCheckInterfaceAddDelReply")
5633 api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
5634 api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
5635 api.RegisterMessage((*IPTableDetails)(nil), "ip.IPTableDetails")
5636 api.RegisterMessage((*IPTableDump)(nil), "ip.IPTableDump")
5637 api.RegisterMessage((*IPTableFlush)(nil), "ip.IPTableFlush")
5638 api.RegisterMessage((*IPTableFlushReply)(nil), "ip.IPTableFlushReply")
5639 api.RegisterMessage((*IPTableReplaceBegin)(nil), "ip.IPTableReplaceBegin")
5640 api.RegisterMessage((*IPTableReplaceBeginReply)(nil), "ip.IPTableReplaceBeginReply")
5641 api.RegisterMessage((*IPTableReplaceEnd)(nil), "ip.IPTableReplaceEnd")
5642 api.RegisterMessage((*IPTableReplaceEndReply)(nil), "ip.IPTableReplaceEndReply")
5643 api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
5644 api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
5645 api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
5646 api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
5647 api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
5648 api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
5649 api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
5650 api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
5651 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress")
5652 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply")
5655 // Messages returns list of all messages in this module.
5656 func AllMessages() []api.Message {
5657 return []api.Message{
5658 (*IoamDisable)(nil),
5659 (*IoamDisableReply)(nil),
5661 (*IoamEnableReply)(nil),
5662 (*IPAddressDetails)(nil),
5663 (*IPAddressDump)(nil),
5664 (*IPContainerProxyAddDel)(nil),
5665 (*IPContainerProxyAddDelReply)(nil),
5666 (*IPContainerProxyDetails)(nil),
5667 (*IPContainerProxyDump)(nil),
5670 (*IPMrouteAddDel)(nil),
5671 (*IPMrouteAddDelReply)(nil),
5672 (*IPMrouteDetails)(nil),
5673 (*IPMrouteDump)(nil),
5674 (*IPMtableDetails)(nil),
5675 (*IPMtableDump)(nil),
5676 (*IPPuntPolice)(nil),
5677 (*IPPuntPoliceReply)(nil),
5678 (*IPPuntRedirect)(nil),
5679 (*IPPuntRedirectDetails)(nil),
5680 (*IPPuntRedirectDump)(nil),
5681 (*IPPuntRedirectReply)(nil),
5682 (*IPReassemblyEnableDisable)(nil),
5683 (*IPReassemblyEnableDisableReply)(nil),
5684 (*IPReassemblyGet)(nil),
5685 (*IPReassemblyGetReply)(nil),
5686 (*IPReassemblySet)(nil),
5687 (*IPReassemblySetReply)(nil),
5688 (*IPRouteAddDel)(nil),
5689 (*IPRouteAddDelReply)(nil),
5690 (*IPRouteDetails)(nil),
5691 (*IPRouteDump)(nil),
5692 (*IPSourceAndPortRangeCheckAddDel)(nil),
5693 (*IPSourceAndPortRangeCheckAddDelReply)(nil),
5694 (*IPSourceAndPortRangeCheckInterfaceAddDel)(nil),
5695 (*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil),
5696 (*IPSourceCheckInterfaceAddDel)(nil),
5697 (*IPSourceCheckInterfaceAddDelReply)(nil),
5698 (*IPTableAddDel)(nil),
5699 (*IPTableAddDelReply)(nil),
5700 (*IPTableDetails)(nil),
5701 (*IPTableDump)(nil),
5702 (*IPTableFlush)(nil),
5703 (*IPTableFlushReply)(nil),
5704 (*IPTableReplaceBegin)(nil),
5705 (*IPTableReplaceBeginReply)(nil),
5706 (*IPTableReplaceEnd)(nil),
5707 (*IPTableReplaceEndReply)(nil),
5708 (*IPUnnumberedDetails)(nil),
5709 (*IPUnnumberedDump)(nil),
5710 (*MfibSignalDetails)(nil),
5711 (*MfibSignalDump)(nil),
5712 (*SetIPFlowHash)(nil),
5713 (*SetIPFlowHashReply)(nil),
5714 (*SwInterfaceIP6EnableDisable)(nil),
5715 (*SwInterfaceIP6EnableDisableReply)(nil),
5716 (*SwInterfaceIP6SetLinkLocalAddress)(nil),
5717 (*SwInterfaceIP6SetLinkLocalAddressReply)(nil),
5721 // Reference imports to suppress errors if they are not otherwise used.
5722 var _ = api.RegisterMessage
5723 var _ = codec.DecodeString
5724 var _ = bytes.NewBuffer
5725 var _ = context.Background
5727 var _ = strconv.Itoa
5729 var _ = binary.BigEndian
5730 var _ = math.Float32bits