1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.5.0-dev
5 // source: .vppapi/plugins/dhcp.api.json
7 // Package dhcp contains generated bindings for API file dhcp.api.
24 api "git.fd.io/govpp.git/api"
25 codec "git.fd.io/govpp.git/codec"
28 // This is a compile-time assertion to ensure that this generated file
29 // is compatible with the GoVPP api package it is being compiled against.
30 // A compilation error at this line likely means your copy of the
31 // GoVPP api package needs to be updated.
32 const _ = api.GoVppAPIPackageIsVersion2
37 VersionCrc = 0x96a5f046
40 // AddressFamily defines enum 'address_family'.
41 type AddressFamily uint32
44 ADDRESS_IP4 AddressFamily = 0
45 ADDRESS_IP6 AddressFamily = 1
49 AddressFamily_name = map[uint32]string{
53 AddressFamily_value = map[string]uint32{
59 func (x AddressFamily) String() string {
60 s, ok := AddressFamily_name[uint32(x)]
64 return "AddressFamily(" + strconv.Itoa(int(x)) + ")"
67 // DHCPClientState defines enum 'dhcp_client_state'.
68 type DHCPClientState uint32
71 DHCP_CLIENT_STATE_API_DISCOVER DHCPClientState = 1
72 DHCP_CLIENT_STATE_API_REQUEST DHCPClientState = 2
73 DHCP_CLIENT_STATE_API_BOUND DHCPClientState = 3
77 DHCPClientState_name = map[uint32]string{
78 1: "DHCP_CLIENT_STATE_API_DISCOVER",
79 2: "DHCP_CLIENT_STATE_API_REQUEST",
80 3: "DHCP_CLIENT_STATE_API_BOUND",
82 DHCPClientState_value = map[string]uint32{
83 "DHCP_CLIENT_STATE_API_DISCOVER": 1,
84 "DHCP_CLIENT_STATE_API_REQUEST": 2,
85 "DHCP_CLIENT_STATE_API_BOUND": 3,
89 func (x DHCPClientState) String() string {
90 s, ok := DHCPClientState_name[uint32(x)]
94 return "DHCPClientState(" + strconv.Itoa(int(x)) + ")"
97 // Dhcpv6MsgType defines enum 'dhcpv6_msg_type'.
98 type Dhcpv6MsgType uint32
101 DHCPV6_MSG_API_SOLICIT Dhcpv6MsgType = 1
102 DHCPV6_MSG_API_ADVERTISE Dhcpv6MsgType = 2
103 DHCPV6_MSG_API_REQUEST Dhcpv6MsgType = 3
104 DHCPV6_MSG_API_CONFIRM Dhcpv6MsgType = 4
105 DHCPV6_MSG_API_RENEW Dhcpv6MsgType = 5
106 DHCPV6_MSG_API_REBIND Dhcpv6MsgType = 6
107 DHCPV6_MSG_API_REPLY Dhcpv6MsgType = 7
108 DHCPV6_MSG_API_RELEASE Dhcpv6MsgType = 8
109 DHCPV6_MSG_API_DECLINE Dhcpv6MsgType = 9
110 DHCPV6_MSG_API_RECONFIGURE Dhcpv6MsgType = 10
111 DHCPV6_MSG_API_INFORMATION_REQUEST Dhcpv6MsgType = 11
112 DHCPV6_MSG_API_RELAY_FORW Dhcpv6MsgType = 12
113 DHCPV6_MSG_API_RELAY_REPL Dhcpv6MsgType = 13
117 Dhcpv6MsgType_name = map[uint32]string{
118 1: "DHCPV6_MSG_API_SOLICIT",
119 2: "DHCPV6_MSG_API_ADVERTISE",
120 3: "DHCPV6_MSG_API_REQUEST",
121 4: "DHCPV6_MSG_API_CONFIRM",
122 5: "DHCPV6_MSG_API_RENEW",
123 6: "DHCPV6_MSG_API_REBIND",
124 7: "DHCPV6_MSG_API_REPLY",
125 8: "DHCPV6_MSG_API_RELEASE",
126 9: "DHCPV6_MSG_API_DECLINE",
127 10: "DHCPV6_MSG_API_RECONFIGURE",
128 11: "DHCPV6_MSG_API_INFORMATION_REQUEST",
129 12: "DHCPV6_MSG_API_RELAY_FORW",
130 13: "DHCPV6_MSG_API_RELAY_REPL",
132 Dhcpv6MsgType_value = map[string]uint32{
133 "DHCPV6_MSG_API_SOLICIT": 1,
134 "DHCPV6_MSG_API_ADVERTISE": 2,
135 "DHCPV6_MSG_API_REQUEST": 3,
136 "DHCPV6_MSG_API_CONFIRM": 4,
137 "DHCPV6_MSG_API_RENEW": 5,
138 "DHCPV6_MSG_API_REBIND": 6,
139 "DHCPV6_MSG_API_REPLY": 7,
140 "DHCPV6_MSG_API_RELEASE": 8,
141 "DHCPV6_MSG_API_DECLINE": 9,
142 "DHCPV6_MSG_API_RECONFIGURE": 10,
143 "DHCPV6_MSG_API_INFORMATION_REQUEST": 11,
144 "DHCPV6_MSG_API_RELAY_FORW": 12,
145 "DHCPV6_MSG_API_RELAY_REPL": 13,
149 func (x Dhcpv6MsgType) String() string {
150 s, ok := Dhcpv6MsgType_name[uint32(x)]
154 return "Dhcpv6MsgType(" + strconv.Itoa(int(x)) + ")"
157 // IfStatusFlags defines enum 'if_status_flags'.
158 type IfStatusFlags uint32
161 IF_STATUS_API_FLAG_ADMIN_UP IfStatusFlags = 1
162 IF_STATUS_API_FLAG_LINK_UP IfStatusFlags = 2
166 IfStatusFlags_name = map[uint32]string{
167 1: "IF_STATUS_API_FLAG_ADMIN_UP",
168 2: "IF_STATUS_API_FLAG_LINK_UP",
170 IfStatusFlags_value = map[string]uint32{
171 "IF_STATUS_API_FLAG_ADMIN_UP": 1,
172 "IF_STATUS_API_FLAG_LINK_UP": 2,
176 func (x IfStatusFlags) String() string {
177 s, ok := IfStatusFlags_name[uint32(x)]
181 str := func(n uint32) string {
182 s, ok := IfStatusFlags_name[uint32(n)]
186 return "IfStatusFlags(" + strconv.Itoa(int(n)) + ")"
188 for i := uint32(0); i <= 32; i++ {
198 return str(uint32(x))
203 // IfType defines enum 'if_type'.
207 IF_API_TYPE_HARDWARE IfType = 1
208 IF_API_TYPE_SUB IfType = 2
209 IF_API_TYPE_P2P IfType = 3
210 IF_API_TYPE_PIPE IfType = 4
214 IfType_name = map[uint32]string{
215 1: "IF_API_TYPE_HARDWARE",
216 2: "IF_API_TYPE_SUB",
217 3: "IF_API_TYPE_P2P",
218 4: "IF_API_TYPE_PIPE",
220 IfType_value = map[string]uint32{
221 "IF_API_TYPE_HARDWARE": 1,
222 "IF_API_TYPE_SUB": 2,
223 "IF_API_TYPE_P2P": 3,
224 "IF_API_TYPE_PIPE": 4,
228 func (x IfType) String() string {
229 s, ok := IfType_name[uint32(x)]
233 return "IfType(" + strconv.Itoa(int(x)) + ")"
236 // IPDscp defines enum 'ip_dscp'.
240 IP_API_DSCP_CS0 IPDscp = 0
241 IP_API_DSCP_CS1 IPDscp = 8
242 IP_API_DSCP_AF11 IPDscp = 10
243 IP_API_DSCP_AF12 IPDscp = 12
244 IP_API_DSCP_AF13 IPDscp = 14
245 IP_API_DSCP_CS2 IPDscp = 16
246 IP_API_DSCP_AF21 IPDscp = 18
247 IP_API_DSCP_AF22 IPDscp = 20
248 IP_API_DSCP_AF23 IPDscp = 22
249 IP_API_DSCP_CS3 IPDscp = 24
250 IP_API_DSCP_AF31 IPDscp = 26
251 IP_API_DSCP_AF32 IPDscp = 28
252 IP_API_DSCP_AF33 IPDscp = 30
253 IP_API_DSCP_CS4 IPDscp = 32
254 IP_API_DSCP_AF41 IPDscp = 34
255 IP_API_DSCP_AF42 IPDscp = 36
256 IP_API_DSCP_AF43 IPDscp = 38
257 IP_API_DSCP_CS5 IPDscp = 40
258 IP_API_DSCP_EF IPDscp = 46
259 IP_API_DSCP_CS6 IPDscp = 48
260 IP_API_DSCP_CS7 IPDscp = 50
264 IPDscp_name = map[uint8]string{
265 0: "IP_API_DSCP_CS0",
266 8: "IP_API_DSCP_CS1",
267 10: "IP_API_DSCP_AF11",
268 12: "IP_API_DSCP_AF12",
269 14: "IP_API_DSCP_AF13",
270 16: "IP_API_DSCP_CS2",
271 18: "IP_API_DSCP_AF21",
272 20: "IP_API_DSCP_AF22",
273 22: "IP_API_DSCP_AF23",
274 24: "IP_API_DSCP_CS3",
275 26: "IP_API_DSCP_AF31",
276 28: "IP_API_DSCP_AF32",
277 30: "IP_API_DSCP_AF33",
278 32: "IP_API_DSCP_CS4",
279 34: "IP_API_DSCP_AF41",
280 36: "IP_API_DSCP_AF42",
281 38: "IP_API_DSCP_AF43",
282 40: "IP_API_DSCP_CS5",
283 46: "IP_API_DSCP_EF",
284 48: "IP_API_DSCP_CS6",
285 50: "IP_API_DSCP_CS7",
287 IPDscp_value = map[string]uint8{
288 "IP_API_DSCP_CS0": 0,
289 "IP_API_DSCP_CS1": 8,
290 "IP_API_DSCP_AF11": 10,
291 "IP_API_DSCP_AF12": 12,
292 "IP_API_DSCP_AF13": 14,
293 "IP_API_DSCP_CS2": 16,
294 "IP_API_DSCP_AF21": 18,
295 "IP_API_DSCP_AF22": 20,
296 "IP_API_DSCP_AF23": 22,
297 "IP_API_DSCP_CS3": 24,
298 "IP_API_DSCP_AF31": 26,
299 "IP_API_DSCP_AF32": 28,
300 "IP_API_DSCP_AF33": 30,
301 "IP_API_DSCP_CS4": 32,
302 "IP_API_DSCP_AF41": 34,
303 "IP_API_DSCP_AF42": 36,
304 "IP_API_DSCP_AF43": 38,
305 "IP_API_DSCP_CS5": 40,
306 "IP_API_DSCP_EF": 46,
307 "IP_API_DSCP_CS6": 48,
308 "IP_API_DSCP_CS7": 50,
312 func (x IPDscp) String() string {
313 s, ok := IPDscp_name[uint8(x)]
317 return "IPDscp(" + strconv.Itoa(int(x)) + ")"
320 // IPEcn defines enum 'ip_ecn'.
324 IP_API_ECN_NONE IPEcn = 0
325 IP_API_ECN_ECT0 IPEcn = 1
326 IP_API_ECN_ECT1 IPEcn = 2
327 IP_API_ECN_CE IPEcn = 3
331 IPEcn_name = map[uint8]string{
332 0: "IP_API_ECN_NONE",
333 1: "IP_API_ECN_ECT0",
334 2: "IP_API_ECN_ECT1",
337 IPEcn_value = map[string]uint8{
338 "IP_API_ECN_NONE": 0,
339 "IP_API_ECN_ECT0": 1,
340 "IP_API_ECN_ECT1": 2,
345 func (x IPEcn) String() string {
346 s, ok := IPEcn_name[uint8(x)]
350 return "IPEcn(" + strconv.Itoa(int(x)) + ")"
353 // IPProto defines enum 'ip_proto'.
357 IP_API_PROTO_HOPOPT IPProto = 0
358 IP_API_PROTO_ICMP IPProto = 1
359 IP_API_PROTO_IGMP IPProto = 2
360 IP_API_PROTO_TCP IPProto = 6
361 IP_API_PROTO_UDP IPProto = 17
362 IP_API_PROTO_GRE IPProto = 47
363 IP_API_PROTO_AH IPProto = 50
364 IP_API_PROTO_ESP IPProto = 51
365 IP_API_PROTO_EIGRP IPProto = 88
366 IP_API_PROTO_OSPF IPProto = 89
367 IP_API_PROTO_SCTP IPProto = 132
368 IP_API_PROTO_RESERVED IPProto = 255
372 IPProto_name = map[uint32]string{
373 0: "IP_API_PROTO_HOPOPT",
374 1: "IP_API_PROTO_ICMP",
375 2: "IP_API_PROTO_IGMP",
376 6: "IP_API_PROTO_TCP",
377 17: "IP_API_PROTO_UDP",
378 47: "IP_API_PROTO_GRE",
379 50: "IP_API_PROTO_AH",
380 51: "IP_API_PROTO_ESP",
381 88: "IP_API_PROTO_EIGRP",
382 89: "IP_API_PROTO_OSPF",
383 132: "IP_API_PROTO_SCTP",
384 255: "IP_API_PROTO_RESERVED",
386 IPProto_value = map[string]uint32{
387 "IP_API_PROTO_HOPOPT": 0,
388 "IP_API_PROTO_ICMP": 1,
389 "IP_API_PROTO_IGMP": 2,
390 "IP_API_PROTO_TCP": 6,
391 "IP_API_PROTO_UDP": 17,
392 "IP_API_PROTO_GRE": 47,
393 "IP_API_PROTO_AH": 50,
394 "IP_API_PROTO_ESP": 51,
395 "IP_API_PROTO_EIGRP": 88,
396 "IP_API_PROTO_OSPF": 89,
397 "IP_API_PROTO_SCTP": 132,
398 "IP_API_PROTO_RESERVED": 255,
402 func (x IPProto) String() string {
403 s, ok := IPProto_name[uint32(x)]
407 return "IPProto(" + strconv.Itoa(int(x)) + ")"
410 // LinkDuplex defines enum 'link_duplex'.
411 type LinkDuplex uint32
414 LINK_DUPLEX_API_UNKNOWN LinkDuplex = 0
415 LINK_DUPLEX_API_HALF LinkDuplex = 1
416 LINK_DUPLEX_API_FULL LinkDuplex = 2
420 LinkDuplex_name = map[uint32]string{
421 0: "LINK_DUPLEX_API_UNKNOWN",
422 1: "LINK_DUPLEX_API_HALF",
423 2: "LINK_DUPLEX_API_FULL",
425 LinkDuplex_value = map[string]uint32{
426 "LINK_DUPLEX_API_UNKNOWN": 0,
427 "LINK_DUPLEX_API_HALF": 1,
428 "LINK_DUPLEX_API_FULL": 2,
432 func (x LinkDuplex) String() string {
433 s, ok := LinkDuplex_name[uint32(x)]
437 return "LinkDuplex(" + strconv.Itoa(int(x)) + ")"
440 // MtuProto defines enum 'mtu_proto'.
444 MTU_PROTO_API_L3 MtuProto = 1
445 MTU_PROTO_API_IP4 MtuProto = 2
446 MTU_PROTO_API_IP6 MtuProto = 3
447 MTU_PROTO_API_MPLS MtuProto = 4
448 MTU_PROTO_API_N MtuProto = 5
452 MtuProto_name = map[uint32]string{
453 1: "MTU_PROTO_API_L3",
454 2: "MTU_PROTO_API_IP4",
455 3: "MTU_PROTO_API_IP6",
456 4: "MTU_PROTO_API_MPLS",
457 5: "MTU_PROTO_API_N",
459 MtuProto_value = map[string]uint32{
460 "MTU_PROTO_API_L3": 1,
461 "MTU_PROTO_API_IP4": 2,
462 "MTU_PROTO_API_IP6": 3,
463 "MTU_PROTO_API_MPLS": 4,
464 "MTU_PROTO_API_N": 5,
468 func (x MtuProto) String() string {
469 s, ok := MtuProto_name[uint32(x)]
473 return "MtuProto(" + strconv.Itoa(int(x)) + ")"
476 // RxMode defines enum 'rx_mode'.
480 RX_MODE_API_UNKNOWN RxMode = 0
481 RX_MODE_API_POLLING RxMode = 1
482 RX_MODE_API_INTERRUPT RxMode = 2
483 RX_MODE_API_ADAPTIVE RxMode = 3
484 RX_MODE_API_DEFAULT RxMode = 4
488 RxMode_name = map[uint32]string{
489 0: "RX_MODE_API_UNKNOWN",
490 1: "RX_MODE_API_POLLING",
491 2: "RX_MODE_API_INTERRUPT",
492 3: "RX_MODE_API_ADAPTIVE",
493 4: "RX_MODE_API_DEFAULT",
495 RxMode_value = map[string]uint32{
496 "RX_MODE_API_UNKNOWN": 0,
497 "RX_MODE_API_POLLING": 1,
498 "RX_MODE_API_INTERRUPT": 2,
499 "RX_MODE_API_ADAPTIVE": 3,
500 "RX_MODE_API_DEFAULT": 4,
504 func (x RxMode) String() string {
505 s, ok := RxMode_name[uint32(x)]
509 return "RxMode(" + strconv.Itoa(int(x)) + ")"
512 // SubIfFlags defines enum 'sub_if_flags'.
513 type SubIfFlags uint32
516 SUB_IF_API_FLAG_NO_TAGS SubIfFlags = 1
517 SUB_IF_API_FLAG_ONE_TAG SubIfFlags = 2
518 SUB_IF_API_FLAG_TWO_TAGS SubIfFlags = 4
519 SUB_IF_API_FLAG_DOT1AD SubIfFlags = 8
520 SUB_IF_API_FLAG_EXACT_MATCH SubIfFlags = 16
521 SUB_IF_API_FLAG_DEFAULT SubIfFlags = 32
522 SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY SubIfFlags = 64
523 SUB_IF_API_FLAG_INNER_VLAN_ID_ANY SubIfFlags = 128
524 SUB_IF_API_FLAG_MASK_VNET SubIfFlags = 254
525 SUB_IF_API_FLAG_DOT1AH SubIfFlags = 256
529 SubIfFlags_name = map[uint32]string{
530 1: "SUB_IF_API_FLAG_NO_TAGS",
531 2: "SUB_IF_API_FLAG_ONE_TAG",
532 4: "SUB_IF_API_FLAG_TWO_TAGS",
533 8: "SUB_IF_API_FLAG_DOT1AD",
534 16: "SUB_IF_API_FLAG_EXACT_MATCH",
535 32: "SUB_IF_API_FLAG_DEFAULT",
536 64: "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
537 128: "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
538 254: "SUB_IF_API_FLAG_MASK_VNET",
539 256: "SUB_IF_API_FLAG_DOT1AH",
541 SubIfFlags_value = map[string]uint32{
542 "SUB_IF_API_FLAG_NO_TAGS": 1,
543 "SUB_IF_API_FLAG_ONE_TAG": 2,
544 "SUB_IF_API_FLAG_TWO_TAGS": 4,
545 "SUB_IF_API_FLAG_DOT1AD": 8,
546 "SUB_IF_API_FLAG_EXACT_MATCH": 16,
547 "SUB_IF_API_FLAG_DEFAULT": 32,
548 "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY": 64,
549 "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY": 128,
550 "SUB_IF_API_FLAG_MASK_VNET": 254,
551 "SUB_IF_API_FLAG_DOT1AH": 256,
555 func (x SubIfFlags) String() string {
556 s, ok := SubIfFlags_name[uint32(x)]
560 str := func(n uint32) string {
561 s, ok := SubIfFlags_name[uint32(n)]
565 return "SubIfFlags(" + strconv.Itoa(int(n)) + ")"
567 for i := uint32(0); i <= 32; i++ {
577 return str(uint32(x))
582 // VssType defines enum 'vss_type'.
586 VSS_TYPE_API_ASCII VssType = 0
587 VSS_TYPE_API_VPN_ID VssType = 1
588 VSS_TYPE_API_INVALID VssType = 123
589 VSS_TYPE_API_DEFAULT VssType = 255
593 VssType_name = map[uint32]string{
594 0: "VSS_TYPE_API_ASCII",
595 1: "VSS_TYPE_API_VPN_ID",
596 123: "VSS_TYPE_API_INVALID",
597 255: "VSS_TYPE_API_DEFAULT",
599 VssType_value = map[string]uint32{
600 "VSS_TYPE_API_ASCII": 0,
601 "VSS_TYPE_API_VPN_ID": 1,
602 "VSS_TYPE_API_INVALID": 123,
603 "VSS_TYPE_API_DEFAULT": 255,
607 func (x VssType) String() string {
608 s, ok := VssType_name[uint32(x)]
612 return "VssType(" + strconv.Itoa(int(x)) + ")"
615 // AddressWithPrefix defines alias 'address_with_prefix'.
616 type AddressWithPrefix Prefix
618 func ParseAddressWithPrefix(s string) (AddressWithPrefix, error) {
619 prefix, err := ParsePrefix(s)
621 return AddressWithPrefix{}, err
623 return AddressWithPrefix(prefix), nil
626 func (x AddressWithPrefix) String() string {
627 return Prefix(x).String()
630 func (x *AddressWithPrefix) MarshalText() ([]byte, error) {
631 return []byte(x.String()), nil
634 func (x *AddressWithPrefix) UnmarshalText(text []byte) error {
635 prefix, err := ParseAddressWithPrefix(string(text))
643 // InterfaceIndex defines alias 'interface_index'.
644 type InterfaceIndex uint32
646 // IP4Address defines alias 'ip4_address'.
647 type IP4Address [4]uint8
649 func ParseIP4Address(s string) (IP4Address, error) {
650 ip := net.ParseIP(s).To4()
652 return IP4Address{}, fmt.Errorf("invalid IP address: %s", s)
654 var ipaddr IP4Address
655 copy(ipaddr[:], ip.To4())
659 func (x IP4Address) ToIP() net.IP {
660 return net.IP(x[:]).To4()
663 func (x IP4Address) String() string {
664 return x.ToIP().String()
667 func (x *IP4Address) MarshalText() ([]byte, error) {
668 return []byte(x.String()), nil
671 func (x *IP4Address) UnmarshalText(text []byte) error {
672 ipaddr, err := ParseIP4Address(string(text))
680 // IP4AddressWithPrefix defines alias 'ip4_address_with_prefix'.
681 type IP4AddressWithPrefix IP4Prefix
683 // IP6Address defines alias 'ip6_address'.
684 type IP6Address [16]uint8
686 func ParseIP6Address(s string) (IP6Address, error) {
687 ip := net.ParseIP(s).To16()
689 return IP6Address{}, fmt.Errorf("invalid IP address: %s", s)
691 var ipaddr IP6Address
692 copy(ipaddr[:], ip.To16())
696 func (x IP6Address) ToIP() net.IP {
697 return net.IP(x[:]).To16()
700 func (x IP6Address) String() string {
701 return x.ToIP().String()
704 func (x *IP6Address) MarshalText() ([]byte, error) {
705 return []byte(x.String()), nil
708 func (x *IP6Address) UnmarshalText(text []byte) error {
709 ipaddr, err := ParseIP6Address(string(text))
717 // IP6AddressWithPrefix defines alias 'ip6_address_with_prefix'.
718 type IP6AddressWithPrefix IP6Prefix
720 // MacAddress defines alias 'mac_address'.
721 type MacAddress [6]uint8
723 func ParseMacAddress(s string) (MacAddress, error) {
724 var macaddr MacAddress
725 mac, err := net.ParseMAC(s)
729 copy(macaddr[:], mac[:])
733 func (x MacAddress) ToMAC() net.HardwareAddr {
734 return net.HardwareAddr(x[:])
737 func (x MacAddress) String() string {
738 return x.ToMAC().String()
741 func (x *MacAddress) MarshalText() ([]byte, error) {
742 return []byte(x.String()), nil
745 func (x *MacAddress) UnmarshalText(text []byte) error {
746 mac, err := ParseMacAddress(string(text))
754 // Address defines type 'address'.
755 type Address struct {
756 Af AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
757 Un AddressUnion `binapi:"address_union,name=un" json:"un,omitempty"`
760 func ParseAddress(s string) (Address, error) {
763 return Address{}, fmt.Errorf("invalid address: %s", s)
765 return AddressFromIP(ip), nil
768 func AddressFromIP(ip net.IP) Address {
771 addr.Af = ADDRESS_IP6
773 copy(ip6[:], ip.To16())
776 addr.Af = ADDRESS_IP4
778 copy(ip4[:], ip.To4())
784 func (x Address) ToIP() net.IP {
785 if x.Af == ADDRESS_IP6 {
787 return net.IP(ip6[:]).To16()
790 return net.IP(ip4[:]).To4()
794 func (x Address) String() string {
795 return x.ToIP().String()
798 func (x *Address) MarshalText() ([]byte, error) {
799 return []byte(x.String()), nil
802 func (x *Address) UnmarshalText(text []byte) error {
803 addr, err := ParseAddress(string(text))
811 // DHCP6AddressInfo defines type 'dhcp6_address_info'.
812 type DHCP6AddressInfo struct {
813 Address IP6Address `binapi:"ip6_address,name=address" json:"address,omitempty"`
814 ValidTime uint32 `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
815 PreferredTime uint32 `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
818 // DHCP6PdPrefixInfo defines type 'dhcp6_pd_prefix_info'.
819 type DHCP6PdPrefixInfo struct {
820 Prefix IP6Prefix `binapi:"ip6_prefix,name=prefix" json:"prefix,omitempty"`
821 ValidTime uint32 `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
822 PreferredTime uint32 `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
825 // DHCPClient defines type 'dhcp_client'.
826 type DHCPClient struct {
827 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
828 Hostname string `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
829 ID []byte `binapi:"u8[64],name=id" json:"id,omitempty"`
830 WantDHCPEvent bool `binapi:"bool,name=want_dhcp_event" json:"want_dhcp_event,omitempty"`
831 SetBroadcastFlag bool `binapi:"bool,name=set_broadcast_flag" json:"set_broadcast_flag,omitempty"`
832 Dscp IPDscp `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
833 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
836 // DHCPLease defines type 'dhcp_lease'.
837 type DHCPLease struct {
838 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
839 State DHCPClientState `binapi:"dhcp_client_state,name=state" json:"state,omitempty"`
840 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
841 Hostname string `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
842 MaskWidth uint8 `binapi:"u8,name=mask_width" json:"mask_width,omitempty"`
843 HostAddress Address `binapi:"address,name=host_address" json:"host_address,omitempty"`
844 RouterAddress Address `binapi:"address,name=router_address" json:"router_address,omitempty"`
845 HostMac MacAddress `binapi:"mac_address,name=host_mac" json:"host_mac,omitempty"`
846 Count uint8 `binapi:"u8,name=count" json:"-"`
847 DomainServer []DomainServer `binapi:"domain_server[count],name=domain_server" json:"domain_server,omitempty"`
850 // DHCPServer defines type 'dhcp_server'.
851 type DHCPServer struct {
852 ServerVrfID uint32 `binapi:"u32,name=server_vrf_id" json:"server_vrf_id,omitempty"`
853 DHCPServer Address `binapi:"address,name=dhcp_server" json:"dhcp_server,omitempty"`
856 // DomainServer defines type 'domain_server'.
857 type DomainServer struct {
858 Address Address `binapi:"address,name=address" json:"address,omitempty"`
861 // IP4Prefix defines type 'ip4_prefix'.
862 type IP4Prefix struct {
863 Address IP4Address `binapi:"ip4_address,name=address" json:"address,omitempty"`
864 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
867 func ParseIP4Prefix(s string) (prefix IP4Prefix, err error) {
868 hasPrefix := strings.Contains(s, "/")
870 ip, network, err := net.ParseCIDR(s)
872 return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
874 maskSize, _ := network.Mask.Size()
875 prefix.Len = byte(maskSize)
876 prefix.Address, err = ParseIP4Address(ip.String())
878 return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
882 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
884 defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
886 prefix.Len = byte(defaultMaskSize)
887 prefix.Address, err = ParseIP4Address(ip.String())
889 return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
895 func (x IP4Prefix) ToIPNet() *net.IPNet {
896 mask := net.CIDRMask(int(x.Len), 32)
897 ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
901 func (x IP4Prefix) String() string {
902 ip := x.Address.String()
903 return ip + "/" + strconv.Itoa(int(x.Len))
906 func (x *IP4Prefix) MarshalText() ([]byte, error) {
907 return []byte(x.String()), nil
910 func (x *IP4Prefix) UnmarshalText(text []byte) error {
911 prefix, err := ParseIP4Prefix(string(text))
919 // IP6Prefix defines type 'ip6_prefix'.
920 type IP6Prefix struct {
921 Address IP6Address `binapi:"ip6_address,name=address" json:"address,omitempty"`
922 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
925 func ParseIP6Prefix(s string) (prefix IP6Prefix, err error) {
926 hasPrefix := strings.Contains(s, "/")
928 ip, network, err := net.ParseCIDR(s)
930 return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
932 maskSize, _ := network.Mask.Size()
933 prefix.Len = byte(maskSize)
934 prefix.Address, err = ParseIP6Address(ip.String())
936 return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
940 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
942 defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
944 prefix.Len = byte(defaultMaskSize)
945 prefix.Address, err = ParseIP6Address(ip.String())
947 return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
953 func (x IP6Prefix) ToIPNet() *net.IPNet {
954 mask := net.CIDRMask(int(x.Len), 128)
955 ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
959 func (x IP6Prefix) String() string {
960 ip := x.Address.String()
961 return ip + "/" + strconv.Itoa(int(x.Len))
964 func (x *IP6Prefix) MarshalText() ([]byte, error) {
965 return []byte(x.String()), nil
968 func (x *IP6Prefix) UnmarshalText(text []byte) error {
969 prefix, err := ParseIP6Prefix(string(text))
977 // Mprefix defines type 'mprefix'.
978 type Mprefix struct {
979 Af AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
980 GrpAddressLength uint16 `binapi:"u16,name=grp_address_length" json:"grp_address_length,omitempty"`
981 GrpAddress AddressUnion `binapi:"address_union,name=grp_address" json:"grp_address,omitempty"`
982 SrcAddress AddressUnion `binapi:"address_union,name=src_address" json:"src_address,omitempty"`
985 // Prefix defines type 'prefix'.
987 Address Address `binapi:"address,name=address" json:"address,omitempty"`
988 Len uint8 `binapi:"u8,name=len" json:"len,omitempty"`
991 func ParsePrefix(ip string) (prefix Prefix, err error) {
992 hasPrefix := strings.Contains(ip, "/")
994 netIP, network, err := net.ParseCIDR(ip)
996 return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
998 maskSize, _ := network.Mask.Size()
999 prefix.Len = byte(maskSize)
1000 prefix.Address, err = ParseAddress(netIP.String())
1002 return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
1005 netIP := net.ParseIP(ip)
1006 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
1007 if netIP.To4() == nil {
1008 defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
1010 prefix.Len = byte(defaultMaskSize)
1011 prefix.Address, err = ParseAddress(netIP.String())
1013 return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
1019 func (x Prefix) ToIPNet() *net.IPNet {
1021 if x.Address.Af == ADDRESS_IP4 {
1022 mask = net.CIDRMask(int(x.Len), 32)
1024 mask = net.CIDRMask(int(x.Len), 128)
1026 ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
1030 func (x Prefix) String() string {
1031 ip := x.Address.String()
1032 return ip + "/" + strconv.Itoa(int(x.Len))
1035 func (x *Prefix) MarshalText() ([]byte, error) {
1036 return []byte(x.String()), nil
1039 func (x *Prefix) UnmarshalText(text []byte) error {
1040 prefix, err := ParsePrefix(string(text))
1048 // PrefixMatcher defines type 'prefix_matcher'.
1049 type PrefixMatcher struct {
1050 Le uint8 `binapi:"u8,name=le" json:"le,omitempty"`
1051 Ge uint8 `binapi:"u8,name=ge" json:"ge,omitempty"`
1054 // AddressUnion defines union 'address_union'.
1055 type AddressUnion struct {
1056 // AddressUnion can be one of:
1057 // - IP4 *IP4Address
1058 // - IP6 *IP6Address
1059 XXX_UnionData [16]byte
1062 func AddressUnionIP4(a IP4Address) (u AddressUnion) {
1066 func (u *AddressUnion) SetIP4(a IP4Address) {
1067 buf := codec.NewBuffer(u.XXX_UnionData[:])
1068 buf.EncodeBytes(a[:], 4)
1070 func (u *AddressUnion) GetIP4() (a IP4Address) {
1071 buf := codec.NewBuffer(u.XXX_UnionData[:])
1072 copy(a[:], buf.DecodeBytes(4))
1076 func AddressUnionIP6(a IP6Address) (u AddressUnion) {
1080 func (u *AddressUnion) SetIP6(a IP6Address) {
1081 buf := codec.NewBuffer(u.XXX_UnionData[:])
1082 buf.EncodeBytes(a[:], 16)
1084 func (u *AddressUnion) GetIP6() (a IP6Address) {
1085 buf := codec.NewBuffer(u.XXX_UnionData[:])
1086 copy(a[:], buf.DecodeBytes(16))
1090 // DHCP6ClientsEnableDisable defines message 'dhcp6_clients_enable_disable'.
1091 type DHCP6ClientsEnableDisable struct {
1092 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
1095 func (m *DHCP6ClientsEnableDisable) Reset() { *m = DHCP6ClientsEnableDisable{} }
1096 func (*DHCP6ClientsEnableDisable) GetMessageName() string { return "dhcp6_clients_enable_disable" }
1097 func (*DHCP6ClientsEnableDisable) GetCrcString() string { return "b3e225d2" }
1098 func (*DHCP6ClientsEnableDisable) GetMessageType() api.MessageType {
1099 return api.RequestMessage
1102 func (m *DHCP6ClientsEnableDisable) Size() (size int) {
1106 size += 1 // m.Enable
1109 func (m *DHCP6ClientsEnableDisable) Marshal(b []byte) ([]byte, error) {
1111 b = make([]byte, m.Size())
1113 buf := codec.NewBuffer(b)
1114 buf.EncodeBool(m.Enable)
1115 return buf.Bytes(), nil
1117 func (m *DHCP6ClientsEnableDisable) Unmarshal(b []byte) error {
1118 buf := codec.NewBuffer(b)
1119 m.Enable = buf.DecodeBool()
1123 // DHCP6ClientsEnableDisableReply defines message 'dhcp6_clients_enable_disable_reply'.
1124 type DHCP6ClientsEnableDisableReply struct {
1125 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1128 func (m *DHCP6ClientsEnableDisableReply) Reset() { *m = DHCP6ClientsEnableDisableReply{} }
1129 func (*DHCP6ClientsEnableDisableReply) GetMessageName() string {
1130 return "dhcp6_clients_enable_disable_reply"
1132 func (*DHCP6ClientsEnableDisableReply) GetCrcString() string { return "e8d4e804" }
1133 func (*DHCP6ClientsEnableDisableReply) GetMessageType() api.MessageType {
1134 return api.ReplyMessage
1137 func (m *DHCP6ClientsEnableDisableReply) Size() (size int) {
1141 size += 4 // m.Retval
1144 func (m *DHCP6ClientsEnableDisableReply) Marshal(b []byte) ([]byte, error) {
1146 b = make([]byte, m.Size())
1148 buf := codec.NewBuffer(b)
1149 buf.EncodeInt32(m.Retval)
1150 return buf.Bytes(), nil
1152 func (m *DHCP6ClientsEnableDisableReply) Unmarshal(b []byte) error {
1153 buf := codec.NewBuffer(b)
1154 m.Retval = buf.DecodeInt32()
1158 // DHCP6DuidLlSet defines message 'dhcp6_duid_ll_set'.
1159 type DHCP6DuidLlSet struct {
1160 DuidLl []byte `binapi:"u8[10],name=duid_ll" json:"duid_ll,omitempty"`
1163 func (m *DHCP6DuidLlSet) Reset() { *m = DHCP6DuidLlSet{} }
1164 func (*DHCP6DuidLlSet) GetMessageName() string { return "dhcp6_duid_ll_set" }
1165 func (*DHCP6DuidLlSet) GetCrcString() string { return "0f6ca323" }
1166 func (*DHCP6DuidLlSet) GetMessageType() api.MessageType {
1167 return api.RequestMessage
1170 func (m *DHCP6DuidLlSet) Size() (size int) {
1174 size += 1 * 10 // m.DuidLl
1177 func (m *DHCP6DuidLlSet) Marshal(b []byte) ([]byte, error) {
1179 b = make([]byte, m.Size())
1181 buf := codec.NewBuffer(b)
1182 buf.EncodeBytes(m.DuidLl, 10)
1183 return buf.Bytes(), nil
1185 func (m *DHCP6DuidLlSet) Unmarshal(b []byte) error {
1186 buf := codec.NewBuffer(b)
1187 m.DuidLl = make([]byte, 10)
1188 copy(m.DuidLl, buf.DecodeBytes(len(m.DuidLl)))
1192 // DHCP6DuidLlSetReply defines message 'dhcp6_duid_ll_set_reply'.
1193 type DHCP6DuidLlSetReply struct {
1194 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1197 func (m *DHCP6DuidLlSetReply) Reset() { *m = DHCP6DuidLlSetReply{} }
1198 func (*DHCP6DuidLlSetReply) GetMessageName() string { return "dhcp6_duid_ll_set_reply" }
1199 func (*DHCP6DuidLlSetReply) GetCrcString() string { return "e8d4e804" }
1200 func (*DHCP6DuidLlSetReply) GetMessageType() api.MessageType {
1201 return api.ReplyMessage
1204 func (m *DHCP6DuidLlSetReply) Size() (size int) {
1208 size += 4 // m.Retval
1211 func (m *DHCP6DuidLlSetReply) Marshal(b []byte) ([]byte, error) {
1213 b = make([]byte, m.Size())
1215 buf := codec.NewBuffer(b)
1216 buf.EncodeInt32(m.Retval)
1217 return buf.Bytes(), nil
1219 func (m *DHCP6DuidLlSetReply) Unmarshal(b []byte) error {
1220 buf := codec.NewBuffer(b)
1221 m.Retval = buf.DecodeInt32()
1225 // DHCP6PdReplyEvent defines message 'dhcp6_pd_reply_event'.
1226 type DHCP6PdReplyEvent struct {
1227 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1228 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1229 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1230 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1231 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1232 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1233 InnerStatusCode uint16 `binapi:"u16,name=inner_status_code" json:"inner_status_code,omitempty"`
1234 StatusCode uint16 `binapi:"u16,name=status_code" json:"status_code,omitempty"`
1235 Preference uint8 `binapi:"u8,name=preference" json:"preference,omitempty"`
1236 NPrefixes uint32 `binapi:"u32,name=n_prefixes" json:"-"`
1237 Prefixes []DHCP6PdPrefixInfo `binapi:"dhcp6_pd_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
1240 func (m *DHCP6PdReplyEvent) Reset() { *m = DHCP6PdReplyEvent{} }
1241 func (*DHCP6PdReplyEvent) GetMessageName() string { return "dhcp6_pd_reply_event" }
1242 func (*DHCP6PdReplyEvent) GetCrcString() string { return "cb3e462b" }
1243 func (*DHCP6PdReplyEvent) GetMessageType() api.MessageType {
1244 return api.EventMessage
1247 func (m *DHCP6PdReplyEvent) Size() (size int) {
1252 size += 4 // m.SwIfIndex
1253 size += 4 // m.ServerIndex
1254 size += 4 // m.MsgType
1257 size += 2 // m.InnerStatusCode
1258 size += 2 // m.StatusCode
1259 size += 1 // m.Preference
1260 size += 4 // m.NPrefixes
1261 for j1 := 0; j1 < len(m.Prefixes); j1++ {
1262 var s1 DHCP6PdPrefixInfo
1264 if j1 < len(m.Prefixes) {
1267 size += 1 * 16 // s1.Prefix.Address
1268 size += 1 // s1.Prefix.Len
1269 size += 4 // s1.ValidTime
1270 size += 4 // s1.PreferredTime
1274 func (m *DHCP6PdReplyEvent) Marshal(b []byte) ([]byte, error) {
1276 b = make([]byte, m.Size())
1278 buf := codec.NewBuffer(b)
1279 buf.EncodeUint32(m.PID)
1280 buf.EncodeUint32(uint32(m.SwIfIndex))
1281 buf.EncodeUint32(m.ServerIndex)
1282 buf.EncodeUint32(uint32(m.MsgType))
1283 buf.EncodeUint32(m.T1)
1284 buf.EncodeUint32(m.T2)
1285 buf.EncodeUint16(m.InnerStatusCode)
1286 buf.EncodeUint16(m.StatusCode)
1287 buf.EncodeUint8(m.Preference)
1288 buf.EncodeUint32(uint32(len(m.Prefixes)))
1289 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1290 var v0 DHCP6PdPrefixInfo // Prefixes
1291 if j0 < len(m.Prefixes) {
1294 buf.EncodeBytes(v0.Prefix.Address[:], 16)
1295 buf.EncodeUint8(v0.Prefix.Len)
1296 buf.EncodeUint32(v0.ValidTime)
1297 buf.EncodeUint32(v0.PreferredTime)
1299 return buf.Bytes(), nil
1301 func (m *DHCP6PdReplyEvent) Unmarshal(b []byte) error {
1302 buf := codec.NewBuffer(b)
1303 m.PID = buf.DecodeUint32()
1304 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1305 m.ServerIndex = buf.DecodeUint32()
1306 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1307 m.T1 = buf.DecodeUint32()
1308 m.T2 = buf.DecodeUint32()
1309 m.InnerStatusCode = buf.DecodeUint16()
1310 m.StatusCode = buf.DecodeUint16()
1311 m.Preference = buf.DecodeUint8()
1312 m.NPrefixes = buf.DecodeUint32()
1313 m.Prefixes = make([]DHCP6PdPrefixInfo, m.NPrefixes)
1314 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1315 copy(m.Prefixes[j0].Prefix.Address[:], buf.DecodeBytes(16))
1316 m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
1317 m.Prefixes[j0].ValidTime = buf.DecodeUint32()
1318 m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
1323 // DHCP6PdSendClientMessage defines message 'dhcp6_pd_send_client_message'.
1324 type DHCP6PdSendClientMessage struct {
1325 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1326 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1327 Irt uint32 `binapi:"u32,name=irt" json:"irt,omitempty"`
1328 Mrt uint32 `binapi:"u32,name=mrt" json:"mrt,omitempty"`
1329 Mrc uint32 `binapi:"u32,name=mrc" json:"mrc,omitempty"`
1330 Mrd uint32 `binapi:"u32,name=mrd" json:"mrd,omitempty"`
1331 Stop bool `binapi:"bool,name=stop" json:"stop,omitempty"`
1332 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1333 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1334 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1335 NPrefixes uint32 `binapi:"u32,name=n_prefixes" json:"-"`
1336 Prefixes []DHCP6PdPrefixInfo `binapi:"dhcp6_pd_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
1339 func (m *DHCP6PdSendClientMessage) Reset() { *m = DHCP6PdSendClientMessage{} }
1340 func (*DHCP6PdSendClientMessage) GetMessageName() string { return "dhcp6_pd_send_client_message" }
1341 func (*DHCP6PdSendClientMessage) GetCrcString() string { return "064badb8" }
1342 func (*DHCP6PdSendClientMessage) GetMessageType() api.MessageType {
1343 return api.RequestMessage
1346 func (m *DHCP6PdSendClientMessage) Size() (size int) {
1350 size += 4 // m.SwIfIndex
1351 size += 4 // m.ServerIndex
1357 size += 4 // m.MsgType
1360 size += 4 // m.NPrefixes
1361 for j1 := 0; j1 < len(m.Prefixes); j1++ {
1362 var s1 DHCP6PdPrefixInfo
1364 if j1 < len(m.Prefixes) {
1367 size += 1 * 16 // s1.Prefix.Address
1368 size += 1 // s1.Prefix.Len
1369 size += 4 // s1.ValidTime
1370 size += 4 // s1.PreferredTime
1374 func (m *DHCP6PdSendClientMessage) Marshal(b []byte) ([]byte, error) {
1376 b = make([]byte, m.Size())
1378 buf := codec.NewBuffer(b)
1379 buf.EncodeUint32(uint32(m.SwIfIndex))
1380 buf.EncodeUint32(m.ServerIndex)
1381 buf.EncodeUint32(m.Irt)
1382 buf.EncodeUint32(m.Mrt)
1383 buf.EncodeUint32(m.Mrc)
1384 buf.EncodeUint32(m.Mrd)
1385 buf.EncodeBool(m.Stop)
1386 buf.EncodeUint32(uint32(m.MsgType))
1387 buf.EncodeUint32(m.T1)
1388 buf.EncodeUint32(m.T2)
1389 buf.EncodeUint32(uint32(len(m.Prefixes)))
1390 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1391 var v0 DHCP6PdPrefixInfo // Prefixes
1392 if j0 < len(m.Prefixes) {
1395 buf.EncodeBytes(v0.Prefix.Address[:], 16)
1396 buf.EncodeUint8(v0.Prefix.Len)
1397 buf.EncodeUint32(v0.ValidTime)
1398 buf.EncodeUint32(v0.PreferredTime)
1400 return buf.Bytes(), nil
1402 func (m *DHCP6PdSendClientMessage) Unmarshal(b []byte) error {
1403 buf := codec.NewBuffer(b)
1404 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1405 m.ServerIndex = buf.DecodeUint32()
1406 m.Irt = buf.DecodeUint32()
1407 m.Mrt = buf.DecodeUint32()
1408 m.Mrc = buf.DecodeUint32()
1409 m.Mrd = buf.DecodeUint32()
1410 m.Stop = buf.DecodeBool()
1411 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1412 m.T1 = buf.DecodeUint32()
1413 m.T2 = buf.DecodeUint32()
1414 m.NPrefixes = buf.DecodeUint32()
1415 m.Prefixes = make([]DHCP6PdPrefixInfo, m.NPrefixes)
1416 for j0 := 0; j0 < len(m.Prefixes); j0++ {
1417 copy(m.Prefixes[j0].Prefix.Address[:], buf.DecodeBytes(16))
1418 m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
1419 m.Prefixes[j0].ValidTime = buf.DecodeUint32()
1420 m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
1425 // DHCP6PdSendClientMessageReply defines message 'dhcp6_pd_send_client_message_reply'.
1426 type DHCP6PdSendClientMessageReply struct {
1427 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1430 func (m *DHCP6PdSendClientMessageReply) Reset() { *m = DHCP6PdSendClientMessageReply{} }
1431 func (*DHCP6PdSendClientMessageReply) GetMessageName() string {
1432 return "dhcp6_pd_send_client_message_reply"
1434 func (*DHCP6PdSendClientMessageReply) GetCrcString() string { return "e8d4e804" }
1435 func (*DHCP6PdSendClientMessageReply) GetMessageType() api.MessageType {
1436 return api.ReplyMessage
1439 func (m *DHCP6PdSendClientMessageReply) Size() (size int) {
1443 size += 4 // m.Retval
1446 func (m *DHCP6PdSendClientMessageReply) Marshal(b []byte) ([]byte, error) {
1448 b = make([]byte, m.Size())
1450 buf := codec.NewBuffer(b)
1451 buf.EncodeInt32(m.Retval)
1452 return buf.Bytes(), nil
1454 func (m *DHCP6PdSendClientMessageReply) Unmarshal(b []byte) error {
1455 buf := codec.NewBuffer(b)
1456 m.Retval = buf.DecodeInt32()
1460 // DHCP6ReplyEvent defines message 'dhcp6_reply_event'.
1461 type DHCP6ReplyEvent struct {
1462 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1463 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1464 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1465 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1466 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1467 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1468 InnerStatusCode uint16 `binapi:"u16,name=inner_status_code" json:"inner_status_code,omitempty"`
1469 StatusCode uint16 `binapi:"u16,name=status_code" json:"status_code,omitempty"`
1470 Preference uint8 `binapi:"u8,name=preference" json:"preference,omitempty"`
1471 NAddresses uint32 `binapi:"u32,name=n_addresses" json:"-"`
1472 Addresses []DHCP6AddressInfo `binapi:"dhcp6_address_info[n_addresses],name=addresses" json:"addresses,omitempty"`
1475 func (m *DHCP6ReplyEvent) Reset() { *m = DHCP6ReplyEvent{} }
1476 func (*DHCP6ReplyEvent) GetMessageName() string { return "dhcp6_reply_event" }
1477 func (*DHCP6ReplyEvent) GetCrcString() string { return "9f3af9e5" }
1478 func (*DHCP6ReplyEvent) GetMessageType() api.MessageType {
1479 return api.EventMessage
1482 func (m *DHCP6ReplyEvent) Size() (size int) {
1487 size += 4 // m.SwIfIndex
1488 size += 4 // m.ServerIndex
1489 size += 4 // m.MsgType
1492 size += 2 // m.InnerStatusCode
1493 size += 2 // m.StatusCode
1494 size += 1 // m.Preference
1495 size += 4 // m.NAddresses
1496 for j1 := 0; j1 < len(m.Addresses); j1++ {
1497 var s1 DHCP6AddressInfo
1499 if j1 < len(m.Addresses) {
1500 s1 = m.Addresses[j1]
1502 size += 1 * 16 // s1.Address
1503 size += 4 // s1.ValidTime
1504 size += 4 // s1.PreferredTime
1508 func (m *DHCP6ReplyEvent) Marshal(b []byte) ([]byte, error) {
1510 b = make([]byte, m.Size())
1512 buf := codec.NewBuffer(b)
1513 buf.EncodeUint32(m.PID)
1514 buf.EncodeUint32(uint32(m.SwIfIndex))
1515 buf.EncodeUint32(m.ServerIndex)
1516 buf.EncodeUint32(uint32(m.MsgType))
1517 buf.EncodeUint32(m.T1)
1518 buf.EncodeUint32(m.T2)
1519 buf.EncodeUint16(m.InnerStatusCode)
1520 buf.EncodeUint16(m.StatusCode)
1521 buf.EncodeUint8(m.Preference)
1522 buf.EncodeUint32(uint32(len(m.Addresses)))
1523 for j0 := 0; j0 < len(m.Addresses); j0++ {
1524 var v0 DHCP6AddressInfo // Addresses
1525 if j0 < len(m.Addresses) {
1526 v0 = m.Addresses[j0]
1528 buf.EncodeBytes(v0.Address[:], 16)
1529 buf.EncodeUint32(v0.ValidTime)
1530 buf.EncodeUint32(v0.PreferredTime)
1532 return buf.Bytes(), nil
1534 func (m *DHCP6ReplyEvent) Unmarshal(b []byte) error {
1535 buf := codec.NewBuffer(b)
1536 m.PID = buf.DecodeUint32()
1537 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1538 m.ServerIndex = buf.DecodeUint32()
1539 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1540 m.T1 = buf.DecodeUint32()
1541 m.T2 = buf.DecodeUint32()
1542 m.InnerStatusCode = buf.DecodeUint16()
1543 m.StatusCode = buf.DecodeUint16()
1544 m.Preference = buf.DecodeUint8()
1545 m.NAddresses = buf.DecodeUint32()
1546 m.Addresses = make([]DHCP6AddressInfo, m.NAddresses)
1547 for j0 := 0; j0 < len(m.Addresses); j0++ {
1548 copy(m.Addresses[j0].Address[:], buf.DecodeBytes(16))
1549 m.Addresses[j0].ValidTime = buf.DecodeUint32()
1550 m.Addresses[j0].PreferredTime = buf.DecodeUint32()
1555 // DHCP6SendClientMessage defines message 'dhcp6_send_client_message'.
1556 type DHCP6SendClientMessage struct {
1557 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
1558 ServerIndex uint32 `binapi:"u32,name=server_index" json:"server_index,omitempty"`
1559 Irt uint32 `binapi:"u32,name=irt" json:"irt,omitempty"`
1560 Mrt uint32 `binapi:"u32,name=mrt" json:"mrt,omitempty"`
1561 Mrc uint32 `binapi:"u32,name=mrc" json:"mrc,omitempty"`
1562 Mrd uint32 `binapi:"u32,name=mrd" json:"mrd,omitempty"`
1563 Stop bool `binapi:"bool,name=stop" json:"stop,omitempty"`
1564 MsgType Dhcpv6MsgType `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
1565 T1 uint32 `binapi:"u32,name=T1" json:"T1,omitempty"`
1566 T2 uint32 `binapi:"u32,name=T2" json:"T2,omitempty"`
1567 NAddresses uint32 `binapi:"u32,name=n_addresses" json:"-"`
1568 Addresses []DHCP6AddressInfo `binapi:"dhcp6_address_info[n_addresses],name=addresses" json:"addresses,omitempty"`
1571 func (m *DHCP6SendClientMessage) Reset() { *m = DHCP6SendClientMessage{} }
1572 func (*DHCP6SendClientMessage) GetMessageName() string { return "dhcp6_send_client_message" }
1573 func (*DHCP6SendClientMessage) GetCrcString() string { return "f6f14ef0" }
1574 func (*DHCP6SendClientMessage) GetMessageType() api.MessageType {
1575 return api.RequestMessage
1578 func (m *DHCP6SendClientMessage) Size() (size int) {
1582 size += 4 // m.SwIfIndex
1583 size += 4 // m.ServerIndex
1589 size += 4 // m.MsgType
1592 size += 4 // m.NAddresses
1593 for j1 := 0; j1 < len(m.Addresses); j1++ {
1594 var s1 DHCP6AddressInfo
1596 if j1 < len(m.Addresses) {
1597 s1 = m.Addresses[j1]
1599 size += 1 * 16 // s1.Address
1600 size += 4 // s1.ValidTime
1601 size += 4 // s1.PreferredTime
1605 func (m *DHCP6SendClientMessage) Marshal(b []byte) ([]byte, error) {
1607 b = make([]byte, m.Size())
1609 buf := codec.NewBuffer(b)
1610 buf.EncodeUint32(uint32(m.SwIfIndex))
1611 buf.EncodeUint32(m.ServerIndex)
1612 buf.EncodeUint32(m.Irt)
1613 buf.EncodeUint32(m.Mrt)
1614 buf.EncodeUint32(m.Mrc)
1615 buf.EncodeUint32(m.Mrd)
1616 buf.EncodeBool(m.Stop)
1617 buf.EncodeUint32(uint32(m.MsgType))
1618 buf.EncodeUint32(m.T1)
1619 buf.EncodeUint32(m.T2)
1620 buf.EncodeUint32(uint32(len(m.Addresses)))
1621 for j0 := 0; j0 < len(m.Addresses); j0++ {
1622 var v0 DHCP6AddressInfo // Addresses
1623 if j0 < len(m.Addresses) {
1624 v0 = m.Addresses[j0]
1626 buf.EncodeBytes(v0.Address[:], 16)
1627 buf.EncodeUint32(v0.ValidTime)
1628 buf.EncodeUint32(v0.PreferredTime)
1630 return buf.Bytes(), nil
1632 func (m *DHCP6SendClientMessage) Unmarshal(b []byte) error {
1633 buf := codec.NewBuffer(b)
1634 m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1635 m.ServerIndex = buf.DecodeUint32()
1636 m.Irt = buf.DecodeUint32()
1637 m.Mrt = buf.DecodeUint32()
1638 m.Mrc = buf.DecodeUint32()
1639 m.Mrd = buf.DecodeUint32()
1640 m.Stop = buf.DecodeBool()
1641 m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
1642 m.T1 = buf.DecodeUint32()
1643 m.T2 = buf.DecodeUint32()
1644 m.NAddresses = buf.DecodeUint32()
1645 m.Addresses = make([]DHCP6AddressInfo, m.NAddresses)
1646 for j0 := 0; j0 < len(m.Addresses); j0++ {
1647 copy(m.Addresses[j0].Address[:], buf.DecodeBytes(16))
1648 m.Addresses[j0].ValidTime = buf.DecodeUint32()
1649 m.Addresses[j0].PreferredTime = buf.DecodeUint32()
1654 // DHCP6SendClientMessageReply defines message 'dhcp6_send_client_message_reply'.
1655 type DHCP6SendClientMessageReply struct {
1656 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1659 func (m *DHCP6SendClientMessageReply) Reset() { *m = DHCP6SendClientMessageReply{} }
1660 func (*DHCP6SendClientMessageReply) GetMessageName() string { return "dhcp6_send_client_message_reply" }
1661 func (*DHCP6SendClientMessageReply) GetCrcString() string { return "e8d4e804" }
1662 func (*DHCP6SendClientMessageReply) GetMessageType() api.MessageType {
1663 return api.ReplyMessage
1666 func (m *DHCP6SendClientMessageReply) Size() (size int) {
1670 size += 4 // m.Retval
1673 func (m *DHCP6SendClientMessageReply) Marshal(b []byte) ([]byte, error) {
1675 b = make([]byte, m.Size())
1677 buf := codec.NewBuffer(b)
1678 buf.EncodeInt32(m.Retval)
1679 return buf.Bytes(), nil
1681 func (m *DHCP6SendClientMessageReply) Unmarshal(b []byte) error {
1682 buf := codec.NewBuffer(b)
1683 m.Retval = buf.DecodeInt32()
1687 // DHCPClientConfig defines message 'dhcp_client_config'.
1688 type DHCPClientConfig struct {
1689 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"`
1690 Client DHCPClient `binapi:"dhcp_client,name=client" json:"client,omitempty"`
1693 func (m *DHCPClientConfig) Reset() { *m = DHCPClientConfig{} }
1694 func (*DHCPClientConfig) GetMessageName() string { return "dhcp_client_config" }
1695 func (*DHCPClientConfig) GetCrcString() string { return "959b80a3" }
1696 func (*DHCPClientConfig) GetMessageType() api.MessageType {
1697 return api.RequestMessage
1700 func (m *DHCPClientConfig) Size() (size int) {
1704 size += 1 // m.IsAdd
1705 size += 4 // m.Client.SwIfIndex
1706 size += 64 // m.Client.Hostname
1707 size += 1 * 64 // m.Client.ID
1708 size += 1 // m.Client.WantDHCPEvent
1709 size += 1 // m.Client.SetBroadcastFlag
1710 size += 1 // m.Client.Dscp
1711 size += 4 // m.Client.PID
1714 func (m *DHCPClientConfig) Marshal(b []byte) ([]byte, error) {
1716 b = make([]byte, m.Size())
1718 buf := codec.NewBuffer(b)
1719 buf.EncodeBool(m.IsAdd)
1720 buf.EncodeUint32(uint32(m.Client.SwIfIndex))
1721 buf.EncodeString(m.Client.Hostname, 64)
1722 buf.EncodeBytes(m.Client.ID, 64)
1723 buf.EncodeBool(m.Client.WantDHCPEvent)
1724 buf.EncodeBool(m.Client.SetBroadcastFlag)
1725 buf.EncodeUint8(uint8(m.Client.Dscp))
1726 buf.EncodeUint32(m.Client.PID)
1727 return buf.Bytes(), nil
1729 func (m *DHCPClientConfig) Unmarshal(b []byte) error {
1730 buf := codec.NewBuffer(b)
1731 m.IsAdd = buf.DecodeBool()
1732 m.Client.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1733 m.Client.Hostname = buf.DecodeString(64)
1734 m.Client.ID = make([]byte, 64)
1735 copy(m.Client.ID, buf.DecodeBytes(len(m.Client.ID)))
1736 m.Client.WantDHCPEvent = buf.DecodeBool()
1737 m.Client.SetBroadcastFlag = buf.DecodeBool()
1738 m.Client.Dscp = IPDscp(buf.DecodeUint8())
1739 m.Client.PID = buf.DecodeUint32()
1743 // DHCPClientConfigReply defines message 'dhcp_client_config_reply'.
1744 type DHCPClientConfigReply struct {
1745 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1748 func (m *DHCPClientConfigReply) Reset() { *m = DHCPClientConfigReply{} }
1749 func (*DHCPClientConfigReply) GetMessageName() string { return "dhcp_client_config_reply" }
1750 func (*DHCPClientConfigReply) GetCrcString() string { return "e8d4e804" }
1751 func (*DHCPClientConfigReply) GetMessageType() api.MessageType {
1752 return api.ReplyMessage
1755 func (m *DHCPClientConfigReply) Size() (size int) {
1759 size += 4 // m.Retval
1762 func (m *DHCPClientConfigReply) Marshal(b []byte) ([]byte, error) {
1764 b = make([]byte, m.Size())
1766 buf := codec.NewBuffer(b)
1767 buf.EncodeInt32(m.Retval)
1768 return buf.Bytes(), nil
1770 func (m *DHCPClientConfigReply) Unmarshal(b []byte) error {
1771 buf := codec.NewBuffer(b)
1772 m.Retval = buf.DecodeInt32()
1776 // DHCPClientDetails defines message 'dhcp_client_details'.
1777 type DHCPClientDetails struct {
1778 Client DHCPClient `binapi:"dhcp_client,name=client" json:"client,omitempty"`
1779 Lease DHCPLease `binapi:"dhcp_lease,name=lease" json:"lease,omitempty"`
1782 func (m *DHCPClientDetails) Reset() { *m = DHCPClientDetails{} }
1783 func (*DHCPClientDetails) GetMessageName() string { return "dhcp_client_details" }
1784 func (*DHCPClientDetails) GetCrcString() string { return "acd82f5a" }
1785 func (*DHCPClientDetails) GetMessageType() api.MessageType {
1786 return api.ReplyMessage
1789 func (m *DHCPClientDetails) Size() (size int) {
1793 size += 4 // m.Client.SwIfIndex
1794 size += 64 // m.Client.Hostname
1795 size += 1 * 64 // m.Client.ID
1796 size += 1 // m.Client.WantDHCPEvent
1797 size += 1 // m.Client.SetBroadcastFlag
1798 size += 1 // m.Client.Dscp
1799 size += 4 // m.Client.PID
1800 size += 4 // m.Lease.SwIfIndex
1801 size += 4 // m.Lease.State
1802 size += 1 // m.Lease.IsIPv6
1803 size += 64 // m.Lease.Hostname
1804 size += 1 // m.Lease.MaskWidth
1805 size += 4 // m.Lease.HostAddress.Af
1806 size += 1 * 16 // m.Lease.HostAddress.Un
1807 size += 4 // m.Lease.RouterAddress.Af
1808 size += 1 * 16 // m.Lease.RouterAddress.Un
1809 size += 1 * 6 // m.Lease.HostMac
1810 size += 1 // m.Lease.Count
1811 for j2 := 0; j2 < len(m.Lease.DomainServer); j2++ {
1814 if j2 < len(m.Lease.DomainServer) {
1815 s2 = m.Lease.DomainServer[j2]
1817 size += 4 // s2.Address.Af
1818 size += 1 * 16 // s2.Address.Un
1822 func (m *DHCPClientDetails) Marshal(b []byte) ([]byte, error) {
1824 b = make([]byte, m.Size())
1826 buf := codec.NewBuffer(b)
1827 buf.EncodeUint32(uint32(m.Client.SwIfIndex))
1828 buf.EncodeString(m.Client.Hostname, 64)
1829 buf.EncodeBytes(m.Client.ID, 64)
1830 buf.EncodeBool(m.Client.WantDHCPEvent)
1831 buf.EncodeBool(m.Client.SetBroadcastFlag)
1832 buf.EncodeUint8(uint8(m.Client.Dscp))
1833 buf.EncodeUint32(m.Client.PID)
1834 buf.EncodeUint32(uint32(m.Lease.SwIfIndex))
1835 buf.EncodeUint32(uint32(m.Lease.State))
1836 buf.EncodeBool(m.Lease.IsIPv6)
1837 buf.EncodeString(m.Lease.Hostname, 64)
1838 buf.EncodeUint8(m.Lease.MaskWidth)
1839 buf.EncodeUint32(uint32(m.Lease.HostAddress.Af))
1840 buf.EncodeBytes(m.Lease.HostAddress.Un.XXX_UnionData[:], 16)
1841 buf.EncodeUint32(uint32(m.Lease.RouterAddress.Af))
1842 buf.EncodeBytes(m.Lease.RouterAddress.Un.XXX_UnionData[:], 16)
1843 buf.EncodeBytes(m.Lease.HostMac[:], 6)
1844 buf.EncodeUint8(uint8(len(m.Lease.DomainServer)))
1845 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1846 var v1 DomainServer // DomainServer
1847 if j1 < len(m.Lease.DomainServer) {
1848 v1 = m.Lease.DomainServer[j1]
1850 buf.EncodeUint32(uint32(v1.Address.Af))
1851 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
1853 return buf.Bytes(), nil
1855 func (m *DHCPClientDetails) Unmarshal(b []byte) error {
1856 buf := codec.NewBuffer(b)
1857 m.Client.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1858 m.Client.Hostname = buf.DecodeString(64)
1859 m.Client.ID = make([]byte, 64)
1860 copy(m.Client.ID, buf.DecodeBytes(len(m.Client.ID)))
1861 m.Client.WantDHCPEvent = buf.DecodeBool()
1862 m.Client.SetBroadcastFlag = buf.DecodeBool()
1863 m.Client.Dscp = IPDscp(buf.DecodeUint8())
1864 m.Client.PID = buf.DecodeUint32()
1865 m.Lease.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1866 m.Lease.State = DHCPClientState(buf.DecodeUint32())
1867 m.Lease.IsIPv6 = buf.DecodeBool()
1868 m.Lease.Hostname = buf.DecodeString(64)
1869 m.Lease.MaskWidth = buf.DecodeUint8()
1870 m.Lease.HostAddress.Af = AddressFamily(buf.DecodeUint32())
1871 copy(m.Lease.HostAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1872 m.Lease.RouterAddress.Af = AddressFamily(buf.DecodeUint32())
1873 copy(m.Lease.RouterAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1874 copy(m.Lease.HostMac[:], buf.DecodeBytes(6))
1875 m.Lease.Count = buf.DecodeUint8()
1876 m.Lease.DomainServer = make([]DomainServer, m.Lease.Count)
1877 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1878 m.Lease.DomainServer[j1].Address.Af = AddressFamily(buf.DecodeUint32())
1879 copy(m.Lease.DomainServer[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1884 // DHCPClientDump defines message 'dhcp_client_dump'.
1885 type DHCPClientDump struct{}
1887 func (m *DHCPClientDump) Reset() { *m = DHCPClientDump{} }
1888 func (*DHCPClientDump) GetMessageName() string { return "dhcp_client_dump" }
1889 func (*DHCPClientDump) GetCrcString() string { return "51077d14" }
1890 func (*DHCPClientDump) GetMessageType() api.MessageType {
1891 return api.RequestMessage
1894 func (m *DHCPClientDump) Size() (size int) {
1900 func (m *DHCPClientDump) Marshal(b []byte) ([]byte, error) {
1902 b = make([]byte, m.Size())
1904 buf := codec.NewBuffer(b)
1905 return buf.Bytes(), nil
1907 func (m *DHCPClientDump) Unmarshal(b []byte) error {
1911 // DHCPComplEvent defines message 'dhcp_compl_event'.
1912 type DHCPComplEvent struct {
1913 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
1914 Lease DHCPLease `binapi:"dhcp_lease,name=lease" json:"lease,omitempty"`
1917 func (m *DHCPComplEvent) Reset() { *m = DHCPComplEvent{} }
1918 func (*DHCPComplEvent) GetMessageName() string { return "dhcp_compl_event" }
1919 func (*DHCPComplEvent) GetCrcString() string { return "e908fd1d" }
1920 func (*DHCPComplEvent) GetMessageType() api.MessageType {
1921 return api.EventMessage
1924 func (m *DHCPComplEvent) Size() (size int) {
1929 size += 4 // m.Lease.SwIfIndex
1930 size += 4 // m.Lease.State
1931 size += 1 // m.Lease.IsIPv6
1932 size += 64 // m.Lease.Hostname
1933 size += 1 // m.Lease.MaskWidth
1934 size += 4 // m.Lease.HostAddress.Af
1935 size += 1 * 16 // m.Lease.HostAddress.Un
1936 size += 4 // m.Lease.RouterAddress.Af
1937 size += 1 * 16 // m.Lease.RouterAddress.Un
1938 size += 1 * 6 // m.Lease.HostMac
1939 size += 1 // m.Lease.Count
1940 for j2 := 0; j2 < len(m.Lease.DomainServer); j2++ {
1943 if j2 < len(m.Lease.DomainServer) {
1944 s2 = m.Lease.DomainServer[j2]
1946 size += 4 // s2.Address.Af
1947 size += 1 * 16 // s2.Address.Un
1951 func (m *DHCPComplEvent) Marshal(b []byte) ([]byte, error) {
1953 b = make([]byte, m.Size())
1955 buf := codec.NewBuffer(b)
1956 buf.EncodeUint32(m.PID)
1957 buf.EncodeUint32(uint32(m.Lease.SwIfIndex))
1958 buf.EncodeUint32(uint32(m.Lease.State))
1959 buf.EncodeBool(m.Lease.IsIPv6)
1960 buf.EncodeString(m.Lease.Hostname, 64)
1961 buf.EncodeUint8(m.Lease.MaskWidth)
1962 buf.EncodeUint32(uint32(m.Lease.HostAddress.Af))
1963 buf.EncodeBytes(m.Lease.HostAddress.Un.XXX_UnionData[:], 16)
1964 buf.EncodeUint32(uint32(m.Lease.RouterAddress.Af))
1965 buf.EncodeBytes(m.Lease.RouterAddress.Un.XXX_UnionData[:], 16)
1966 buf.EncodeBytes(m.Lease.HostMac[:], 6)
1967 buf.EncodeUint8(uint8(len(m.Lease.DomainServer)))
1968 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1969 var v1 DomainServer // DomainServer
1970 if j1 < len(m.Lease.DomainServer) {
1971 v1 = m.Lease.DomainServer[j1]
1973 buf.EncodeUint32(uint32(v1.Address.Af))
1974 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
1976 return buf.Bytes(), nil
1978 func (m *DHCPComplEvent) Unmarshal(b []byte) error {
1979 buf := codec.NewBuffer(b)
1980 m.PID = buf.DecodeUint32()
1981 m.Lease.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
1982 m.Lease.State = DHCPClientState(buf.DecodeUint32())
1983 m.Lease.IsIPv6 = buf.DecodeBool()
1984 m.Lease.Hostname = buf.DecodeString(64)
1985 m.Lease.MaskWidth = buf.DecodeUint8()
1986 m.Lease.HostAddress.Af = AddressFamily(buf.DecodeUint32())
1987 copy(m.Lease.HostAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1988 m.Lease.RouterAddress.Af = AddressFamily(buf.DecodeUint32())
1989 copy(m.Lease.RouterAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
1990 copy(m.Lease.HostMac[:], buf.DecodeBytes(6))
1991 m.Lease.Count = buf.DecodeUint8()
1992 m.Lease.DomainServer = make([]DomainServer, m.Lease.Count)
1993 for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
1994 m.Lease.DomainServer[j1].Address.Af = AddressFamily(buf.DecodeUint32())
1995 copy(m.Lease.DomainServer[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2000 // DHCPPluginControlPing defines message 'dhcp_plugin_control_ping'.
2001 type DHCPPluginControlPing struct{}
2003 func (m *DHCPPluginControlPing) Reset() { *m = DHCPPluginControlPing{} }
2004 func (*DHCPPluginControlPing) GetMessageName() string { return "dhcp_plugin_control_ping" }
2005 func (*DHCPPluginControlPing) GetCrcString() string { return "51077d14" }
2006 func (*DHCPPluginControlPing) GetMessageType() api.MessageType {
2007 return api.RequestMessage
2010 func (m *DHCPPluginControlPing) Size() (size int) {
2016 func (m *DHCPPluginControlPing) Marshal(b []byte) ([]byte, error) {
2018 b = make([]byte, m.Size())
2020 buf := codec.NewBuffer(b)
2021 return buf.Bytes(), nil
2023 func (m *DHCPPluginControlPing) Unmarshal(b []byte) error {
2027 // DHCPPluginControlPingReply defines message 'dhcp_plugin_control_ping_reply'.
2028 type DHCPPluginControlPingReply struct {
2029 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2030 ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"`
2031 VpePID uint32 `binapi:"u32,name=vpe_pid" json:"vpe_pid,omitempty"`
2034 func (m *DHCPPluginControlPingReply) Reset() { *m = DHCPPluginControlPingReply{} }
2035 func (*DHCPPluginControlPingReply) GetMessageName() string { return "dhcp_plugin_control_ping_reply" }
2036 func (*DHCPPluginControlPingReply) GetCrcString() string { return "f6b0b8ca" }
2037 func (*DHCPPluginControlPingReply) GetMessageType() api.MessageType {
2038 return api.ReplyMessage
2041 func (m *DHCPPluginControlPingReply) Size() (size int) {
2045 size += 4 // m.Retval
2046 size += 4 // m.ClientIndex
2047 size += 4 // m.VpePID
2050 func (m *DHCPPluginControlPingReply) Marshal(b []byte) ([]byte, error) {
2052 b = make([]byte, m.Size())
2054 buf := codec.NewBuffer(b)
2055 buf.EncodeInt32(m.Retval)
2056 buf.EncodeUint32(m.ClientIndex)
2057 buf.EncodeUint32(m.VpePID)
2058 return buf.Bytes(), nil
2060 func (m *DHCPPluginControlPingReply) Unmarshal(b []byte) error {
2061 buf := codec.NewBuffer(b)
2062 m.Retval = buf.DecodeInt32()
2063 m.ClientIndex = buf.DecodeUint32()
2064 m.VpePID = buf.DecodeUint32()
2068 // DHCPPluginGetVersion defines message 'dhcp_plugin_get_version'.
2069 type DHCPPluginGetVersion struct{}
2071 func (m *DHCPPluginGetVersion) Reset() { *m = DHCPPluginGetVersion{} }
2072 func (*DHCPPluginGetVersion) GetMessageName() string { return "dhcp_plugin_get_version" }
2073 func (*DHCPPluginGetVersion) GetCrcString() string { return "51077d14" }
2074 func (*DHCPPluginGetVersion) GetMessageType() api.MessageType {
2075 return api.RequestMessage
2078 func (m *DHCPPluginGetVersion) Size() (size int) {
2084 func (m *DHCPPluginGetVersion) Marshal(b []byte) ([]byte, error) {
2086 b = make([]byte, m.Size())
2088 buf := codec.NewBuffer(b)
2089 return buf.Bytes(), nil
2091 func (m *DHCPPluginGetVersion) Unmarshal(b []byte) error {
2095 // DHCPPluginGetVersionReply defines message 'dhcp_plugin_get_version_reply'.
2096 type DHCPPluginGetVersionReply struct {
2097 Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`
2098 Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"`
2101 func (m *DHCPPluginGetVersionReply) Reset() { *m = DHCPPluginGetVersionReply{} }
2102 func (*DHCPPluginGetVersionReply) GetMessageName() string { return "dhcp_plugin_get_version_reply" }
2103 func (*DHCPPluginGetVersionReply) GetCrcString() string { return "9b32cf86" }
2104 func (*DHCPPluginGetVersionReply) GetMessageType() api.MessageType {
2105 return api.ReplyMessage
2108 func (m *DHCPPluginGetVersionReply) Size() (size int) {
2112 size += 4 // m.Major
2113 size += 4 // m.Minor
2116 func (m *DHCPPluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
2118 b = make([]byte, m.Size())
2120 buf := codec.NewBuffer(b)
2121 buf.EncodeUint32(m.Major)
2122 buf.EncodeUint32(m.Minor)
2123 return buf.Bytes(), nil
2125 func (m *DHCPPluginGetVersionReply) Unmarshal(b []byte) error {
2126 buf := codec.NewBuffer(b)
2127 m.Major = buf.DecodeUint32()
2128 m.Minor = buf.DecodeUint32()
2132 // DHCPProxyConfig defines message 'dhcp_proxy_config'.
2133 type DHCPProxyConfig struct {
2134 RxVrfID uint32 `binapi:"u32,name=rx_vrf_id" json:"rx_vrf_id,omitempty"`
2135 ServerVrfID uint32 `binapi:"u32,name=server_vrf_id" json:"server_vrf_id,omitempty"`
2136 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"`
2137 DHCPServer Address `binapi:"address,name=dhcp_server" json:"dhcp_server,omitempty"`
2138 DHCPSrcAddress Address `binapi:"address,name=dhcp_src_address" json:"dhcp_src_address,omitempty"`
2141 func (m *DHCPProxyConfig) Reset() { *m = DHCPProxyConfig{} }
2142 func (*DHCPProxyConfig) GetMessageName() string { return "dhcp_proxy_config" }
2143 func (*DHCPProxyConfig) GetCrcString() string { return "6767230e" }
2144 func (*DHCPProxyConfig) GetMessageType() api.MessageType {
2145 return api.RequestMessage
2148 func (m *DHCPProxyConfig) Size() (size int) {
2152 size += 4 // m.RxVrfID
2153 size += 4 // m.ServerVrfID
2154 size += 1 // m.IsAdd
2155 size += 4 // m.DHCPServer.Af
2156 size += 1 * 16 // m.DHCPServer.Un
2157 size += 4 // m.DHCPSrcAddress.Af
2158 size += 1 * 16 // m.DHCPSrcAddress.Un
2161 func (m *DHCPProxyConfig) Marshal(b []byte) ([]byte, error) {
2163 b = make([]byte, m.Size())
2165 buf := codec.NewBuffer(b)
2166 buf.EncodeUint32(m.RxVrfID)
2167 buf.EncodeUint32(m.ServerVrfID)
2168 buf.EncodeBool(m.IsAdd)
2169 buf.EncodeUint32(uint32(m.DHCPServer.Af))
2170 buf.EncodeBytes(m.DHCPServer.Un.XXX_UnionData[:], 16)
2171 buf.EncodeUint32(uint32(m.DHCPSrcAddress.Af))
2172 buf.EncodeBytes(m.DHCPSrcAddress.Un.XXX_UnionData[:], 16)
2173 return buf.Bytes(), nil
2175 func (m *DHCPProxyConfig) Unmarshal(b []byte) error {
2176 buf := codec.NewBuffer(b)
2177 m.RxVrfID = buf.DecodeUint32()
2178 m.ServerVrfID = buf.DecodeUint32()
2179 m.IsAdd = buf.DecodeBool()
2180 m.DHCPServer.Af = AddressFamily(buf.DecodeUint32())
2181 copy(m.DHCPServer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2182 m.DHCPSrcAddress.Af = AddressFamily(buf.DecodeUint32())
2183 copy(m.DHCPSrcAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2187 // DHCPProxyConfigReply defines message 'dhcp_proxy_config_reply'.
2188 type DHCPProxyConfigReply struct {
2189 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2192 func (m *DHCPProxyConfigReply) Reset() { *m = DHCPProxyConfigReply{} }
2193 func (*DHCPProxyConfigReply) GetMessageName() string { return "dhcp_proxy_config_reply" }
2194 func (*DHCPProxyConfigReply) GetCrcString() string { return "e8d4e804" }
2195 func (*DHCPProxyConfigReply) GetMessageType() api.MessageType {
2196 return api.ReplyMessage
2199 func (m *DHCPProxyConfigReply) Size() (size int) {
2203 size += 4 // m.Retval
2206 func (m *DHCPProxyConfigReply) Marshal(b []byte) ([]byte, error) {
2208 b = make([]byte, m.Size())
2210 buf := codec.NewBuffer(b)
2211 buf.EncodeInt32(m.Retval)
2212 return buf.Bytes(), nil
2214 func (m *DHCPProxyConfigReply) Unmarshal(b []byte) error {
2215 buf := codec.NewBuffer(b)
2216 m.Retval = buf.DecodeInt32()
2220 // DHCPProxyDetails defines message 'dhcp_proxy_details'.
2221 type DHCPProxyDetails struct {
2222 RxVrfID uint32 `binapi:"u32,name=rx_vrf_id" json:"rx_vrf_id,omitempty"`
2223 VssOui uint32 `binapi:"u32,name=vss_oui" json:"vss_oui,omitempty"`
2224 VssFibID uint32 `binapi:"u32,name=vss_fib_id" json:"vss_fib_id,omitempty"`
2225 VssType VssType `binapi:"vss_type,name=vss_type" json:"vss_type,omitempty"`
2226 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2227 VssVPNAsciiID string `binapi:"string[129],name=vss_vpn_ascii_id" json:"vss_vpn_ascii_id,omitempty"`
2228 DHCPSrcAddress Address `binapi:"address,name=dhcp_src_address" json:"dhcp_src_address,omitempty"`
2229 Count uint8 `binapi:"u8,name=count" json:"-"`
2230 Servers []DHCPServer `binapi:"dhcp_server[count],name=servers" json:"servers,omitempty"`
2233 func (m *DHCPProxyDetails) Reset() { *m = DHCPProxyDetails{} }
2234 func (*DHCPProxyDetails) GetMessageName() string { return "dhcp_proxy_details" }
2235 func (*DHCPProxyDetails) GetCrcString() string { return "ce16f044" }
2236 func (*DHCPProxyDetails) GetMessageType() api.MessageType {
2237 return api.ReplyMessage
2240 func (m *DHCPProxyDetails) Size() (size int) {
2244 size += 4 // m.RxVrfID
2245 size += 4 // m.VssOui
2246 size += 4 // m.VssFibID
2247 size += 4 // m.VssType
2248 size += 1 // m.IsIPv6
2249 size += 129 // m.VssVPNAsciiID
2250 size += 4 // m.DHCPSrcAddress.Af
2251 size += 1 * 16 // m.DHCPSrcAddress.Un
2252 size += 1 // m.Count
2253 for j1 := 0; j1 < len(m.Servers); j1++ {
2256 if j1 < len(m.Servers) {
2259 size += 4 // s1.ServerVrfID
2260 size += 4 // s1.DHCPServer.Af
2261 size += 1 * 16 // s1.DHCPServer.Un
2265 func (m *DHCPProxyDetails) Marshal(b []byte) ([]byte, error) {
2267 b = make([]byte, m.Size())
2269 buf := codec.NewBuffer(b)
2270 buf.EncodeUint32(m.RxVrfID)
2271 buf.EncodeUint32(m.VssOui)
2272 buf.EncodeUint32(m.VssFibID)
2273 buf.EncodeUint32(uint32(m.VssType))
2274 buf.EncodeBool(m.IsIPv6)
2275 buf.EncodeString(m.VssVPNAsciiID, 129)
2276 buf.EncodeUint32(uint32(m.DHCPSrcAddress.Af))
2277 buf.EncodeBytes(m.DHCPSrcAddress.Un.XXX_UnionData[:], 16)
2278 buf.EncodeUint8(uint8(len(m.Servers)))
2279 for j0 := 0; j0 < len(m.Servers); j0++ {
2280 var v0 DHCPServer // Servers
2281 if j0 < len(m.Servers) {
2284 buf.EncodeUint32(v0.ServerVrfID)
2285 buf.EncodeUint32(uint32(v0.DHCPServer.Af))
2286 buf.EncodeBytes(v0.DHCPServer.Un.XXX_UnionData[:], 16)
2288 return buf.Bytes(), nil
2290 func (m *DHCPProxyDetails) Unmarshal(b []byte) error {
2291 buf := codec.NewBuffer(b)
2292 m.RxVrfID = buf.DecodeUint32()
2293 m.VssOui = buf.DecodeUint32()
2294 m.VssFibID = buf.DecodeUint32()
2295 m.VssType = VssType(buf.DecodeUint32())
2296 m.IsIPv6 = buf.DecodeBool()
2297 m.VssVPNAsciiID = buf.DecodeString(129)
2298 m.DHCPSrcAddress.Af = AddressFamily(buf.DecodeUint32())
2299 copy(m.DHCPSrcAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2300 m.Count = buf.DecodeUint8()
2301 m.Servers = make([]DHCPServer, m.Count)
2302 for j0 := 0; j0 < len(m.Servers); j0++ {
2303 m.Servers[j0].ServerVrfID = buf.DecodeUint32()
2304 m.Servers[j0].DHCPServer.Af = AddressFamily(buf.DecodeUint32())
2305 copy(m.Servers[j0].DHCPServer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
2310 // DHCPProxyDump defines message 'dhcp_proxy_dump'.
2311 type DHCPProxyDump struct {
2312 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2315 func (m *DHCPProxyDump) Reset() { *m = DHCPProxyDump{} }
2316 func (*DHCPProxyDump) GetMessageName() string { return "dhcp_proxy_dump" }
2317 func (*DHCPProxyDump) GetCrcString() string { return "5c5b063f" }
2318 func (*DHCPProxyDump) GetMessageType() api.MessageType {
2319 return api.RequestMessage
2322 func (m *DHCPProxyDump) Size() (size int) {
2326 size += 1 // m.IsIP6
2329 func (m *DHCPProxyDump) Marshal(b []byte) ([]byte, error) {
2331 b = make([]byte, m.Size())
2333 buf := codec.NewBuffer(b)
2334 buf.EncodeBool(m.IsIP6)
2335 return buf.Bytes(), nil
2337 func (m *DHCPProxyDump) Unmarshal(b []byte) error {
2338 buf := codec.NewBuffer(b)
2339 m.IsIP6 = buf.DecodeBool()
2343 // DHCPProxySetVss defines message 'dhcp_proxy_set_vss'.
2344 type DHCPProxySetVss struct {
2345 TblID uint32 `binapi:"u32,name=tbl_id" json:"tbl_id,omitempty"`
2346 VssType VssType `binapi:"vss_type,name=vss_type" json:"vss_type,omitempty"`
2347 VPNAsciiID string `binapi:"string[129],name=vpn_ascii_id" json:"vpn_ascii_id,omitempty"`
2348 Oui uint32 `binapi:"u32,name=oui" json:"oui,omitempty"`
2349 VPNIndex uint32 `binapi:"u32,name=vpn_index" json:"vpn_index,omitempty"`
2350 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2351 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"`
2354 func (m *DHCPProxySetVss) Reset() { *m = DHCPProxySetVss{} }
2355 func (*DHCPProxySetVss) GetMessageName() string { return "dhcp_proxy_set_vss" }
2356 func (*DHCPProxySetVss) GetCrcString() string { return "50537301" }
2357 func (*DHCPProxySetVss) GetMessageType() api.MessageType {
2358 return api.RequestMessage
2361 func (m *DHCPProxySetVss) Size() (size int) {
2365 size += 4 // m.TblID
2366 size += 4 // m.VssType
2367 size += 129 // m.VPNAsciiID
2369 size += 4 // m.VPNIndex
2370 size += 1 // m.IsIPv6
2371 size += 1 // m.IsAdd
2374 func (m *DHCPProxySetVss) Marshal(b []byte) ([]byte, error) {
2376 b = make([]byte, m.Size())
2378 buf := codec.NewBuffer(b)
2379 buf.EncodeUint32(m.TblID)
2380 buf.EncodeUint32(uint32(m.VssType))
2381 buf.EncodeString(m.VPNAsciiID, 129)
2382 buf.EncodeUint32(m.Oui)
2383 buf.EncodeUint32(m.VPNIndex)
2384 buf.EncodeBool(m.IsIPv6)
2385 buf.EncodeBool(m.IsAdd)
2386 return buf.Bytes(), nil
2388 func (m *DHCPProxySetVss) Unmarshal(b []byte) error {
2389 buf := codec.NewBuffer(b)
2390 m.TblID = buf.DecodeUint32()
2391 m.VssType = VssType(buf.DecodeUint32())
2392 m.VPNAsciiID = buf.DecodeString(129)
2393 m.Oui = buf.DecodeUint32()
2394 m.VPNIndex = buf.DecodeUint32()
2395 m.IsIPv6 = buf.DecodeBool()
2396 m.IsAdd = buf.DecodeBool()
2400 // DHCPProxySetVssReply defines message 'dhcp_proxy_set_vss_reply'.
2401 type DHCPProxySetVssReply struct {
2402 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2405 func (m *DHCPProxySetVssReply) Reset() { *m = DHCPProxySetVssReply{} }
2406 func (*DHCPProxySetVssReply) GetMessageName() string { return "dhcp_proxy_set_vss_reply" }
2407 func (*DHCPProxySetVssReply) GetCrcString() string { return "e8d4e804" }
2408 func (*DHCPProxySetVssReply) GetMessageType() api.MessageType {
2409 return api.ReplyMessage
2412 func (m *DHCPProxySetVssReply) Size() (size int) {
2416 size += 4 // m.Retval
2419 func (m *DHCPProxySetVssReply) Marshal(b []byte) ([]byte, error) {
2421 b = make([]byte, m.Size())
2423 buf := codec.NewBuffer(b)
2424 buf.EncodeInt32(m.Retval)
2425 return buf.Bytes(), nil
2427 func (m *DHCPProxySetVssReply) Unmarshal(b []byte) error {
2428 buf := codec.NewBuffer(b)
2429 m.Retval = buf.DecodeInt32()
2433 // WantDHCP6PdReplyEvents defines message 'want_dhcp6_pd_reply_events'.
2434 type WantDHCP6PdReplyEvents struct {
2435 EnableDisable bool `binapi:"bool,name=enable_disable" json:"enable_disable,omitempty"`
2436 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
2439 func (m *WantDHCP6PdReplyEvents) Reset() { *m = WantDHCP6PdReplyEvents{} }
2440 func (*WantDHCP6PdReplyEvents) GetMessageName() string { return "want_dhcp6_pd_reply_events" }
2441 func (*WantDHCP6PdReplyEvents) GetCrcString() string { return "c5e2af94" }
2442 func (*WantDHCP6PdReplyEvents) GetMessageType() api.MessageType {
2443 return api.RequestMessage
2446 func (m *WantDHCP6PdReplyEvents) Size() (size int) {
2450 size += 1 // m.EnableDisable
2454 func (m *WantDHCP6PdReplyEvents) Marshal(b []byte) ([]byte, error) {
2456 b = make([]byte, m.Size())
2458 buf := codec.NewBuffer(b)
2459 buf.EncodeBool(m.EnableDisable)
2460 buf.EncodeUint32(m.PID)
2461 return buf.Bytes(), nil
2463 func (m *WantDHCP6PdReplyEvents) Unmarshal(b []byte) error {
2464 buf := codec.NewBuffer(b)
2465 m.EnableDisable = buf.DecodeBool()
2466 m.PID = buf.DecodeUint32()
2470 // WantDHCP6PdReplyEventsReply defines message 'want_dhcp6_pd_reply_events_reply'.
2471 type WantDHCP6PdReplyEventsReply struct {
2472 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2475 func (m *WantDHCP6PdReplyEventsReply) Reset() { *m = WantDHCP6PdReplyEventsReply{} }
2476 func (*WantDHCP6PdReplyEventsReply) GetMessageName() string {
2477 return "want_dhcp6_pd_reply_events_reply"
2479 func (*WantDHCP6PdReplyEventsReply) GetCrcString() string { return "e8d4e804" }
2480 func (*WantDHCP6PdReplyEventsReply) GetMessageType() api.MessageType {
2481 return api.ReplyMessage
2484 func (m *WantDHCP6PdReplyEventsReply) Size() (size int) {
2488 size += 4 // m.Retval
2491 func (m *WantDHCP6PdReplyEventsReply) Marshal(b []byte) ([]byte, error) {
2493 b = make([]byte, m.Size())
2495 buf := codec.NewBuffer(b)
2496 buf.EncodeInt32(m.Retval)
2497 return buf.Bytes(), nil
2499 func (m *WantDHCP6PdReplyEventsReply) Unmarshal(b []byte) error {
2500 buf := codec.NewBuffer(b)
2501 m.Retval = buf.DecodeInt32()
2505 // WantDHCP6ReplyEvents defines message 'want_dhcp6_reply_events'.
2506 type WantDHCP6ReplyEvents struct {
2507 EnableDisable uint8 `binapi:"u8,name=enable_disable" json:"enable_disable,omitempty"`
2508 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
2511 func (m *WantDHCP6ReplyEvents) Reset() { *m = WantDHCP6ReplyEvents{} }
2512 func (*WantDHCP6ReplyEvents) GetMessageName() string { return "want_dhcp6_reply_events" }
2513 func (*WantDHCP6ReplyEvents) GetCrcString() string { return "05b454b5" }
2514 func (*WantDHCP6ReplyEvents) GetMessageType() api.MessageType {
2515 return api.RequestMessage
2518 func (m *WantDHCP6ReplyEvents) Size() (size int) {
2522 size += 1 // m.EnableDisable
2526 func (m *WantDHCP6ReplyEvents) Marshal(b []byte) ([]byte, error) {
2528 b = make([]byte, m.Size())
2530 buf := codec.NewBuffer(b)
2531 buf.EncodeUint8(m.EnableDisable)
2532 buf.EncodeUint32(m.PID)
2533 return buf.Bytes(), nil
2535 func (m *WantDHCP6ReplyEvents) Unmarshal(b []byte) error {
2536 buf := codec.NewBuffer(b)
2537 m.EnableDisable = buf.DecodeUint8()
2538 m.PID = buf.DecodeUint32()
2542 // WantDHCP6ReplyEventsReply defines message 'want_dhcp6_reply_events_reply'.
2543 type WantDHCP6ReplyEventsReply struct {
2544 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2547 func (m *WantDHCP6ReplyEventsReply) Reset() { *m = WantDHCP6ReplyEventsReply{} }
2548 func (*WantDHCP6ReplyEventsReply) GetMessageName() string { return "want_dhcp6_reply_events_reply" }
2549 func (*WantDHCP6ReplyEventsReply) GetCrcString() string { return "e8d4e804" }
2550 func (*WantDHCP6ReplyEventsReply) GetMessageType() api.MessageType {
2551 return api.ReplyMessage
2554 func (m *WantDHCP6ReplyEventsReply) Size() (size int) {
2558 size += 4 // m.Retval
2561 func (m *WantDHCP6ReplyEventsReply) Marshal(b []byte) ([]byte, error) {
2563 b = make([]byte, m.Size())
2565 buf := codec.NewBuffer(b)
2566 buf.EncodeInt32(m.Retval)
2567 return buf.Bytes(), nil
2569 func (m *WantDHCP6ReplyEventsReply) Unmarshal(b []byte) error {
2570 buf := codec.NewBuffer(b)
2571 m.Retval = buf.DecodeInt32()
2575 func init() { file_dhcp_binapi_init() }
2576 func file_dhcp_binapi_init() {
2577 api.RegisterMessage((*DHCP6ClientsEnableDisable)(nil), "dhcp6_clients_enable_disable_b3e225d2")
2578 api.RegisterMessage((*DHCP6ClientsEnableDisableReply)(nil), "dhcp6_clients_enable_disable_reply_e8d4e804")
2579 api.RegisterMessage((*DHCP6DuidLlSet)(nil), "dhcp6_duid_ll_set_0f6ca323")
2580 api.RegisterMessage((*DHCP6DuidLlSetReply)(nil), "dhcp6_duid_ll_set_reply_e8d4e804")
2581 api.RegisterMessage((*DHCP6PdReplyEvent)(nil), "dhcp6_pd_reply_event_cb3e462b")
2582 api.RegisterMessage((*DHCP6PdSendClientMessage)(nil), "dhcp6_pd_send_client_message_064badb8")
2583 api.RegisterMessage((*DHCP6PdSendClientMessageReply)(nil), "dhcp6_pd_send_client_message_reply_e8d4e804")
2584 api.RegisterMessage((*DHCP6ReplyEvent)(nil), "dhcp6_reply_event_9f3af9e5")
2585 api.RegisterMessage((*DHCP6SendClientMessage)(nil), "dhcp6_send_client_message_f6f14ef0")
2586 api.RegisterMessage((*DHCP6SendClientMessageReply)(nil), "dhcp6_send_client_message_reply_e8d4e804")
2587 api.RegisterMessage((*DHCPClientConfig)(nil), "dhcp_client_config_959b80a3")
2588 api.RegisterMessage((*DHCPClientConfigReply)(nil), "dhcp_client_config_reply_e8d4e804")
2589 api.RegisterMessage((*DHCPClientDetails)(nil), "dhcp_client_details_acd82f5a")
2590 api.RegisterMessage((*DHCPClientDump)(nil), "dhcp_client_dump_51077d14")
2591 api.RegisterMessage((*DHCPComplEvent)(nil), "dhcp_compl_event_e908fd1d")
2592 api.RegisterMessage((*DHCPPluginControlPing)(nil), "dhcp_plugin_control_ping_51077d14")
2593 api.RegisterMessage((*DHCPPluginControlPingReply)(nil), "dhcp_plugin_control_ping_reply_f6b0b8ca")
2594 api.RegisterMessage((*DHCPPluginGetVersion)(nil), "dhcp_plugin_get_version_51077d14")
2595 api.RegisterMessage((*DHCPPluginGetVersionReply)(nil), "dhcp_plugin_get_version_reply_9b32cf86")
2596 api.RegisterMessage((*DHCPProxyConfig)(nil), "dhcp_proxy_config_6767230e")
2597 api.RegisterMessage((*DHCPProxyConfigReply)(nil), "dhcp_proxy_config_reply_e8d4e804")
2598 api.RegisterMessage((*DHCPProxyDetails)(nil), "dhcp_proxy_details_ce16f044")
2599 api.RegisterMessage((*DHCPProxyDump)(nil), "dhcp_proxy_dump_5c5b063f")
2600 api.RegisterMessage((*DHCPProxySetVss)(nil), "dhcp_proxy_set_vss_50537301")
2601 api.RegisterMessage((*DHCPProxySetVssReply)(nil), "dhcp_proxy_set_vss_reply_e8d4e804")
2602 api.RegisterMessage((*WantDHCP6PdReplyEvents)(nil), "want_dhcp6_pd_reply_events_c5e2af94")
2603 api.RegisterMessage((*WantDHCP6PdReplyEventsReply)(nil), "want_dhcp6_pd_reply_events_reply_e8d4e804")
2604 api.RegisterMessage((*WantDHCP6ReplyEvents)(nil), "want_dhcp6_reply_events_05b454b5")
2605 api.RegisterMessage((*WantDHCP6ReplyEventsReply)(nil), "want_dhcp6_reply_events_reply_e8d4e804")
2608 // Messages returns list of all messages in this module.
2609 func AllMessages() []api.Message {
2610 return []api.Message{
2611 (*DHCP6ClientsEnableDisable)(nil),
2612 (*DHCP6ClientsEnableDisableReply)(nil),
2613 (*DHCP6DuidLlSet)(nil),
2614 (*DHCP6DuidLlSetReply)(nil),
2615 (*DHCP6PdReplyEvent)(nil),
2616 (*DHCP6PdSendClientMessage)(nil),
2617 (*DHCP6PdSendClientMessageReply)(nil),
2618 (*DHCP6ReplyEvent)(nil),
2619 (*DHCP6SendClientMessage)(nil),
2620 (*DHCP6SendClientMessageReply)(nil),
2621 (*DHCPClientConfig)(nil),
2622 (*DHCPClientConfigReply)(nil),
2623 (*DHCPClientDetails)(nil),
2624 (*DHCPClientDump)(nil),
2625 (*DHCPComplEvent)(nil),
2626 (*DHCPPluginControlPing)(nil),
2627 (*DHCPPluginControlPingReply)(nil),
2628 (*DHCPPluginGetVersion)(nil),
2629 (*DHCPPluginGetVersionReply)(nil),
2630 (*DHCPProxyConfig)(nil),
2631 (*DHCPProxyConfigReply)(nil),
2632 (*DHCPProxyDetails)(nil),
2633 (*DHCPProxyDump)(nil),
2634 (*DHCPProxySetVss)(nil),
2635 (*DHCPProxySetVssReply)(nil),
2636 (*WantDHCP6PdReplyEvents)(nil),
2637 (*WantDHCP6PdReplyEventsReply)(nil),
2638 (*WantDHCP6ReplyEvents)(nil),
2639 (*WantDHCP6ReplyEventsReply)(nil),