1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
5 // source: .vppapi/plugins/dhcp.api.json
7 // Package dhcp contains generated bindings for API file dhcp.api.
20 api "git.fd.io/govpp.git/api"
21 codec "git.fd.io/govpp.git/codec"
27 // This is a compile-time assertion to ensure that this generated file
28 // is compatible with the GoVPP api package it is being compiled against.
29 // A compilation error at this line likely means your copy of the
30 // GoVPP api package needs to be updated.
31 const _ = api.GoVppAPIPackageIsVersion2
36 VersionCrc = 0x96a5f046
39 // AddressFamily defines enum 'address_family'.
40 type AddressFamily uint32
43 ADDRESS_IP4 AddressFamily = 0
44 ADDRESS_IP6 AddressFamily = 1
48 AddressFamily_name = map[uint32]string{
52 AddressFamily_value = map[string]uint32{
58 func (x AddressFamily) String() string {
59 s, ok := AddressFamily_name[uint32(x)]
63 return "AddressFamily(" + strconv.Itoa(int(x)) + ")"
66 // DHCPClientState defines enum 'dhcp_client_state'.
67 type DHCPClientState uint32
70 DHCP_CLIENT_STATE_API_DISCOVER DHCPClientState = 1
71 DHCP_CLIENT_STATE_API_REQUEST DHCPClientState = 2
72 DHCP_CLIENT_STATE_API_BOUND DHCPClientState = 3
76 DHCPClientState_name = map[uint32]string{
77 1: "DHCP_CLIENT_STATE_API_DISCOVER",
78 2: "DHCP_CLIENT_STATE_API_REQUEST",
79 3: "DHCP_CLIENT_STATE_API_BOUND",
81 DHCPClientState_value = map[string]uint32{
82 "DHCP_CLIENT_STATE_API_DISCOVER": 1,
83 "DHCP_CLIENT_STATE_API_REQUEST": 2,
84 "DHCP_CLIENT_STATE_API_BOUND": 3,
88 func (x DHCPClientState) String() string {
89 s, ok := DHCPClientState_name[uint32(x)]
93 return "DHCPClientState(" + strconv.Itoa(int(x)) + ")"
96 // Dhcpv6MsgType defines enum 'dhcpv6_msg_type'.
97 type Dhcpv6MsgType uint32
100 DHCPV6_MSG_API_SOLICIT Dhcpv6MsgType = 1
101 DHCPV6_MSG_API_ADVERTISE Dhcpv6MsgType = 2
102 DHCPV6_MSG_API_REQUEST Dhcpv6MsgType = 3
103 DHCPV6_MSG_API_CONFIRM Dhcpv6MsgType = 4
104 DHCPV6_MSG_API_RENEW Dhcpv6MsgType = 5
105 DHCPV6_MSG_API_REBIND Dhcpv6MsgType = 6
106 DHCPV6_MSG_API_REPLY Dhcpv6MsgType = 7
107 DHCPV6_MSG_API_RELEASE Dhcpv6MsgType = 8
108 DHCPV6_MSG_API_DECLINE Dhcpv6MsgType = 9
109 DHCPV6_MSG_API_RECONFIGURE Dhcpv6MsgType = 10
110 DHCPV6_MSG_API_INFORMATION_REQUEST Dhcpv6MsgType = 11
111 DHCPV6_MSG_API_RELAY_FORW Dhcpv6MsgType = 12
112 DHCPV6_MSG_API_RELAY_REPL Dhcpv6MsgType = 13
116 Dhcpv6MsgType_name = map[uint32]string{
117 1: "DHCPV6_MSG_API_SOLICIT",
118 2: "DHCPV6_MSG_API_ADVERTISE",
119 3: "DHCPV6_MSG_API_REQUEST",
120 4: "DHCPV6_MSG_API_CONFIRM",
121 5: "DHCPV6_MSG_API_RENEW",
122 6: "DHCPV6_MSG_API_REBIND",
123 7: "DHCPV6_MSG_API_REPLY",
124 8: "DHCPV6_MSG_API_RELEASE",
125 9: "DHCPV6_MSG_API_DECLINE",
126 10: "DHCPV6_MSG_API_RECONFIGURE",
127 11: "DHCPV6_MSG_API_INFORMATION_REQUEST",
128 12: "DHCPV6_MSG_API_RELAY_FORW",
129 13: "DHCPV6_MSG_API_RELAY_REPL",
131 Dhcpv6MsgType_value = map[string]uint32{
132 "DHCPV6_MSG_API_SOLICIT": 1,
133 "DHCPV6_MSG_API_ADVERTISE": 2,
134 "DHCPV6_MSG_API_REQUEST": 3,
135 "DHCPV6_MSG_API_CONFIRM": 4,
136 "DHCPV6_MSG_API_RENEW": 5,
137 "DHCPV6_MSG_API_REBIND": 6,
138 "DHCPV6_MSG_API_REPLY": 7,
139 "DHCPV6_MSG_API_RELEASE": 8,
140 "DHCPV6_MSG_API_DECLINE": 9,
141 "DHCPV6_MSG_API_RECONFIGURE": 10,
142 "DHCPV6_MSG_API_INFORMATION_REQUEST": 11,
143 "DHCPV6_MSG_API_RELAY_FORW": 12,
144 "DHCPV6_MSG_API_RELAY_REPL": 13,
148 func (x Dhcpv6MsgType) String() string {
149 s, ok := Dhcpv6MsgType_name[uint32(x)]
153 return "Dhcpv6MsgType(" + strconv.Itoa(int(x)) + ")"
156 // IfStatusFlags defines enum 'if_status_flags'.
157 type IfStatusFlags uint32
160 IF_STATUS_API_FLAG_ADMIN_UP IfStatusFlags = 1
161 IF_STATUS_API_FLAG_LINK_UP IfStatusFlags = 2
165 IfStatusFlags_name = map[uint32]string{
166 1: "IF_STATUS_API_FLAG_ADMIN_UP",
167 2: "IF_STATUS_API_FLAG_LINK_UP",
169 IfStatusFlags_value = map[string]uint32{
170 "IF_STATUS_API_FLAG_ADMIN_UP": 1,
171 "IF_STATUS_API_FLAG_LINK_UP": 2,
175 func (x IfStatusFlags) String() string {
176 s, ok := IfStatusFlags_name[uint32(x)]
180 str := func(n uint32) string {
181 s, ok := IfStatusFlags_name[uint32(n)]
185 return "IfStatusFlags(" + strconv.Itoa(int(n)) + ")"
187 for i := uint32(0); i <= 32; i++ {
197 return str(uint32(x))
202 // IfType defines enum 'if_type'.
206 IF_API_TYPE_HARDWARE IfType = 1
207 IF_API_TYPE_SUB IfType = 2
208 IF_API_TYPE_P2P IfType = 3
209 IF_API_TYPE_PIPE IfType = 4
213 IfType_name = map[uint32]string{
214 1: "IF_API_TYPE_HARDWARE",
215 2: "IF_API_TYPE_SUB",
216 3: "IF_API_TYPE_P2P",
217 4: "IF_API_TYPE_PIPE",
219 IfType_value = map[string]uint32{
220 "IF_API_TYPE_HARDWARE": 1,
221 "IF_API_TYPE_SUB": 2,
222 "IF_API_TYPE_P2P": 3,
223 "IF_API_TYPE_PIPE": 4,
227 func (x IfType) String() string {
228 s, ok := IfType_name[uint32(x)]
232 return "IfType(" + strconv.Itoa(int(x)) + ")"
235 // IPDscp defines enum 'ip_dscp'.
239 IP_API_DSCP_CS0 IPDscp = 0
240 IP_API_DSCP_CS1 IPDscp = 8
241 IP_API_DSCP_AF11 IPDscp = 10
242 IP_API_DSCP_AF12 IPDscp = 12
243 IP_API_DSCP_AF13 IPDscp = 14
244 IP_API_DSCP_CS2 IPDscp = 16
245 IP_API_DSCP_AF21 IPDscp = 18
246 IP_API_DSCP_AF22 IPDscp = 20
247 IP_API_DSCP_AF23 IPDscp = 22
248 IP_API_DSCP_CS3 IPDscp = 24
249 IP_API_DSCP_AF31 IPDscp = 26
250 IP_API_DSCP_AF32 IPDscp = 28
251 IP_API_DSCP_AF33 IPDscp = 30
252 IP_API_DSCP_CS4 IPDscp = 32
253 IP_API_DSCP_AF41 IPDscp = 34
254 IP_API_DSCP_AF42 IPDscp = 36
255 IP_API_DSCP_AF43 IPDscp = 38
256 IP_API_DSCP_CS5 IPDscp = 40
257 IP_API_DSCP_EF IPDscp = 46
258 IP_API_DSCP_CS6 IPDscp = 48
259 IP_API_DSCP_CS7 IPDscp = 50
263 IPDscp_name = map[uint8]string{
264 0: "IP_API_DSCP_CS0",
265 8: "IP_API_DSCP_CS1",
266 10: "IP_API_DSCP_AF11",
267 12: "IP_API_DSCP_AF12",
268 14: "IP_API_DSCP_AF13",
269 16: "IP_API_DSCP_CS2",
270 18: "IP_API_DSCP_AF21",
271 20: "IP_API_DSCP_AF22",
272 22: "IP_API_DSCP_AF23",
273 24: "IP_API_DSCP_CS3",
274 26: "IP_API_DSCP_AF31",
275 28: "IP_API_DSCP_AF32",
276 30: "IP_API_DSCP_AF33",
277 32: "IP_API_DSCP_CS4",
278 34: "IP_API_DSCP_AF41",
279 36: "IP_API_DSCP_AF42",
280 38: "IP_API_DSCP_AF43",
281 40: "IP_API_DSCP_CS5",
282 46: "IP_API_DSCP_EF",
283 48: "IP_API_DSCP_CS6",
284 50: "IP_API_DSCP_CS7",
286 IPDscp_value = map[string]uint8{
287 "IP_API_DSCP_CS0": 0,
288 "IP_API_DSCP_CS1": 8,
289 "IP_API_DSCP_AF11": 10,
290 "IP_API_DSCP_AF12": 12,
291 "IP_API_DSCP_AF13": 14,
292 "IP_API_DSCP_CS2": 16,
293 "IP_API_DSCP_AF21": 18,
294 "IP_API_DSCP_AF22": 20,
295 "IP_API_DSCP_AF23": 22,
296 "IP_API_DSCP_CS3": 24,
297 "IP_API_DSCP_AF31": 26,
298 "IP_API_DSCP_AF32": 28,
299 "IP_API_DSCP_AF33": 30,
300 "IP_API_DSCP_CS4": 32,
301 "IP_API_DSCP_AF41": 34,
302 "IP_API_DSCP_AF42": 36,
303 "IP_API_DSCP_AF43": 38,
304 "IP_API_DSCP_CS5": 40,
305 "IP_API_DSCP_EF": 46,
306 "IP_API_DSCP_CS6": 48,
307 "IP_API_DSCP_CS7": 50,
311 func (x IPDscp) String() string {
312 s, ok := IPDscp_name[uint8(x)]
316 return "IPDscp(" + strconv.Itoa(int(x)) + ")"
319 // IPEcn defines enum 'ip_ecn'.
323 IP_API_ECN_NONE IPEcn = 0
324 IP_API_ECN_ECT0 IPEcn = 1
325 IP_API_ECN_ECT1 IPEcn = 2
326 IP_API_ECN_CE IPEcn = 3
330 IPEcn_name = map[uint8]string{
331 0: "IP_API_ECN_NONE",
332 1: "IP_API_ECN_ECT0",
333 2: "IP_API_ECN_ECT1",
336 IPEcn_value = map[string]uint8{
337 "IP_API_ECN_NONE": 0,
338 "IP_API_ECN_ECT0": 1,
339 "IP_API_ECN_ECT1": 2,
344 func (x IPEcn) String() string {
345 s, ok := IPEcn_name[uint8(x)]
349 return "IPEcn(" + strconv.Itoa(int(x)) + ")"
352 // IPProto defines enum 'ip_proto'.
356 IP_API_PROTO_HOPOPT IPProto = 0
357 IP_API_PROTO_ICMP IPProto = 1
358 IP_API_PROTO_IGMP IPProto = 2
359 IP_API_PROTO_TCP IPProto = 6
360 IP_API_PROTO_UDP IPProto = 17
361 IP_API_PROTO_GRE IPProto = 47
362 IP_API_PROTO_AH IPProto = 50
363 IP_API_PROTO_ESP IPProto = 51
364 IP_API_PROTO_EIGRP IPProto = 88
365 IP_API_PROTO_OSPF IPProto = 89
366 IP_API_PROTO_SCTP IPProto = 132
367 IP_API_PROTO_RESERVED IPProto = 255
371 IPProto_name = map[uint32]string{
372 0: "IP_API_PROTO_HOPOPT",
373 1: "IP_API_PROTO_ICMP",
374 2: "IP_API_PROTO_IGMP",
375 6: "IP_API_PROTO_TCP",
376 17: "IP_API_PROTO_UDP",
377 47: "IP_API_PROTO_GRE",
378 50: "IP_API_PROTO_AH",
379 51: "IP_API_PROTO_ESP",
380 88: "IP_API_PROTO_EIGRP",
381 89: "IP_API_PROTO_OSPF",
382 132: "IP_API_PROTO_SCTP",
383 255: "IP_API_PROTO_RESERVED",
385 IPProto_value = map[string]uint32{
386 "IP_API_PROTO_HOPOPT": 0,
387 "IP_API_PROTO_ICMP": 1,
388 "IP_API_PROTO_IGMP": 2,
389 "IP_API_PROTO_TCP": 6,
390 "IP_API_PROTO_UDP": 17,
391 "IP_API_PROTO_GRE": 47,
392 "IP_API_PROTO_AH": 50,
393 "IP_API_PROTO_ESP": 51,
394 "IP_API_PROTO_EIGRP": 88,
395 "IP_API_PROTO_OSPF": 89,
396 "IP_API_PROTO_SCTP": 132,
397 "IP_API_PROTO_RESERVED": 255,
401 func (x IPProto) String() string {
402 s, ok := IPProto_name[uint32(x)]
406 return "IPProto(" + strconv.Itoa(int(x)) + ")"
409 // LinkDuplex defines enum 'link_duplex'.
410 type LinkDuplex uint32
413 LINK_DUPLEX_API_UNKNOWN LinkDuplex = 0
414 LINK_DUPLEX_API_HALF LinkDuplex = 1
415 LINK_DUPLEX_API_FULL LinkDuplex = 2
419 LinkDuplex_name = map[uint32]string{
420 0: "LINK_DUPLEX_API_UNKNOWN",
421 1: "LINK_DUPLEX_API_HALF",
422 2: "LINK_DUPLEX_API_FULL",
424 LinkDuplex_value = map[string]uint32{
425 "LINK_DUPLEX_API_UNKNOWN": 0,
426 "LINK_DUPLEX_API_HALF": 1,
427 "LINK_DUPLEX_API_FULL": 2,
431 func (x LinkDuplex) String() string {
432 s, ok := LinkDuplex_name[uint32(x)]
436 return "LinkDuplex(" + strconv.Itoa(int(x)) + ")"
439 // MtuProto defines enum 'mtu_proto'.
443 MTU_PROTO_API_L3 MtuProto = 1
444 MTU_PROTO_API_IP4 MtuProto = 2
445 MTU_PROTO_API_IP6 MtuProto = 3
446 MTU_PROTO_API_MPLS MtuProto = 4
447 MTU_PROTO_API_N MtuProto = 5
451 MtuProto_name = map[uint32]string{
452 1: "MTU_PROTO_API_L3",
453 2: "MTU_PROTO_API_IP4",
454 3: "MTU_PROTO_API_IP6",
455 4: "MTU_PROTO_API_MPLS",
456 5: "MTU_PROTO_API_N",
458 MtuProto_value = map[string]uint32{
459 "MTU_PROTO_API_L3": 1,
460 "MTU_PROTO_API_IP4": 2,
461 "MTU_PROTO_API_IP6": 3,
462 "MTU_PROTO_API_MPLS": 4,
463 "MTU_PROTO_API_N": 5,
467 func (x MtuProto) String() string {
468 s, ok := MtuProto_name[uint32(x)]
472 return "MtuProto(" + strconv.Itoa(int(x)) + ")"
475 // RxMode defines enum 'rx_mode'.
479 RX_MODE_API_UNKNOWN RxMode = 0
480 RX_MODE_API_POLLING RxMode = 1
481 RX_MODE_API_INTERRUPT RxMode = 2
482 RX_MODE_API_ADAPTIVE RxMode = 3
483 RX_MODE_API_DEFAULT RxMode = 4
487 RxMode_name = map[uint32]string{
488 0: "RX_MODE_API_UNKNOWN",
489 1: "RX_MODE_API_POLLING",
490 2: "RX_MODE_API_INTERRUPT",
491 3: "RX_MODE_API_ADAPTIVE",
492 4: "RX_MODE_API_DEFAULT",
494 RxMode_value = map[string]uint32{
495 "RX_MODE_API_UNKNOWN": 0,
496 "RX_MODE_API_POLLING": 1,
497 "RX_MODE_API_INTERRUPT": 2,
498 "RX_MODE_API_ADAPTIVE": 3,
499 "RX_MODE_API_DEFAULT": 4,
503 func (x RxMode) String() string {
504 s, ok := RxMode_name[uint32(x)]
508 return "RxMode(" + strconv.Itoa(int(x)) + ")"
511 // SubIfFlags defines enum 'sub_if_flags'.
512 type SubIfFlags uint32
515 SUB_IF_API_FLAG_NO_TAGS SubIfFlags = 1
516 SUB_IF_API_FLAG_ONE_TAG SubIfFlags = 2
517 SUB_IF_API_FLAG_TWO_TAGS SubIfFlags = 4
518 SUB_IF_API_FLAG_DOT1AD SubIfFlags = 8
519 SUB_IF_API_FLAG_EXACT_MATCH SubIfFlags = 16
520 SUB_IF_API_FLAG_DEFAULT SubIfFlags = 32
521 SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY SubIfFlags = 64
522 SUB_IF_API_FLAG_INNER_VLAN_ID_ANY SubIfFlags = 128
523 SUB_IF_API_FLAG_MASK_VNET SubIfFlags = 254
524 SUB_IF_API_FLAG_DOT1AH SubIfFlags = 256
528 SubIfFlags_name = map[uint32]string{
529 1: "SUB_IF_API_FLAG_NO_TAGS",
530 2: "SUB_IF_API_FLAG_ONE_TAG",
531 4: "SUB_IF_API_FLAG_TWO_TAGS",
532 8: "SUB_IF_API_FLAG_DOT1AD",
533 16: "SUB_IF_API_FLAG_EXACT_MATCH",
534 32: "SUB_IF_API_FLAG_DEFAULT",
535 64: "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
536 128: "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
537 254: "SUB_IF_API_FLAG_MASK_VNET",
538 256: "SUB_IF_API_FLAG_DOT1AH",
540 SubIfFlags_value = map[string]uint32{
541 "SUB_IF_API_FLAG_NO_TAGS": 1,
542 "SUB_IF_API_FLAG_ONE_TAG": 2,
543 "SUB_IF_API_FLAG_TWO_TAGS": 4,
544 "SUB_IF_API_FLAG_DOT1AD": 8,
545 "SUB_IF_API_FLAG_EXACT_MATCH": 16,
546 "SUB_IF_API_FLAG_DEFAULT": 32,
547 "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY": 64,
548 "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY": 128,
549 "SUB_IF_API_FLAG_MASK_VNET": 254,
550 "SUB_IF_API_FLAG_DOT1AH": 256,
554 func (x SubIfFlags) String() string {
555 s, ok := SubIfFlags_name[uint32(x)]
559 str := func(n uint32) string {
560 s, ok := SubIfFlags_name[uint32(n)]
564 return "SubIfFlags(" + strconv.Itoa(int(n)) + ")"
566 for i := uint32(0); i <= 32; i++ {
576 return str(uint32(x))
581 // VssType defines enum 'vss_type'.
585 VSS_TYPE_API_ASCII VssType = 0
586 VSS_TYPE_API_VPN_ID VssType = 1
587 VSS_TYPE_API_INVALID VssType = 123
588 VSS_TYPE_API_DEFAULT VssType = 255
592 VssType_name = map[uint32]string{
593 0: "VSS_TYPE_API_ASCII",
594 1: "VSS_TYPE_API_VPN_ID",
595 123: "VSS_TYPE_API_INVALID",
596 255: "VSS_TYPE_API_DEFAULT",
598 VssType_value = map[string]uint32{
599 "VSS_TYPE_API_ASCII": 0,
600 "VSS_TYPE_API_VPN_ID": 1,
601 "VSS_TYPE_API_INVALID": 123,
602 "VSS_TYPE_API_DEFAULT": 255,
606 func (x VssType) String() string {
607 s, ok := VssType_name[uint32(x)]
611 return "VssType(" + strconv.Itoa(int(x)) + ")"
614 // AddressWithPrefix defines alias 'address_with_prefix'.
615 type AddressWithPrefix Prefix
617 func ParseAddressWithPrefix(s string) (AddressWithPrefix, error) {
618 prefix, err := ParsePrefix(s)
620 return AddressWithPrefix{}, err
622 return AddressWithPrefix(prefix), nil
624 func (x AddressWithPrefix) String() string {
625 return Prefix(x).String()
627 func (x *AddressWithPrefix) MarshalText() ([]byte, error) {
628 return []byte(x.String()), nil
630 func (x *AddressWithPrefix) UnmarshalText(text []byte) error {
631 prefix, err := ParseAddressWithPrefix(string(text))
639 // InterfaceIndex defines alias 'interface_index'.
640 type InterfaceIndex uint32
642 // IP4Address defines alias 'ip4_address'.
643 type IP4Address [4]uint8
645 func ParseIP4Address(s string) (IP4Address, error) {
646 ip := net.ParseIP(s).To4()
648 return IP4Address{}, fmt.Errorf("invalid IP address: %s", s)
650 var ipaddr IP4Address
651 copy(ipaddr[:], ip.To4())
655 func (x IP4Address) ToIP() net.IP {
656 return net.IP(x[:]).To4()
658 func (x IP4Address) String() string {
659 return x.ToIP().String()
661 func (x *IP4Address) MarshalText() ([]byte, error) {
662 return []byte(x.String()), nil
664 func (x *IP4Address) UnmarshalText(text []byte) error {
665 ipaddr, err := ParseIP4Address(string(text))
673 // IP4AddressWithPrefix defines alias 'ip4_address_with_prefix'.
674 type IP4AddressWithPrefix IP4Prefix
676 // IP6Address defines alias 'ip6_address'.
677 type IP6Address [16]uint8
679 func ParseIP6Address(s string) (IP6Address, error) {
680 ip := net.ParseIP(s).To16()
682 return IP6Address{}, fmt.Errorf("invalid IP address: %s", s)
684 var ipaddr IP6Address
685 copy(ipaddr[:], ip.To16())
689 func (x IP6Address) ToIP() net.IP {
690 return net.IP(x[:]).To16()
692 func (x IP6Address) String() string {
693 return x.ToIP().String()
695 func (x *IP6Address) MarshalText() ([]byte, error) {
696 return []byte(x.String()), nil
698 func (x *IP6Address) UnmarshalText(text []byte) error {
699 ipaddr, err := ParseIP6Address(string(text))
707 // IP6AddressWithPrefix defines alias 'ip6_address_with_prefix'.
708 type IP6AddressWithPrefix IP6Prefix
710 // MacAddress defines alias 'mac_address'.
711 type MacAddress [6]uint8
713 func ParseMacAddress(s string) (MacAddress, error) {
714 var macaddr MacAddress
715 mac, err := net.ParseMAC(s)
719 copy(macaddr[:], mac[:])
722 func (x MacAddress) ToMAC() net.HardwareAddr {
723 return net.HardwareAddr(x[:])
725 func (x MacAddress) String() string {
726 return x.ToMAC().String()
728 func (x *MacAddress) MarshalText() ([]byte, error) {
729 return []byte(x.String()), nil
731 func (x *MacAddress) UnmarshalText(text []byte) error {
732 mac, err := ParseMacAddress(string(text))
740 // Address defines type 'address'.
741 type Address struct {
742 Af AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
743 Un AddressUnion `binapi:"address_union,name=un" json:"un,omitempty"`
746 func ParseAddress(s string) (Address, error) {
749 return Address{}, fmt.Errorf("invalid address: %s", s)
753 addr.Af = ADDRESS_IP6
755 copy(ip6[:], ip.To16())
758 addr.Af = ADDRESS_IP4
760 copy(ip4[:], ip.To4())
765 func (x Address) ToIP() net.IP {
766 if x.Af == ADDRESS_IP6 {
768 return net.IP(ip6[:]).To16()
771 return net.IP(ip4[:]).To4()
774 func (x Address) String() string {
775 return x.ToIP().String()
777 func (x *Address) MarshalText() ([]byte, error) {
778 return []byte(x.String()), nil
780 func (x *Address) UnmarshalText(text []byte) error {
781 addr, err := ParseAddress(string(text))
789 // DHCP6AddressInfo defines type 'dhcp6_address_info'.
790 type DHCP6AddressInfo struct {
791 Address IP6Address `binapi:"ip6_address,name=address" json:"address,omitempty"`
792 ValidTime uint32 `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
793 PreferredTime uint32 `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
796 // DHCP6PdPrefixInfo defines type 'dhcp6_pd_prefix_info'.
797 type DHCP6PdPrefixInfo struct {
798 Prefix IP6Prefix `binapi:"ip6_prefix,name=prefix" json:"prefix,omitempty"`
799 ValidTime uint32 `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
800 PreferredTime uint32 `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
803 // DHCPClient defines type 'dhcp_client'.
804 type DHCPClient struct {
805 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
806 Hostname string `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
807 ID []byte `binapi:"u8[64],name=id" json:"id,omitempty"`
808 WantDHCPEvent bool `binapi:"bool,name=want_dhcp_event" json:"want_dhcp_event,omitempty"`
809 SetBroadcastFlag bool `binapi:"bool,name=set_broadcast_flag" json:"set_broadcast_flag,omitempty"`
810 Dscp IPDscp `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
811 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
814 // DHCPLease defines type 'dhcp_lease'.
815 type DHCPLease struct {
816 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
817 State DHCPClientState `binapi:"dhcp_client_state,name=state" json:"state,omitempty"`
818 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
819 Hostname string `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
820 MaskWidth uint8 `binapi:"u8,name=mask_width" json:"mask_width,omitempty"`
821 HostAddress Address `binapi:"address,name=host_address" json:"host_address,omitempty"`
822 RouterAddress Address `binapi:"address,name=router_address" json:"router_address,omitempty"`
823 HostMac MacAddress `binapi:"mac_address,name=host_mac" json:"host_mac,omitempty"`
824 Count uint8 `binapi:"u8,name=count" json:"-"`
825 DomainServer []DomainServer `binapi:"domain_server[count],name=domain_server" json:"domain_server,omitempty"`
828 // DHCPServer defines type 'dhcp_server'.
829 type DHCPServer struct {
830 ServerVrfID uint32 `binapi:"u32,name=server_vrf_id" json:"server_vrf_id,omitempty"`
831 DHCPServer Address `binapi:"address,name=dhcp_server" json:"dhcp_server,omitempty"`
834 // DomainServer defines type 'domain_server'.
835 type DomainServer struct {
836 Address Address `binapi:"address,name=address" json:"address,omitempty"`
839 // IP4Prefix defines type 'ip4_prefix'.
840 type IP4Prefix struct {
841 Address IP4Address `binapi:"ip4_address,name=address" json:"address,omitempty"`
842 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
845 func ParseIP4Prefix(s string) (prefix IP4Prefix, err error) {
846 hasPrefix := strings.Contains(s, "/")
848 ip, network, err := net.ParseCIDR(s)
850 return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
852 maskSize, _ := network.Mask.Size()
853 prefix.Len = byte(maskSize)
854 prefix.Address, err = ParseIP4Address(ip.String())
856 return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
860 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
862 defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
864 prefix.Len = byte(defaultMaskSize)
865 prefix.Address, err = ParseIP4Address(ip.String())
867 return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
872 func (x IP4Prefix) ToIPNet() *net.IPNet {
873 mask := net.CIDRMask(int(x.Len), 32)
874 ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
877 func (x IP4Prefix) String() string {
878 ip := x.Address.String()
879 return ip + "/" + strconv.Itoa(int(x.Len))
881 func (x *IP4Prefix) MarshalText() ([]byte, error) {
882 return []byte(x.String()), nil
884 func (x *IP4Prefix) UnmarshalText(text []byte) error {
885 prefix, err := ParseIP4Prefix(string(text))
893 // IP6Prefix defines type 'ip6_prefix'.
894 type IP6Prefix struct {
895 Address IP6Address `binapi:"ip6_address,name=address" json:"address,omitempty"`
896 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
899 func ParseIP6Prefix(s string) (prefix IP6Prefix, err error) {
900 hasPrefix := strings.Contains(s, "/")
902 ip, network, err := net.ParseCIDR(s)
904 return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
906 maskSize, _ := network.Mask.Size()
907 prefix.Len = byte(maskSize)
908 prefix.Address, err = ParseIP6Address(ip.String())
910 return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
914 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
916 defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
918 prefix.Len = byte(defaultMaskSize)
919 prefix.Address, err = ParseIP6Address(ip.String())
921 return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
926 func (x IP6Prefix) ToIPNet() *net.IPNet {
927 mask := net.CIDRMask(int(x.Len), 128)
928 ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
931 func (x IP6Prefix) String() string {
932 ip := x.Address.String()
933 return ip + "/" + strconv.Itoa(int(x.Len))
935 func (x *IP6Prefix) MarshalText() ([]byte, error) {
936 return []byte(x.String()), nil
938 func (x *IP6Prefix) UnmarshalText(text []byte) error {
939 prefix, err := ParseIP6Prefix(string(text))
947 // Mprefix defines type 'mprefix'.
948 type Mprefix struct {
949 Af AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
950 GrpAddressLength uint16 `binapi:"u16,name=grp_address_length" json:"grp_address_length,omitempty"`
951 GrpAddress AddressUnion `binapi:"address_union,name=grp_address" json:"grp_address,omitempty"`
952 SrcAddress AddressUnion `binapi:"address_union,name=src_address" json:"src_address,omitempty"`
955 // Prefix defines type 'prefix'.
957 Address Address `binapi:"address,name=address" json:"address,omitempty"`
958 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
961 func ParsePrefix(ip string) (prefix Prefix, err error) {
962 hasPrefix := strings.Contains(ip, "/")
964 netIP, network, err := net.ParseCIDR(ip)
966 return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
968 maskSize, _ := network.Mask.Size()
969 prefix.Len = byte(maskSize)
970 prefix.Address, err = ParseAddress(netIP.String())
972 return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
975 netIP := net.ParseIP(ip)
976 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
977 if netIP.To4() == nil {
978 defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
980 prefix.Len = byte(defaultMaskSize)
981 prefix.Address, err = ParseAddress(netIP.String())
983 return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
988 func (x Prefix) ToIPNet() *net.IPNet {
990 if x.Address.Af == ADDRESS_IP4 {
991 mask = net.CIDRMask(int(x.Len), 32)
993 mask = net.CIDRMask(int(x.Len), 128)
995 ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
998 func (x Prefix) String() string {
999 ip := x.Address.String()
1000 return ip + "/" + strconv.Itoa(int(x.Len))
1002 func (x *Prefix) MarshalText() ([]byte, error) {
1003 return []byte(x.String()), nil
1005 func (x *Prefix) UnmarshalText(text []byte) error {
1006 prefix, err := ParsePrefix(string(text))
1014 // PrefixMatcher defines type 'prefix_matcher'.
1015 type PrefixMatcher struct {
1016 Le uint8 `binapi:"u8,name=le" json:"le,omitempty"`
1017 Ge uint8 `binapi:"u8,name=ge" json:"ge,omitempty"`
1020 // AddressUnion defines union 'address_union'.
1021 type AddressUnion struct {
1024 XXX_UnionData [16]byte
1027 func AddressUnionIP4(a IP4Address) (u AddressUnion) {
1031 func (u *AddressUnion) SetIP4(a IP4Address) {
1032 buf := codec.NewBuffer(u.XXX_UnionData[:])
1033 buf.EncodeBytes(a[:], 4)
1035 func (u *AddressUnion) GetIP4() (a IP4Address) {
1036 buf := codec.NewBuffer(u.XXX_UnionData[:])
1037 copy(a[:], buf.DecodeBytes(4))
1041 func AddressUnionIP6(a IP6Address) (u AddressUnion) {
1045 func (u *AddressUnion) SetIP6(a IP6Address) {
1046 buf := codec.NewBuffer(u.XXX_UnionData[:])
1047 buf.EncodeBytes(a[:], 16)
1049 func (u *AddressUnion) GetIP6() (a IP6Address) {
1050 buf := codec.NewBuffer(u.XXX_UnionData[:])
1051 copy(a[:], buf.DecodeBytes(16))
1055 // DHCP6ClientsEnableDisable defines message 'dhcp6_clients_enable_disable'.
1056 type DHCP6ClientsEnableDisable struct {
1057 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
1060 func (m *DHCP6ClientsEnableDisable) Reset() { *m = DHCP6ClientsEnableDisable{} }
1061 func (*DHCP6ClientsEnableDisable) GetMessageName() string { return "dhcp6_clients_enable_disable" }
1062 func (*DHCP6ClientsEnableDisable) GetCrcString() string { return "b3e225d2" }
1063 func (*DHCP6ClientsEnableDisable) GetMessageType() api.MessageType {
1064 return api.RequestMessage
1067 func (m *DHCP6ClientsEnableDisable) Size() (size int) {
1071 size += 1 // m.Enable
1074 func (m *DHCP6ClientsEnableDisable) Marshal(b []byte) ([]byte, error) {
1076 b = make([]byte, m.Size())
1078 buf := codec.NewBuffer(b)
1079 buf.EncodeBool(m.Enable)
1080 return buf.Bytes(), nil
1082 func (m *DHCP6ClientsEnableDisable) Unmarshal(b []byte) error {
1083 buf := codec.NewBuffer(b)
1084 m.Enable = buf.DecodeBool()
1088 // DHCP6ClientsEnableDisableReply defines message 'dhcp6_clients_enable_disable_reply'.
1089 type DHCP6ClientsEnableDisableReply struct {
1090 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1093 func (m *DHCP6ClientsEnableDisableReply) Reset() { *m = DHCP6ClientsEnableDisableReply{} }
1094 func (*DHCP6ClientsEnableDisableReply) GetMessageName() string {
1095 return "dhcp6_clients_enable_disable_reply"
1097 func (*DHCP6ClientsEnableDisableReply) GetCrcString() string { return "e8d4e804" }
1098 func (*DHCP6ClientsEnableDisableReply) GetMessageType() api.MessageType {
1099 return api.ReplyMessage
1102 func (m *DHCP6ClientsEnableDisableReply) Size() (size int) {
1106 size += 4 // m.Retval
1109 func (m *DHCP6ClientsEnableDisableReply) Marshal(b []byte) ([]byte, error) {
1111 b = make([]byte, m.Size())
1113 buf := codec.NewBuffer(b)
1114 buf.EncodeInt32(m.Retval)
1115 return buf.Bytes(), nil
1117 func (m *DHCP6ClientsEnableDisableReply) Unmarshal(b []byte) error {
1118 buf := codec.NewBuffer(b)
1119 m.Retval = buf.DecodeInt32()
1123 // DHCP6DuidLlSet defines message 'dhcp6_duid_ll_set'.
1124 type DHCP6DuidLlSet struct {
1125 DuidLl []byte `binapi:"u8[10],name=duid_ll" json:"duid_ll,omitempty"`
1128 func (m *DHCP6DuidLlSet) Reset() { *m = DHCP6DuidLlSet{} }
1129 func (*DHCP6DuidLlSet) GetMessageName() string { return "dhcp6_duid_ll_set" }
1130 func (*DHCP6DuidLlSet) GetCrcString() string { return "0f6ca323" }
1131 func (*DHCP6DuidLlSet) GetMessageType() api.MessageType {
1132 return api.RequestMessage
1135 func (m *DHCP6DuidLlSet) Size() (size int) {
1139 size += 1 * 10 // m.DuidLl
1142 func (m *DHCP6DuidLlSet) Marshal(b []byte) ([]byte, error) {
1144 b = make([]byte, m.Size())
1146 buf := codec.NewBuffer(b)
1147 buf.EncodeBytes(m.DuidLl, 10)
1148 return buf.Bytes(), nil
1150 func (m *DHCP6DuidLlSet) Unmarshal(b []byte) error {
1151 buf := codec.NewBuffer(b)
1152 m.DuidLl = make([]byte, 10)
1153 copy(m.DuidLl, buf.DecodeBytes(len(m.DuidLl)))
1157 // DHCP6DuidLlSetReply defines message 'dhcp6_duid_ll_set_reply'.
1158 type DHCP6DuidLlSetReply struct {
1159 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1162 func (m *DHCP6DuidLlSetReply) Reset() { *m = DHCP6DuidLlSetReply{} }
1163 func (*DHCP6DuidLlSetReply) GetMessageName() string { return "dhcp6_duid_ll_set_reply" }
1164 func (*DHCP6DuidLlSetReply) GetCrcString() string { return "e8d4e804" }
1165 func (*DHCP6DuidLlSetReply) GetMessageType() api.MessageType {
1166 return api.ReplyMessage
1169 func (m *DHCP6DuidLlSetReply) Size() (size int) {
1173 size += 4 // m.Retval
1176 func (m *DHCP6DuidLlSetReply) Marshal(b []byte) ([]byte, error) {
1178 b = make([]byte, m.Size())
1180 buf := codec.NewBuffer(b)
1181 buf.EncodeInt32(m.Retval)
1182 return buf.Bytes(), nil
1184 func (m *DHCP6DuidLlSetReply) Unmarshal(b []byte) error {
1185 buf := codec.NewBuffer(b)
1186 m.Retval = buf.DecodeInt32()
1190 // DHCP6PdReplyEvent defines message 'dhcp6_pd_reply_event'.
1191 type DHCP6PdReplyEvent struct {
1192 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1193 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1194 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1195 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1196 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1197 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1198 InnerStatusCode uint16 `binapi:"u16,name=inner_status_code" json:"inner_status_code,omitempty"`
1199 StatusCode uint16 `binapi:"u16,name=status_code" json:"status_code,omitempty"`
1200 Preference uint8 `binapi:"u8,name=preference" json:"preference,omitempty"`
1201 NPrefixes uint32 `binapi:"u32,name=n_prefixes" json:"-"`
1202 Prefixes []DHCP6PdPrefixInfo `binapi:"dhcp6_pd_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
1205 func (m *DHCP6PdReplyEvent) Reset() { *m = DHCP6PdReplyEvent{} }
1206 func (*DHCP6PdReplyEvent) GetMessageName() string { return "dhcp6_pd_reply_event" }
1207 func (*DHCP6PdReplyEvent) GetCrcString() string { return "cb3e462b" }
1208 func (*DHCP6PdReplyEvent) GetMessageType() api.MessageType {
1209 return api.EventMessage
1212 func (m *DHCP6PdReplyEvent) Size() (size int) {
1217 size += 4 // m.SwIfIndex
1218 size += 4 // m.ServerIndex
1219 size += 4 // m.MsgType
1222 size += 2 // m.InnerStatusCode
1223 size += 2 // m.StatusCode
1224 size += 1 // m.Preference
1225 size += 4 // m.NPrefixes
1226 for j1 := 0; j1 < len(m.Prefixes); j1++ {
1227 var s1 DHCP6PdPrefixInfo
1229 if j1 < len(m.Prefixes) {
1232 size += 1 * 16 // s1.Prefix.Address
1233 size += 1 // s1.Prefix.Len
1234 size += 4 // s1.ValidTime
1235 size += 4 // s1.PreferredTime
1239 func (m *DHCP6PdReplyEvent) Marshal(b []byte) ([]byte, error) {
1241 b = make([]byte, m.Size())
1243 buf := codec.NewBuffer(b)
1244 buf.EncodeUint32(m.PID)
1245 buf.EncodeUint32(uint32(m.SwIfIndex))
1246 buf.EncodeUint32(m.ServerIndex)
1247 buf.EncodeUint32(uint32(m.MsgType))
1248 buf.EncodeUint32(m.T1)
1249 buf.EncodeUint32(m.T2)
1250 buf.EncodeUint16(m.InnerStatusCode)
1251 buf.EncodeUint16(m.StatusCode)
1252 buf.EncodeUint8(m.Preference)
1253 buf.EncodeUint32(uint32(len(m.Prefixes)))
1254 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1255 var v0 DHCP6PdPrefixInfo // Prefixes
1256 if j0 < len(m.Prefixes) {
1259 buf.EncodeBytes(v0.Prefix.Address[:], 16)
1260 buf.EncodeUint8(v0.Prefix.Len)
1261 buf.EncodeUint32(v0.ValidTime)
1262 buf.EncodeUint32(v0.PreferredTime)
1264 return buf.Bytes(), nil
1266 func (m *DHCP6PdReplyEvent) Unmarshal(b []byte) error {
1267 buf := codec.NewBuffer(b)
1268 m.PID = buf.DecodeUint32()
1269 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1270 m.ServerIndex = buf.DecodeUint32()
1271 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1272 m.T1 = buf.DecodeUint32()
1273 m.T2 = buf.DecodeUint32()
1274 m.InnerStatusCode = buf.DecodeUint16()
1275 m.StatusCode = buf.DecodeUint16()
1276 m.Preference = buf.DecodeUint8()
1277 m.NPrefixes = buf.DecodeUint32()
1278 m.Prefixes = make([]DHCP6PdPrefixInfo, m.NPrefixes)
1279 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1280 copy(m.Prefixes[j0].Prefix.Address[:], buf.DecodeBytes(16))
1281 m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
1282 m.Prefixes[j0].ValidTime = buf.DecodeUint32()
1283 m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
1288 // DHCP6PdSendClientMessage defines message 'dhcp6_pd_send_client_message'.
1289 type DHCP6PdSendClientMessage struct {
1290 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1291 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1292 Irt uint32 `binapi:"u32,name=irt" json:"irt,omitempty"`
1293 Mrt uint32 `binapi:"u32,name=mrt" json:"mrt,omitempty"`
1294 Mrc uint32 `binapi:"u32,name=mrc" json:"mrc,omitempty"`
1295 Mrd uint32 `binapi:"u32,name=mrd" json:"mrd,omitempty"`
1296 Stop bool `binapi:"bool,name=stop" json:"stop,omitempty"`
1297 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1298 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1299 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1300 NPrefixes uint32 `binapi:"u32,name=n_prefixes" json:"-"`
1301 Prefixes []DHCP6PdPrefixInfo `binapi:"dhcp6_pd_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
1304 func (m *DHCP6PdSendClientMessage) Reset() { *m = DHCP6PdSendClientMessage{} }
1305 func (*DHCP6PdSendClientMessage) GetMessageName() string { return "dhcp6_pd_send_client_message" }
1306 func (*DHCP6PdSendClientMessage) GetCrcString() string { return "064badb8" }
1307 func (*DHCP6PdSendClientMessage) GetMessageType() api.MessageType {
1308 return api.RequestMessage
1311 func (m *DHCP6PdSendClientMessage) Size() (size int) {
1315 size += 4 // m.SwIfIndex
1316 size += 4 // m.ServerIndex
1322 size += 4 // m.MsgType
1325 size += 4 // m.NPrefixes
1326 for j1 := 0; j1 < len(m.Prefixes); j1++ {
1327 var s1 DHCP6PdPrefixInfo
1329 if j1 < len(m.Prefixes) {
1332 size += 1 * 16 // s1.Prefix.Address
1333 size += 1 // s1.Prefix.Len
1334 size += 4 // s1.ValidTime
1335 size += 4 // s1.PreferredTime
1339 func (m *DHCP6PdSendClientMessage) Marshal(b []byte) ([]byte, error) {
1341 b = make([]byte, m.Size())
1343 buf := codec.NewBuffer(b)
1344 buf.EncodeUint32(uint32(m.SwIfIndex))
1345 buf.EncodeUint32(m.ServerIndex)
1346 buf.EncodeUint32(m.Irt)
1347 buf.EncodeUint32(m.Mrt)
1348 buf.EncodeUint32(m.Mrc)
1349 buf.EncodeUint32(m.Mrd)
1350 buf.EncodeBool(m.Stop)
1351 buf.EncodeUint32(uint32(m.MsgType))
1352 buf.EncodeUint32(m.T1)
1353 buf.EncodeUint32(m.T2)
1354 buf.EncodeUint32(uint32(len(m.Prefixes)))
1355 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1356 var v0 DHCP6PdPrefixInfo // Prefixes
1357 if j0 < len(m.Prefixes) {
1360 buf.EncodeBytes(v0.Prefix.Address[:], 16)
1361 buf.EncodeUint8(v0.Prefix.Len)
1362 buf.EncodeUint32(v0.ValidTime)
1363 buf.EncodeUint32(v0.PreferredTime)
1365 return buf.Bytes(), nil
1367 func (m *DHCP6PdSendClientMessage) Unmarshal(b []byte) error {
1368 buf := codec.NewBuffer(b)
1369 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1370 m.ServerIndex = buf.DecodeUint32()
1371 m.Irt = buf.DecodeUint32()
1372 m.Mrt = buf.DecodeUint32()
1373 m.Mrc = buf.DecodeUint32()
1374 m.Mrd = buf.DecodeUint32()
1375 m.Stop = buf.DecodeBool()
1376 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1377 m.T1 = buf.DecodeUint32()
1378 m.T2 = buf.DecodeUint32()
1379 m.NPrefixes = buf.DecodeUint32()
1380 m.Prefixes = make([]DHCP6PdPrefixInfo, m.NPrefixes)
1381 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1382 copy(m.Prefixes[j0].Prefix.Address[:], buf.DecodeBytes(16))
1383 m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
1384 m.Prefixes[j0].ValidTime = buf.DecodeUint32()
1385 m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
1390 // DHCP6PdSendClientMessageReply defines message 'dhcp6_pd_send_client_message_reply'.
1391 type DHCP6PdSendClientMessageReply struct {
1392 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1395 func (m *DHCP6PdSendClientMessageReply) Reset() { *m = DHCP6PdSendClientMessageReply{} }
1396 func (*DHCP6PdSendClientMessageReply) GetMessageName() string {
1397 return "dhcp6_pd_send_client_message_reply"
1399 func (*DHCP6PdSendClientMessageReply) GetCrcString() string { return "e8d4e804" }
1400 func (*DHCP6PdSendClientMessageReply) GetMessageType() api.MessageType {
1401 return api.ReplyMessage
1404 func (m *DHCP6PdSendClientMessageReply) Size() (size int) {
1408 size += 4 // m.Retval
1411 func (m *DHCP6PdSendClientMessageReply) Marshal(b []byte) ([]byte, error) {
1413 b = make([]byte, m.Size())
1415 buf := codec.NewBuffer(b)
1416 buf.EncodeInt32(m.Retval)
1417 return buf.Bytes(), nil
1419 func (m *DHCP6PdSendClientMessageReply) Unmarshal(b []byte) error {
1420 buf := codec.NewBuffer(b)
1421 m.Retval = buf.DecodeInt32()
1425 // DHCP6ReplyEvent defines message 'dhcp6_reply_event'.
1426 type DHCP6ReplyEvent struct {
1427 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1428 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1429 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1430 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1431 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1432 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1433 InnerStatusCode uint16 `binapi:"u16,name=inner_status_code" json:"inner_status_code,omitempty"`
1434 StatusCode uint16 `binapi:"u16,name=status_code" json:"status_code,omitempty"`
1435 Preference uint8 `binapi:"u8,name=preference" json:"preference,omitempty"`
1436 NAddresses uint32 `binapi:"u32,name=n_addresses" json:"-"`
1437 Addresses []DHCP6AddressInfo `binapi:"dhcp6_address_info[n_addresses],name=addresses" json:"addresses,omitempty"`
1440 func (m *DHCP6ReplyEvent) Reset() { *m = DHCP6ReplyEvent{} }
1441 func (*DHCP6ReplyEvent) GetMessageName() string { return "dhcp6_reply_event" }
1442 func (*DHCP6ReplyEvent) GetCrcString() string { return "9f3af9e5" }
1443 func (*DHCP6ReplyEvent) GetMessageType() api.MessageType {
1444 return api.EventMessage
1447 func (m *DHCP6ReplyEvent) Size() (size int) {
1452 size += 4 // m.SwIfIndex
1453 size += 4 // m.ServerIndex
1454 size += 4 // m.MsgType
1457 size += 2 // m.InnerStatusCode
1458 size += 2 // m.StatusCode
1459 size += 1 // m.Preference
1460 size += 4 // m.NAddresses
1461 for j1 := 0; j1 < len(m.Addresses); j1++ {
1462 var s1 DHCP6AddressInfo
1464 if j1 < len(m.Addresses) {
1465 s1 = m.Addresses[j1]
1467 size += 1 * 16 // s1.Address
1468 size += 4 // s1.ValidTime
1469 size += 4 // s1.PreferredTime
1473 func (m *DHCP6ReplyEvent) Marshal(b []byte) ([]byte, error) {
1475 b = make([]byte, m.Size())
1477 buf := codec.NewBuffer(b)
1478 buf.EncodeUint32(m.PID)
1479 buf.EncodeUint32(uint32(m.SwIfIndex))
1480 buf.EncodeUint32(m.ServerIndex)
1481 buf.EncodeUint32(uint32(m.MsgType))
1482 buf.EncodeUint32(m.T1)
1483 buf.EncodeUint32(m.T2)
1484 buf.EncodeUint16(m.InnerStatusCode)
1485 buf.EncodeUint16(m.StatusCode)
1486 buf.EncodeUint8(m.Preference)
1487 buf.EncodeUint32(uint32(len(m.Addresses)))
1488 for j0 := 0; j0 < len(m.Addresses); j0++ {
1489 var v0 DHCP6AddressInfo // Addresses
1490 if j0 < len(m.Addresses) {
1491 v0 = m.Addresses[j0]
1493 buf.EncodeBytes(v0.Address[:], 16)
1494 buf.EncodeUint32(v0.ValidTime)
1495 buf.EncodeUint32(v0.PreferredTime)
1497 return buf.Bytes(), nil
1499 func (m *DHCP6ReplyEvent) Unmarshal(b []byte) error {
1500 buf := codec.NewBuffer(b)
1501 m.PID = buf.DecodeUint32()
1502 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1503 m.ServerIndex = buf.DecodeUint32()
1504 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1505 m.T1 = buf.DecodeUint32()
1506 m.T2 = buf.DecodeUint32()
1507 m.InnerStatusCode = buf.DecodeUint16()
1508 m.StatusCode = buf.DecodeUint16()
1509 m.Preference = buf.DecodeUint8()
1510 m.NAddresses = buf.DecodeUint32()
1511 m.Addresses = make([]DHCP6AddressInfo, m.NAddresses)
1512 for j0 := 0; j0 < len(m.Addresses); j0++ {
1513 copy(m.Addresses[j0].Address[:], buf.DecodeBytes(16))
1514 m.Addresses[j0].ValidTime = buf.DecodeUint32()
1515 m.Addresses[j0].PreferredTime = buf.DecodeUint32()
1520 // DHCP6SendClientMessage defines message 'dhcp6_send_client_message'.
1521 type DHCP6SendClientMessage struct {
1522 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1523 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1524 Irt uint32 `binapi:"u32,name=irt" json:"irt,omitempty"`
1525 Mrt uint32 `binapi:"u32,name=mrt" json:"mrt,omitempty"`
1526 Mrc uint32 `binapi:"u32,name=mrc" json:"mrc,omitempty"`
1527 Mrd uint32 `binapi:"u32,name=mrd" json:"mrd,omitempty"`
1528 Stop bool `binapi:"bool,name=stop" json:"stop,omitempty"`
1529 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1530 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1531 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1532 NAddresses uint32 `binapi:"u32,name=n_addresses" json:"-"`
1533 Addresses []DHCP6AddressInfo `binapi:"dhcp6_address_info[n_addresses],name=addresses" json:"addresses,omitempty"`
1536 func (m *DHCP6SendClientMessage) Reset() { *m = DHCP6SendClientMessage{} }
1537 func (*DHCP6SendClientMessage) GetMessageName() string { return "dhcp6_send_client_message" }
1538 func (*DHCP6SendClientMessage) GetCrcString() string { return "f6f14ef0" }
1539 func (*DHCP6SendClientMessage) GetMessageType() api.MessageType {
1540 return api.RequestMessage
1543 func (m *DHCP6SendClientMessage) Size() (size int) {
1547 size += 4 // m.SwIfIndex
1548 size += 4 // m.ServerIndex
1554 size += 4 // m.MsgType
1557 size += 4 // m.NAddresses
1558 for j1 := 0; j1 < len(m.Addresses); j1++ {
1559 var s1 DHCP6AddressInfo
1561 if j1 < len(m.Addresses) {
1562 s1 = m.Addresses[j1]
1564 size += 1 * 16 // s1.Address
1565 size += 4 // s1.ValidTime
1566 size += 4 // s1.PreferredTime
1570 func (m *DHCP6SendClientMessage) Marshal(b []byte) ([]byte, error) {
1572 b = make([]byte, m.Size())
1574 buf := codec.NewBuffer(b)
1575 buf.EncodeUint32(uint32(m.SwIfIndex))
1576 buf.EncodeUint32(m.ServerIndex)
1577 buf.EncodeUint32(m.Irt)
1578 buf.EncodeUint32(m.Mrt)
1579 buf.EncodeUint32(m.Mrc)
1580 buf.EncodeUint32(m.Mrd)
1581 buf.EncodeBool(m.Stop)
1582 buf.EncodeUint32(uint32(m.MsgType))
1583 buf.EncodeUint32(m.T1)
1584 buf.EncodeUint32(m.T2)
1585 buf.EncodeUint32(uint32(len(m.Addresses)))
1586 for j0 := 0; j0 < len(m.Addresses); j0++ {
1587 var v0 DHCP6AddressInfo // Addresses
1588 if j0 < len(m.Addresses) {
1589 v0 = m.Addresses[j0]
1591 buf.EncodeBytes(v0.Address[:], 16)
1592 buf.EncodeUint32(v0.ValidTime)
1593 buf.EncodeUint32(v0.PreferredTime)
1595 return buf.Bytes(), nil
1597 func (m *DHCP6SendClientMessage) Unmarshal(b []byte) error {
1598 buf := codec.NewBuffer(b)
1599 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1600 m.ServerIndex = buf.DecodeUint32()
1601 m.Irt = buf.DecodeUint32()
1602 m.Mrt = buf.DecodeUint32()
1603 m.Mrc = buf.DecodeUint32()
1604 m.Mrd = buf.DecodeUint32()
1605 m.Stop = buf.DecodeBool()
1606 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1607 m.T1 = buf.DecodeUint32()
1608 m.T2 = buf.DecodeUint32()
1609 m.NAddresses = buf.DecodeUint32()
1610 m.Addresses = make([]DHCP6AddressInfo, m.NAddresses)
1611 for j0 := 0; j0 < len(m.Addresses); j0++ {
1612 copy(m.Addresses[j0].Address[:], buf.DecodeBytes(16))
1613 m.Addresses[j0].ValidTime = buf.DecodeUint32()
1614 m.Addresses[j0].PreferredTime = buf.DecodeUint32()
1619 // DHCP6SendClientMessageReply defines message 'dhcp6_send_client_message_reply'.
1620 type DHCP6SendClientMessageReply struct {
1621 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1624 func (m *DHCP6SendClientMessageReply) Reset() { *m = DHCP6SendClientMessageReply{} }
1625 func (*DHCP6SendClientMessageReply) GetMessageName() string { return "dhcp6_send_client_message_reply" }
1626 func (*DHCP6SendClientMessageReply) GetCrcString() string { return "e8d4e804" }
1627 func (*DHCP6SendClientMessageReply) GetMessageType() api.MessageType {
1628 return api.ReplyMessage
1631 func (m *DHCP6SendClientMessageReply) Size() (size int) {
1635 size += 4 // m.Retval
1638 func (m *DHCP6SendClientMessageReply) Marshal(b []byte) ([]byte, error) {
1640 b = make([]byte, m.Size())
1642 buf := codec.NewBuffer(b)
1643 buf.EncodeInt32(m.Retval)
1644 return buf.Bytes(), nil
1646 func (m *DHCP6SendClientMessageReply) Unmarshal(b []byte) error {
1647 buf := codec.NewBuffer(b)
1648 m.Retval = buf.DecodeInt32()
1652 // DHCPClientConfig defines message 'dhcp_client_config'.
1653 type DHCPClientConfig struct {
1654 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1655 Client DHCPClient `binapi:"dhcp_client,name=client" json:"client,omitempty"`
1658 func (m *DHCPClientConfig) Reset() { *m = DHCPClientConfig{} }
1659 func (*DHCPClientConfig) GetMessageName() string { return "dhcp_client_config" }
1660 func (*DHCPClientConfig) GetCrcString() string { return "959b80a3" }
1661 func (*DHCPClientConfig) GetMessageType() api.MessageType {
1662 return api.RequestMessage
1665 func (m *DHCPClientConfig) Size() (size int) {
1669 size += 1 // m.IsAdd
1670 size += 4 // m.Client.SwIfIndex
1671 size += 64 // m.Client.Hostname
1672 size += 1 * 64 // m.Client.ID
1673 size += 1 // m.Client.WantDHCPEvent
1674 size += 1 // m.Client.SetBroadcastFlag
1675 size += 1 // m.Client.Dscp
1676 size += 4 // m.Client.PID
1679 func (m *DHCPClientConfig) Marshal(b []byte) ([]byte, error) {
1681 b = make([]byte, m.Size())
1683 buf := codec.NewBuffer(b)
1684 buf.EncodeBool(m.IsAdd)
1685 buf.EncodeUint32(uint32(m.Client.SwIfIndex))
1686 buf.EncodeString(m.Client.Hostname, 64)
1687 buf.EncodeBytes(m.Client.ID, 64)
1688 buf.EncodeBool(m.Client.WantDHCPEvent)
1689 buf.EncodeBool(m.Client.SetBroadcastFlag)
1690 buf.EncodeUint8(uint8(m.Client.Dscp))
1691 buf.EncodeUint32(m.Client.PID)
1692 return buf.Bytes(), nil
1694 func (m *DHCPClientConfig) Unmarshal(b []byte) error {
1695 buf := codec.NewBuffer(b)
1696 m.IsAdd = buf.DecodeBool()
1697 m.Client.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1698 m.Client.Hostname = buf.DecodeString(64)
1699 m.Client.ID = make([]byte, 64)
1700 copy(m.Client.ID, buf.DecodeBytes(len(m.Client.ID)))
1701 m.Client.WantDHCPEvent = buf.DecodeBool()
1702 m.Client.SetBroadcastFlag = buf.DecodeBool()
1703 m.Client.Dscp = IPDscp(buf.DecodeUint8())
1704 m.Client.PID = buf.DecodeUint32()
1708 // DHCPClientConfigReply defines message 'dhcp_client_config_reply'.
1709 type DHCPClientConfigReply struct {
1710 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1713 func (m *DHCPClientConfigReply) Reset() { *m = DHCPClientConfigReply{} }
1714 func (*DHCPClientConfigReply) GetMessageName() string { return "dhcp_client_config_reply" }
1715 func (*DHCPClientConfigReply) GetCrcString() string { return "e8d4e804" }
1716 func (*DHCPClientConfigReply) GetMessageType() api.MessageType {
1717 return api.ReplyMessage
1720 func (m *DHCPClientConfigReply) Size() (size int) {
1724 size += 4 // m.Retval
1727 func (m *DHCPClientConfigReply) Marshal(b []byte) ([]byte, error) {
1729 b = make([]byte, m.Size())
1731 buf := codec.NewBuffer(b)
1732 buf.EncodeInt32(m.Retval)
1733 return buf.Bytes(), nil
1735 func (m *DHCPClientConfigReply) Unmarshal(b []byte) error {
1736 buf := codec.NewBuffer(b)
1737 m.Retval = buf.DecodeInt32()
1741 // DHCPClientDetails defines message 'dhcp_client_details'.
1742 type DHCPClientDetails struct {
1743 Client DHCPClient `binapi:"dhcp_client,name=client" json:"client,omitempty"`
1744 Lease DHCPLease `binapi:"dhcp_lease,name=lease" json:"lease,omitempty"`
1747 func (m *DHCPClientDetails) Reset() { *m = DHCPClientDetails{} }
1748 func (*DHCPClientDetails) GetMessageName() string { return "dhcp_client_details" }
1749 func (*DHCPClientDetails) GetCrcString() string { return "acd82f5a" }
1750 func (*DHCPClientDetails) GetMessageType() api.MessageType {
1751 return api.ReplyMessage
1754 func (m *DHCPClientDetails) Size() (size int) {
1758 size += 4 // m.Client.SwIfIndex
1759 size += 64 // m.Client.Hostname
1760 size += 1 * 64 // m.Client.ID
1761 size += 1 // m.Client.WantDHCPEvent
1762 size += 1 // m.Client.SetBroadcastFlag
1763 size += 1 // m.Client.Dscp
1764 size += 4 // m.Client.PID
1765 size += 4 // m.Lease.SwIfIndex
1766 size += 4 // m.Lease.State
1767 size += 1 // m.Lease.IsIPv6
1768 size += 64 // m.Lease.Hostname
1769 size += 1 // m.Lease.MaskWidth
1770 size += 4 // m.Lease.HostAddress.Af
1771 size += 1 * 16 // m.Lease.HostAddress.Un
1772 size += 4 // m.Lease.RouterAddress.Af
1773 size += 1 * 16 // m.Lease.RouterAddress.Un
1774 size += 1 * 6 // m.Lease.HostMac
1775 size += 1 // m.Lease.Count
1776 for j2 := 0; j2 < len(m.Lease.DomainServer); j2++ {
1779 if j2 < len(m.Lease.DomainServer) {
1780 s2 = m.Lease.DomainServer[j2]
1782 size += 4 // s2.Address.Af
1783 size += 1 * 16 // s2.Address.Un
1787 func (m *DHCPClientDetails) Marshal(b []byte) ([]byte, error) {
1789 b = make([]byte, m.Size())
1791 buf := codec.NewBuffer(b)
1792 buf.EncodeUint32(uint32(m.Client.SwIfIndex))
1793 buf.EncodeString(m.Client.Hostname, 64)
1794 buf.EncodeBytes(m.Client.ID, 64)
1795 buf.EncodeBool(m.Client.WantDHCPEvent)
1796 buf.EncodeBool(m.Client.SetBroadcastFlag)
1797 buf.EncodeUint8(uint8(m.Client.Dscp))
1798 buf.EncodeUint32(m.Client.PID)
1799 buf.EncodeUint32(uint32(m.Lease.SwIfIndex))
1800 buf.EncodeUint32(uint32(m.Lease.State))
1801 buf.EncodeBool(m.Lease.IsIPv6)
1802 buf.EncodeString(m.Lease.Hostname, 64)
1803 buf.EncodeUint8(m.Lease.MaskWidth)
1804 buf.EncodeUint32(uint32(m.Lease.HostAddress.Af))
1805 buf.EncodeBytes(m.Lease.HostAddress.Un.XXX_UnionData[:], 16)
1806 buf.EncodeUint32(uint32(m.Lease.RouterAddress.Af))
1807 buf.EncodeBytes(m.Lease.RouterAddress.Un.XXX_UnionData[:], 16)
1808 buf.EncodeBytes(m.Lease.HostMac[:], 6)
1809 buf.EncodeUint8(uint8(len(m.Lease.DomainServer)))
1810 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1811 var v1 DomainServer // DomainServer
1812 if j1 < len(m.Lease.DomainServer) {
1813 v1 = m.Lease.DomainServer[j1]
1815 buf.EncodeUint32(uint32(v1.Address.Af))
1816 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
1818 return buf.Bytes(), nil
1820 func (m *DHCPClientDetails) Unmarshal(b []byte) error {
1821 buf := codec.NewBuffer(b)
1822 m.Client.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1823 m.Client.Hostname = buf.DecodeString(64)
1824 m.Client.ID = make([]byte, 64)
1825 copy(m.Client.ID, buf.DecodeBytes(len(m.Client.ID)))
1826 m.Client.WantDHCPEvent = buf.DecodeBool()
1827 m.Client.SetBroadcastFlag = buf.DecodeBool()
1828 m.Client.Dscp = IPDscp(buf.DecodeUint8())
1829 m.Client.PID = buf.DecodeUint32()
1830 m.Lease.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1831 m.Lease.State = DHCPClientState(buf.DecodeUint32())
1832 m.Lease.IsIPv6 = buf.DecodeBool()
1833 m.Lease.Hostname = buf.DecodeString(64)
1834 m.Lease.MaskWidth = buf.DecodeUint8()
1835 m.Lease.HostAddress.Af = AddressFamily(buf.DecodeUint32())
1836 copy(m.Lease.HostAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1837 m.Lease.RouterAddress.Af = AddressFamily(buf.DecodeUint32())
1838 copy(m.Lease.RouterAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1839 copy(m.Lease.HostMac[:], buf.DecodeBytes(6))
1840 m.Lease.Count = buf.DecodeUint8()
1841 m.Lease.DomainServer = make([]DomainServer, m.Lease.Count)
1842 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1843 m.Lease.DomainServer[j1].Address.Af = AddressFamily(buf.DecodeUint32())
1844 copy(m.Lease.DomainServer[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1849 // DHCPClientDump defines message 'dhcp_client_dump'.
1850 type DHCPClientDump struct{}
1852 func (m *DHCPClientDump) Reset() { *m = DHCPClientDump{} }
1853 func (*DHCPClientDump) GetMessageName() string { return "dhcp_client_dump" }
1854 func (*DHCPClientDump) GetCrcString() string { return "51077d14" }
1855 func (*DHCPClientDump) GetMessageType() api.MessageType {
1856 return api.RequestMessage
1859 func (m *DHCPClientDump) Size() (size int) {
1865 func (m *DHCPClientDump) Marshal(b []byte) ([]byte, error) {
1867 b = make([]byte, m.Size())
1869 buf := codec.NewBuffer(b)
1870 return buf.Bytes(), nil
1872 func (m *DHCPClientDump) Unmarshal(b []byte) error {
1876 // DHCPComplEvent defines message 'dhcp_compl_event'.
1877 type DHCPComplEvent struct {
1878 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1879 Lease DHCPLease `binapi:"dhcp_lease,name=lease" json:"lease,omitempty"`
1882 func (m *DHCPComplEvent) Reset() { *m = DHCPComplEvent{} }
1883 func (*DHCPComplEvent) GetMessageName() string { return "dhcp_compl_event" }
1884 func (*DHCPComplEvent) GetCrcString() string { return "e908fd1d" }
1885 func (*DHCPComplEvent) GetMessageType() api.MessageType {
1886 return api.EventMessage
1889 func (m *DHCPComplEvent) Size() (size int) {
1894 size += 4 // m.Lease.SwIfIndex
1895 size += 4 // m.Lease.State
1896 size += 1 // m.Lease.IsIPv6
1897 size += 64 // m.Lease.Hostname
1898 size += 1 // m.Lease.MaskWidth
1899 size += 4 // m.Lease.HostAddress.Af
1900 size += 1 * 16 // m.Lease.HostAddress.Un
1901 size += 4 // m.Lease.RouterAddress.Af
1902 size += 1 * 16 // m.Lease.RouterAddress.Un
1903 size += 1 * 6 // m.Lease.HostMac
1904 size += 1 // m.Lease.Count
1905 for j2 := 0; j2 < len(m.Lease.DomainServer); j2++ {
1908 if j2 < len(m.Lease.DomainServer) {
1909 s2 = m.Lease.DomainServer[j2]
1911 size += 4 // s2.Address.Af
1912 size += 1 * 16 // s2.Address.Un
1916 func (m *DHCPComplEvent) Marshal(b []byte) ([]byte, error) {
1918 b = make([]byte, m.Size())
1920 buf := codec.NewBuffer(b)
1921 buf.EncodeUint32(m.PID)
1922 buf.EncodeUint32(uint32(m.Lease.SwIfIndex))
1923 buf.EncodeUint32(uint32(m.Lease.State))
1924 buf.EncodeBool(m.Lease.IsIPv6)
1925 buf.EncodeString(m.Lease.Hostname, 64)
1926 buf.EncodeUint8(m.Lease.MaskWidth)
1927 buf.EncodeUint32(uint32(m.Lease.HostAddress.Af))
1928 buf.EncodeBytes(m.Lease.HostAddress.Un.XXX_UnionData[:], 16)
1929 buf.EncodeUint32(uint32(m.Lease.RouterAddress.Af))
1930 buf.EncodeBytes(m.Lease.RouterAddress.Un.XXX_UnionData[:], 16)
1931 buf.EncodeBytes(m.Lease.HostMac[:], 6)
1932 buf.EncodeUint8(uint8(len(m.Lease.DomainServer)))
1933 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1934 var v1 DomainServer // DomainServer
1935 if j1 < len(m.Lease.DomainServer) {
1936 v1 = m.Lease.DomainServer[j1]
1938 buf.EncodeUint32(uint32(v1.Address.Af))
1939 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
1941 return buf.Bytes(), nil
1943 func (m *DHCPComplEvent) Unmarshal(b []byte) error {
1944 buf := codec.NewBuffer(b)
1945 m.PID = buf.DecodeUint32()
1946 m.Lease.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1947 m.Lease.State = DHCPClientState(buf.DecodeUint32())
1948 m.Lease.IsIPv6 = buf.DecodeBool()
1949 m.Lease.Hostname = buf.DecodeString(64)
1950 m.Lease.MaskWidth = buf.DecodeUint8()
1951 m.Lease.HostAddress.Af = AddressFamily(buf.DecodeUint32())
1952 copy(m.Lease.HostAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1953 m.Lease.RouterAddress.Af = AddressFamily(buf.DecodeUint32())
1954 copy(m.Lease.RouterAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1955 copy(m.Lease.HostMac[:], buf.DecodeBytes(6))
1956 m.Lease.Count = buf.DecodeUint8()
1957 m.Lease.DomainServer = make([]DomainServer, m.Lease.Count)
1958 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1959 m.Lease.DomainServer[j1].Address.Af = AddressFamily(buf.DecodeUint32())
1960 copy(m.Lease.DomainServer[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1965 // DHCPPluginControlPing defines message 'dhcp_plugin_control_ping'.
1966 type DHCPPluginControlPing struct{}
1968 func (m *DHCPPluginControlPing) Reset() { *m = DHCPPluginControlPing{} }
1969 func (*DHCPPluginControlPing) GetMessageName() string { return "dhcp_plugin_control_ping" }
1970 func (*DHCPPluginControlPing) GetCrcString() string { return "51077d14" }
1971 func (*DHCPPluginControlPing) GetMessageType() api.MessageType {
1972 return api.RequestMessage
1975 func (m *DHCPPluginControlPing) Size() (size int) {
1981 func (m *DHCPPluginControlPing) Marshal(b []byte) ([]byte, error) {
1983 b = make([]byte, m.Size())
1985 buf := codec.NewBuffer(b)
1986 return buf.Bytes(), nil
1988 func (m *DHCPPluginControlPing) Unmarshal(b []byte) error {
1992 // DHCPPluginControlPingReply defines message 'dhcp_plugin_control_ping_reply'.
1993 type DHCPPluginControlPingReply struct {
1994 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1995 ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"`
1996 VpePID uint32 `binapi:"u32,name=vpe_pid" json:"vpe_pid,omitempty"`
1999 func (m *DHCPPluginControlPingReply) Reset() { *m = DHCPPluginControlPingReply{} }
2000 func (*DHCPPluginControlPingReply) GetMessageName() string { return "dhcp_plugin_control_ping_reply" }
2001 func (*DHCPPluginControlPingReply) GetCrcString() string { return "f6b0b8ca" }
2002 func (*DHCPPluginControlPingReply) GetMessageType() api.MessageType {
2003 return api.ReplyMessage
2006 func (m *DHCPPluginControlPingReply) Size() (size int) {
2010 size += 4 // m.Retval
2011 size += 4 // m.ClientIndex
2012 size += 4 // m.VpePID
2015 func (m *DHCPPluginControlPingReply) Marshal(b []byte) ([]byte, error) {
2017 b = make([]byte, m.Size())
2019 buf := codec.NewBuffer(b)
2020 buf.EncodeInt32(m.Retval)
2021 buf.EncodeUint32(m.ClientIndex)
2022 buf.EncodeUint32(m.VpePID)
2023 return buf.Bytes(), nil
2025 func (m *DHCPPluginControlPingReply) Unmarshal(b []byte) error {
2026 buf := codec.NewBuffer(b)
2027 m.Retval = buf.DecodeInt32()
2028 m.ClientIndex = buf.DecodeUint32()
2029 m.VpePID = buf.DecodeUint32()
2033 // DHCPPluginGetVersion defines message 'dhcp_plugin_get_version'.
2034 type DHCPPluginGetVersion struct{}
2036 func (m *DHCPPluginGetVersion) Reset() { *m = DHCPPluginGetVersion{} }
2037 func (*DHCPPluginGetVersion) GetMessageName() string { return "dhcp_plugin_get_version" }
2038 func (*DHCPPluginGetVersion) GetCrcString() string { return "51077d14" }
2039 func (*DHCPPluginGetVersion) GetMessageType() api.MessageType {
2040 return api.RequestMessage
2043 func (m *DHCPPluginGetVersion) Size() (size int) {
2049 func (m *DHCPPluginGetVersion) Marshal(b []byte) ([]byte, error) {
2051 b = make([]byte, m.Size())
2053 buf := codec.NewBuffer(b)
2054 return buf.Bytes(), nil
2056 func (m *DHCPPluginGetVersion) Unmarshal(b []byte) error {
2060 // DHCPPluginGetVersionReply defines message 'dhcp_plugin_get_version_reply'.
2061 type DHCPPluginGetVersionReply struct {
2062 Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`
2063 Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"`
2066 func (m *DHCPPluginGetVersionReply) Reset() { *m = DHCPPluginGetVersionReply{} }
2067 func (*DHCPPluginGetVersionReply) GetMessageName() string { return "dhcp_plugin_get_version_reply" }
2068 func (*DHCPPluginGetVersionReply) GetCrcString() string { return "9b32cf86" }
2069 func (*DHCPPluginGetVersionReply) GetMessageType() api.MessageType {
2070 return api.ReplyMessage
2073 func (m *DHCPPluginGetVersionReply) Size() (size int) {
2077 size += 4 // m.Major
2078 size += 4 // m.Minor
2081 func (m *DHCPPluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
2083 b = make([]byte, m.Size())
2085 buf := codec.NewBuffer(b)
2086 buf.EncodeUint32(m.Major)
2087 buf.EncodeUint32(m.Minor)
2088 return buf.Bytes(), nil
2090 func (m *DHCPPluginGetVersionReply) Unmarshal(b []byte) error {
2091 buf := codec.NewBuffer(b)
2092 m.Major = buf.DecodeUint32()
2093 m.Minor = buf.DecodeUint32()
2097 // DHCPProxyConfig defines message 'dhcp_proxy_config'.
2098 type DHCPProxyConfig struct {
2099 RxVrfID uint32 `binapi:"u32,name=rx_vrf_id" json:"rx_vrf_id,omitempty"`
2100 ServerVrfID uint32 `binapi:"u32,name=server_vrf_id" json:"server_vrf_id,omitempty"`
2101 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"`
2102 DHCPServer Address `binapi:"address,name=dhcp_server" json:"dhcp_server,omitempty"`
2103 DHCPSrcAddress Address `binapi:"address,name=dhcp_src_address" json:"dhcp_src_address,omitempty"`
2106 func (m *DHCPProxyConfig) Reset() { *m = DHCPProxyConfig{} }
2107 func (*DHCPProxyConfig) GetMessageName() string { return "dhcp_proxy_config" }
2108 func (*DHCPProxyConfig) GetCrcString() string { return "6767230e" }
2109 func (*DHCPProxyConfig) GetMessageType() api.MessageType {
2110 return api.RequestMessage
2113 func (m *DHCPProxyConfig) Size() (size int) {
2117 size += 4 // m.RxVrfID
2118 size += 4 // m.ServerVrfID
2119 size += 1 // m.IsAdd
2120 size += 4 // m.DHCPServer.Af
2121 size += 1 * 16 // m.DHCPServer.Un
2122 size += 4 // m.DHCPSrcAddress.Af
2123 size += 1 * 16 // m.DHCPSrcAddress.Un
2126 func (m *DHCPProxyConfig) Marshal(b []byte) ([]byte, error) {
2128 b = make([]byte, m.Size())
2130 buf := codec.NewBuffer(b)
2131 buf.EncodeUint32(m.RxVrfID)
2132 buf.EncodeUint32(m.ServerVrfID)
2133 buf.EncodeBool(m.IsAdd)
2134 buf.EncodeUint32(uint32(m.DHCPServer.Af))
2135 buf.EncodeBytes(m.DHCPServer.Un.XXX_UnionData[:], 16)
2136 buf.EncodeUint32(uint32(m.DHCPSrcAddress.Af))
2137 buf.EncodeBytes(m.DHCPSrcAddress.Un.XXX_UnionData[:], 16)
2138 return buf.Bytes(), nil
2140 func (m *DHCPProxyConfig) Unmarshal(b []byte) error {
2141 buf := codec.NewBuffer(b)
2142 m.RxVrfID = buf.DecodeUint32()
2143 m.ServerVrfID = buf.DecodeUint32()
2144 m.IsAdd = buf.DecodeBool()
2145 m.DHCPServer.Af = AddressFamily(buf.DecodeUint32())
2146 copy(m.DHCPServer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2147 m.DHCPSrcAddress.Af = AddressFamily(buf.DecodeUint32())
2148 copy(m.DHCPSrcAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2152 // DHCPProxyConfigReply defines message 'dhcp_proxy_config_reply'.
2153 type DHCPProxyConfigReply struct {
2154 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2157 func (m *DHCPProxyConfigReply) Reset() { *m = DHCPProxyConfigReply{} }
2158 func (*DHCPProxyConfigReply) GetMessageName() string { return "dhcp_proxy_config_reply" }
2159 func (*DHCPProxyConfigReply) GetCrcString() string { return "e8d4e804" }
2160 func (*DHCPProxyConfigReply) GetMessageType() api.MessageType {
2161 return api.ReplyMessage
2164 func (m *DHCPProxyConfigReply) Size() (size int) {
2168 size += 4 // m.Retval
2171 func (m *DHCPProxyConfigReply) Marshal(b []byte) ([]byte, error) {
2173 b = make([]byte, m.Size())
2175 buf := codec.NewBuffer(b)
2176 buf.EncodeInt32(m.Retval)
2177 return buf.Bytes(), nil
2179 func (m *DHCPProxyConfigReply) Unmarshal(b []byte) error {
2180 buf := codec.NewBuffer(b)
2181 m.Retval = buf.DecodeInt32()
2185 // DHCPProxyDetails defines message 'dhcp_proxy_details'.
2186 type DHCPProxyDetails struct {
2187 RxVrfID uint32 `binapi:"u32,name=rx_vrf_id" json:"rx_vrf_id,omitempty"`
2188 VssOui uint32 `binapi:"u32,name=vss_oui" json:"vss_oui,omitempty"`
2189 VssFibID uint32 `binapi:"u32,name=vss_fib_id" json:"vss_fib_id,omitempty"`
2190 VssType VssType `binapi:"vss_type,name=vss_type" json:"vss_type,omitempty"`
2191 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2192 VssVPNAsciiID string `binapi:"string[129],name=vss_vpn_ascii_id" json:"vss_vpn_ascii_id,omitempty"`
2193 DHCPSrcAddress Address `binapi:"address,name=dhcp_src_address" json:"dhcp_src_address,omitempty"`
2194 Count uint8 `binapi:"u8,name=count" json:"-"`
2195 Servers []DHCPServer `binapi:"dhcp_server[count],name=servers" json:"servers,omitempty"`
2198 func (m *DHCPProxyDetails) Reset() { *m = DHCPProxyDetails{} }
2199 func (*DHCPProxyDetails) GetMessageName() string { return "dhcp_proxy_details" }
2200 func (*DHCPProxyDetails) GetCrcString() string { return "ce16f044" }
2201 func (*DHCPProxyDetails) GetMessageType() api.MessageType {
2202 return api.ReplyMessage
2205 func (m *DHCPProxyDetails) Size() (size int) {
2209 size += 4 // m.RxVrfID
2210 size += 4 // m.VssOui
2211 size += 4 // m.VssFibID
2212 size += 4 // m.VssType
2213 size += 1 // m.IsIPv6
2214 size += 129 // m.VssVPNAsciiID
2215 size += 4 // m.DHCPSrcAddress.Af
2216 size += 1 * 16 // m.DHCPSrcAddress.Un
2217 size += 1 // m.Count
2218 for j1 := 0; j1 < len(m.Servers); j1++ {
2221 if j1 < len(m.Servers) {
2224 size += 4 // s1.ServerVrfID
2225 size += 4 // s1.DHCPServer.Af
2226 size += 1 * 16 // s1.DHCPServer.Un
2230 func (m *DHCPProxyDetails) Marshal(b []byte) ([]byte, error) {
2232 b = make([]byte, m.Size())
2234 buf := codec.NewBuffer(b)
2235 buf.EncodeUint32(m.RxVrfID)
2236 buf.EncodeUint32(m.VssOui)
2237 buf.EncodeUint32(m.VssFibID)
2238 buf.EncodeUint32(uint32(m.VssType))
2239 buf.EncodeBool(m.IsIPv6)
2240 buf.EncodeString(m.VssVPNAsciiID, 129)
2241 buf.EncodeUint32(uint32(m.DHCPSrcAddress.Af))
2242 buf.EncodeBytes(m.DHCPSrcAddress.Un.XXX_UnionData[:], 16)
2243 buf.EncodeUint8(uint8(len(m.Servers)))
2244 for j0 := 0; j0 < len(m.Servers); j0++ {
2245 var v0 DHCPServer // Servers
2246 if j0 < len(m.Servers) {
2249 buf.EncodeUint32(v0.ServerVrfID)
2250 buf.EncodeUint32(uint32(v0.DHCPServer.Af))
2251 buf.EncodeBytes(v0.DHCPServer.Un.XXX_UnionData[:], 16)
2253 return buf.Bytes(), nil
2255 func (m *DHCPProxyDetails) Unmarshal(b []byte) error {
2256 buf := codec.NewBuffer(b)
2257 m.RxVrfID = buf.DecodeUint32()
2258 m.VssOui = buf.DecodeUint32()
2259 m.VssFibID = buf.DecodeUint32()
2260 m.VssType = VssType(buf.DecodeUint32())
2261 m.IsIPv6 = buf.DecodeBool()
2262 m.VssVPNAsciiID = buf.DecodeString(129)
2263 m.DHCPSrcAddress.Af = AddressFamily(buf.DecodeUint32())
2264 copy(m.DHCPSrcAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2265 m.Count = buf.DecodeUint8()
2266 m.Servers = make([]DHCPServer, m.Count)
2267 for j0 := 0; j0 < len(m.Servers); j0++ {
2268 m.Servers[j0].ServerVrfID = buf.DecodeUint32()
2269 m.Servers[j0].DHCPServer.Af = AddressFamily(buf.DecodeUint32())
2270 copy(m.Servers[j0].DHCPServer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2275 // DHCPProxyDump defines message 'dhcp_proxy_dump'.
2276 type DHCPProxyDump struct {
2277 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2280 func (m *DHCPProxyDump) Reset() { *m = DHCPProxyDump{} }
2281 func (*DHCPProxyDump) GetMessageName() string { return "dhcp_proxy_dump" }
2282 func (*DHCPProxyDump) GetCrcString() string { return "5c5b063f" }
2283 func (*DHCPProxyDump) GetMessageType() api.MessageType {
2284 return api.RequestMessage
2287 func (m *DHCPProxyDump) Size() (size int) {
2291 size += 1 // m.IsIP6
2294 func (m *DHCPProxyDump) Marshal(b []byte) ([]byte, error) {
2296 b = make([]byte, m.Size())
2298 buf := codec.NewBuffer(b)
2299 buf.EncodeBool(m.IsIP6)
2300 return buf.Bytes(), nil
2302 func (m *DHCPProxyDump) Unmarshal(b []byte) error {
2303 buf := codec.NewBuffer(b)
2304 m.IsIP6 = buf.DecodeBool()
2308 // DHCPProxySetVss defines message 'dhcp_proxy_set_vss'.
2309 type DHCPProxySetVss struct {
2310 TblID uint32 `binapi:"u32,name=tbl_id" json:"tbl_id,omitempty"`
2311 VssType VssType `binapi:"vss_type,name=vss_type" json:"vss_type,omitempty"`
2312 VPNAsciiID string `binapi:"string[129],name=vpn_ascii_id" json:"vpn_ascii_id,omitempty"`
2313 Oui uint32 `binapi:"u32,name=oui" json:"oui,omitempty"`
2314 VPNIndex uint32 `binapi:"u32,name=vpn_index" json:"vpn_index,omitempty"`
2315 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2316 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"`
2319 func (m *DHCPProxySetVss) Reset() { *m = DHCPProxySetVss{} }
2320 func (*DHCPProxySetVss) GetMessageName() string { return "dhcp_proxy_set_vss" }
2321 func (*DHCPProxySetVss) GetCrcString() string { return "50537301" }
2322 func (*DHCPProxySetVss) GetMessageType() api.MessageType {
2323 return api.RequestMessage
2326 func (m *DHCPProxySetVss) Size() (size int) {
2330 size += 4 // m.TblID
2331 size += 4 // m.VssType
2332 size += 129 // m.VPNAsciiID
2334 size += 4 // m.VPNIndex
2335 size += 1 // m.IsIPv6
2336 size += 1 // m.IsAdd
2339 func (m *DHCPProxySetVss) Marshal(b []byte) ([]byte, error) {
2341 b = make([]byte, m.Size())
2343 buf := codec.NewBuffer(b)
2344 buf.EncodeUint32(m.TblID)
2345 buf.EncodeUint32(uint32(m.VssType))
2346 buf.EncodeString(m.VPNAsciiID, 129)
2347 buf.EncodeUint32(m.Oui)
2348 buf.EncodeUint32(m.VPNIndex)
2349 buf.EncodeBool(m.IsIPv6)
2350 buf.EncodeBool(m.IsAdd)
2351 return buf.Bytes(), nil
2353 func (m *DHCPProxySetVss) Unmarshal(b []byte) error {
2354 buf := codec.NewBuffer(b)
2355 m.TblID = buf.DecodeUint32()
2356 m.VssType = VssType(buf.DecodeUint32())
2357 m.VPNAsciiID = buf.DecodeString(129)
2358 m.Oui = buf.DecodeUint32()
2359 m.VPNIndex = buf.DecodeUint32()
2360 m.IsIPv6 = buf.DecodeBool()
2361 m.IsAdd = buf.DecodeBool()
2365 // DHCPProxySetVssReply defines message 'dhcp_proxy_set_vss_reply'.
2366 type DHCPProxySetVssReply struct {
2367 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2370 func (m *DHCPProxySetVssReply) Reset() { *m = DHCPProxySetVssReply{} }
2371 func (*DHCPProxySetVssReply) GetMessageName() string { return "dhcp_proxy_set_vss_reply" }
2372 func (*DHCPProxySetVssReply) GetCrcString() string { return "e8d4e804" }
2373 func (*DHCPProxySetVssReply) GetMessageType() api.MessageType {
2374 return api.ReplyMessage
2377 func (m *DHCPProxySetVssReply) Size() (size int) {
2381 size += 4 // m.Retval
2384 func (m *DHCPProxySetVssReply) Marshal(b []byte) ([]byte, error) {
2386 b = make([]byte, m.Size())
2388 buf := codec.NewBuffer(b)
2389 buf.EncodeInt32(m.Retval)
2390 return buf.Bytes(), nil
2392 func (m *DHCPProxySetVssReply) Unmarshal(b []byte) error {
2393 buf := codec.NewBuffer(b)
2394 m.Retval = buf.DecodeInt32()
2398 // WantDHCP6PdReplyEvents defines message 'want_dhcp6_pd_reply_events'.
2399 type WantDHCP6PdReplyEvents struct {
2400 EnableDisable bool `binapi:"bool,name=enable_disable" json:"enable_disable,omitempty"`
2401 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
2404 func (m *WantDHCP6PdReplyEvents) Reset() { *m = WantDHCP6PdReplyEvents{} }
2405 func (*WantDHCP6PdReplyEvents) GetMessageName() string { return "want_dhcp6_pd_reply_events" }
2406 func (*WantDHCP6PdReplyEvents) GetCrcString() string { return "c5e2af94" }
2407 func (*WantDHCP6PdReplyEvents) GetMessageType() api.MessageType {
2408 return api.RequestMessage
2411 func (m *WantDHCP6PdReplyEvents) Size() (size int) {
2415 size += 1 // m.EnableDisable
2419 func (m *WantDHCP6PdReplyEvents) Marshal(b []byte) ([]byte, error) {
2421 b = make([]byte, m.Size())
2423 buf := codec.NewBuffer(b)
2424 buf.EncodeBool(m.EnableDisable)
2425 buf.EncodeUint32(m.PID)
2426 return buf.Bytes(), nil
2428 func (m *WantDHCP6PdReplyEvents) Unmarshal(b []byte) error {
2429 buf := codec.NewBuffer(b)
2430 m.EnableDisable = buf.DecodeBool()
2431 m.PID = buf.DecodeUint32()
2435 // WantDHCP6PdReplyEventsReply defines message 'want_dhcp6_pd_reply_events_reply'.
2436 type WantDHCP6PdReplyEventsReply struct {
2437 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2440 func (m *WantDHCP6PdReplyEventsReply) Reset() { *m = WantDHCP6PdReplyEventsReply{} }
2441 func (*WantDHCP6PdReplyEventsReply) GetMessageName() string {
2442 return "want_dhcp6_pd_reply_events_reply"
2444 func (*WantDHCP6PdReplyEventsReply) GetCrcString() string { return "e8d4e804" }
2445 func (*WantDHCP6PdReplyEventsReply) GetMessageType() api.MessageType {
2446 return api.ReplyMessage
2449 func (m *WantDHCP6PdReplyEventsReply) Size() (size int) {
2453 size += 4 // m.Retval
2456 func (m *WantDHCP6PdReplyEventsReply) Marshal(b []byte) ([]byte, error) {
2458 b = make([]byte, m.Size())
2460 buf := codec.NewBuffer(b)
2461 buf.EncodeInt32(m.Retval)
2462 return buf.Bytes(), nil
2464 func (m *WantDHCP6PdReplyEventsReply) Unmarshal(b []byte) error {
2465 buf := codec.NewBuffer(b)
2466 m.Retval = buf.DecodeInt32()
2470 // WantDHCP6ReplyEvents defines message 'want_dhcp6_reply_events'.
2471 type WantDHCP6ReplyEvents struct {
2472 EnableDisable uint8 `binapi:"u8,name=enable_disable" json:"enable_disable,omitempty"`
2473 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
2476 func (m *WantDHCP6ReplyEvents) Reset() { *m = WantDHCP6ReplyEvents{} }
2477 func (*WantDHCP6ReplyEvents) GetMessageName() string { return "want_dhcp6_reply_events" }
2478 func (*WantDHCP6ReplyEvents) GetCrcString() string { return "05b454b5" }
2479 func (*WantDHCP6ReplyEvents) GetMessageType() api.MessageType {
2480 return api.RequestMessage
2483 func (m *WantDHCP6ReplyEvents) Size() (size int) {
2487 size += 1 // m.EnableDisable
2491 func (m *WantDHCP6ReplyEvents) Marshal(b []byte) ([]byte, error) {
2493 b = make([]byte, m.Size())
2495 buf := codec.NewBuffer(b)
2496 buf.EncodeUint8(m.EnableDisable)
2497 buf.EncodeUint32(m.PID)
2498 return buf.Bytes(), nil
2500 func (m *WantDHCP6ReplyEvents) Unmarshal(b []byte) error {
2501 buf := codec.NewBuffer(b)
2502 m.EnableDisable = buf.DecodeUint8()
2503 m.PID = buf.DecodeUint32()
2507 // WantDHCP6ReplyEventsReply defines message 'want_dhcp6_reply_events_reply'.
2508 type WantDHCP6ReplyEventsReply struct {
2509 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2512 func (m *WantDHCP6ReplyEventsReply) Reset() { *m = WantDHCP6ReplyEventsReply{} }
2513 func (*WantDHCP6ReplyEventsReply) GetMessageName() string { return "want_dhcp6_reply_events_reply" }
2514 func (*WantDHCP6ReplyEventsReply) GetCrcString() string { return "e8d4e804" }
2515 func (*WantDHCP6ReplyEventsReply) GetMessageType() api.MessageType {
2516 return api.ReplyMessage
2519 func (m *WantDHCP6ReplyEventsReply) Size() (size int) {
2523 size += 4 // m.Retval
2526 func (m *WantDHCP6ReplyEventsReply) Marshal(b []byte) ([]byte, error) {
2528 b = make([]byte, m.Size())
2530 buf := codec.NewBuffer(b)
2531 buf.EncodeInt32(m.Retval)
2532 return buf.Bytes(), nil
2534 func (m *WantDHCP6ReplyEventsReply) Unmarshal(b []byte) error {
2535 buf := codec.NewBuffer(b)
2536 m.Retval = buf.DecodeInt32()
2540 func init() { file_dhcp_binapi_init() }
2541 func file_dhcp_binapi_init() {
2542 api.RegisterMessage((*DHCP6ClientsEnableDisable)(nil), "dhcp6_clients_enable_disable_b3e225d2")
2543 api.RegisterMessage((*DHCP6ClientsEnableDisableReply)(nil), "dhcp6_clients_enable_disable_reply_e8d4e804")
2544 api.RegisterMessage((*DHCP6DuidLlSet)(nil), "dhcp6_duid_ll_set_0f6ca323")
2545 api.RegisterMessage((*DHCP6DuidLlSetReply)(nil), "dhcp6_duid_ll_set_reply_e8d4e804")
2546 api.RegisterMessage((*DHCP6PdReplyEvent)(nil), "dhcp6_pd_reply_event_cb3e462b")
2547 api.RegisterMessage((*DHCP6PdSendClientMessage)(nil), "dhcp6_pd_send_client_message_064badb8")
2548 api.RegisterMessage((*DHCP6PdSendClientMessageReply)(nil), "dhcp6_pd_send_client_message_reply_e8d4e804")
2549 api.RegisterMessage((*DHCP6ReplyEvent)(nil), "dhcp6_reply_event_9f3af9e5")
2550 api.RegisterMessage((*DHCP6SendClientMessage)(nil), "dhcp6_send_client_message_f6f14ef0")
2551 api.RegisterMessage((*DHCP6SendClientMessageReply)(nil), "dhcp6_send_client_message_reply_e8d4e804")
2552 api.RegisterMessage((*DHCPClientConfig)(nil), "dhcp_client_config_959b80a3")
2553 api.RegisterMessage((*DHCPClientConfigReply)(nil), "dhcp_client_config_reply_e8d4e804")
2554 api.RegisterMessage((*DHCPClientDetails)(nil), "dhcp_client_details_acd82f5a")
2555 api.RegisterMessage((*DHCPClientDump)(nil), "dhcp_client_dump_51077d14")
2556 api.RegisterMessage((*DHCPComplEvent)(nil), "dhcp_compl_event_e908fd1d")
2557 api.RegisterMessage((*DHCPPluginControlPing)(nil), "dhcp_plugin_control_ping_51077d14")
2558 api.RegisterMessage((*DHCPPluginControlPingReply)(nil), "dhcp_plugin_control_ping_reply_f6b0b8ca")
2559 api.RegisterMessage((*DHCPPluginGetVersion)(nil), "dhcp_plugin_get_version_51077d14")
2560 api.RegisterMessage((*DHCPPluginGetVersionReply)(nil), "dhcp_plugin_get_version_reply_9b32cf86")
2561 api.RegisterMessage((*DHCPProxyConfig)(nil), "dhcp_proxy_config_6767230e")
2562 api.RegisterMessage((*DHCPProxyConfigReply)(nil), "dhcp_proxy_config_reply_e8d4e804")
2563 api.RegisterMessage((*DHCPProxyDetails)(nil), "dhcp_proxy_details_ce16f044")
2564 api.RegisterMessage((*DHCPProxyDump)(nil), "dhcp_proxy_dump_5c5b063f")
2565 api.RegisterMessage((*DHCPProxySetVss)(nil), "dhcp_proxy_set_vss_50537301")
2566 api.RegisterMessage((*DHCPProxySetVssReply)(nil), "dhcp_proxy_set_vss_reply_e8d4e804")
2567 api.RegisterMessage((*WantDHCP6PdReplyEvents)(nil), "want_dhcp6_pd_reply_events_c5e2af94")
2568 api.RegisterMessage((*WantDHCP6PdReplyEventsReply)(nil), "want_dhcp6_pd_reply_events_reply_e8d4e804")
2569 api.RegisterMessage((*WantDHCP6ReplyEvents)(nil), "want_dhcp6_reply_events_05b454b5")
2570 api.RegisterMessage((*WantDHCP6ReplyEventsReply)(nil), "want_dhcp6_reply_events_reply_e8d4e804")
2573 // Messages returns list of all messages in this module.
2574 func AllMessages() []api.Message {
2575 return []api.Message{
2576 (*DHCP6ClientsEnableDisable)(nil),
2577 (*DHCP6ClientsEnableDisableReply)(nil),
2578 (*DHCP6DuidLlSet)(nil),
2579 (*DHCP6DuidLlSetReply)(nil),
2580 (*DHCP6PdReplyEvent)(nil),
2581 (*DHCP6PdSendClientMessage)(nil),
2582 (*DHCP6PdSendClientMessageReply)(nil),
2583 (*DHCP6ReplyEvent)(nil),
2584 (*DHCP6SendClientMessage)(nil),
2585 (*DHCP6SendClientMessageReply)(nil),
2586 (*DHCPClientConfig)(nil),
2587 (*DHCPClientConfigReply)(nil),
2588 (*DHCPClientDetails)(nil),
2589 (*DHCPClientDump)(nil),
2590 (*DHCPComplEvent)(nil),
2591 (*DHCPPluginControlPing)(nil),
2592 (*DHCPPluginControlPingReply)(nil),
2593 (*DHCPPluginGetVersion)(nil),
2594 (*DHCPPluginGetVersionReply)(nil),
2595 (*DHCPProxyConfig)(nil),
2596 (*DHCPProxyConfigReply)(nil),
2597 (*DHCPProxyDetails)(nil),
2598 (*DHCPProxyDump)(nil),
2599 (*DHCPProxySetVss)(nil),
2600 (*DHCPProxySetVssReply)(nil),
2601 (*WantDHCP6PdReplyEvents)(nil),
2602 (*WantDHCP6PdReplyEventsReply)(nil),
2603 (*WantDHCP6ReplyEvents)(nil),
2604 (*WantDHCP6ReplyEventsReply)(nil),