f75e7edc6be50154bc24b9cca08e9764af0f2a4f
[govpp.git] / internal / testbinapi / binapi2001 / dhcp / dhcp.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.4.0-dev
4 //  VPP:              20.01
5 // source: .vppapi/plugins/dhcp.api.json
6
7 // Package dhcp contains generated bindings for API file dhcp.api.
8 //
9 // Contents:
10 //   7 aliases
11 //  13 enums
12 //  12 structs
13 //   1 union
14 //  29 messages
15 //
16 package dhcp
17
18 import (
19         "fmt"
20         api "git.fd.io/govpp.git/api"
21         codec "git.fd.io/govpp.git/codec"
22         "net"
23         "strconv"
24         "strings"
25 )
26
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
32
33 const (
34         APIFile    = "dhcp"
35         APIVersion = "3.0.1"
36         VersionCrc = 0x96a5f046
37 )
38
39 // AddressFamily defines enum 'address_family'.
40 type AddressFamily uint32
41
42 const (
43         ADDRESS_IP4 AddressFamily = 0
44         ADDRESS_IP6 AddressFamily = 1
45 )
46
47 var (
48         AddressFamily_name = map[uint32]string{
49                 0: "ADDRESS_IP4",
50                 1: "ADDRESS_IP6",
51         }
52         AddressFamily_value = map[string]uint32{
53                 "ADDRESS_IP4": 0,
54                 "ADDRESS_IP6": 1,
55         }
56 )
57
58 func (x AddressFamily) String() string {
59         s, ok := AddressFamily_name[uint32(x)]
60         if ok {
61                 return s
62         }
63         return "AddressFamily(" + strconv.Itoa(int(x)) + ")"
64 }
65
66 // DHCPClientState defines enum 'dhcp_client_state'.
67 type DHCPClientState uint32
68
69 const (
70         DHCP_CLIENT_STATE_API_DISCOVER DHCPClientState = 1
71         DHCP_CLIENT_STATE_API_REQUEST  DHCPClientState = 2
72         DHCP_CLIENT_STATE_API_BOUND    DHCPClientState = 3
73 )
74
75 var (
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",
80         }
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,
85         }
86 )
87
88 func (x DHCPClientState) String() string {
89         s, ok := DHCPClientState_name[uint32(x)]
90         if ok {
91                 return s
92         }
93         return "DHCPClientState(" + strconv.Itoa(int(x)) + ")"
94 }
95
96 // Dhcpv6MsgType defines enum 'dhcpv6_msg_type'.
97 type Dhcpv6MsgType uint32
98
99 const (
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
113 )
114
115 var (
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",
130         }
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,
145         }
146 )
147
148 func (x Dhcpv6MsgType) String() string {
149         s, ok := Dhcpv6MsgType_name[uint32(x)]
150         if ok {
151                 return s
152         }
153         return "Dhcpv6MsgType(" + strconv.Itoa(int(x)) + ")"
154 }
155
156 // IfStatusFlags defines enum 'if_status_flags'.
157 type IfStatusFlags uint32
158
159 const (
160         IF_STATUS_API_FLAG_ADMIN_UP IfStatusFlags = 1
161         IF_STATUS_API_FLAG_LINK_UP  IfStatusFlags = 2
162 )
163
164 var (
165         IfStatusFlags_name = map[uint32]string{
166                 1: "IF_STATUS_API_FLAG_ADMIN_UP",
167                 2: "IF_STATUS_API_FLAG_LINK_UP",
168         }
169         IfStatusFlags_value = map[string]uint32{
170                 "IF_STATUS_API_FLAG_ADMIN_UP": 1,
171                 "IF_STATUS_API_FLAG_LINK_UP":  2,
172         }
173 )
174
175 func (x IfStatusFlags) String() string {
176         s, ok := IfStatusFlags_name[uint32(x)]
177         if ok {
178                 return s
179         }
180         str := func(n uint32) string {
181                 s, ok := IfStatusFlags_name[uint32(n)]
182                 if ok {
183                         return s
184                 }
185                 return "IfStatusFlags(" + strconv.Itoa(int(n)) + ")"
186         }
187         for i := uint32(0); i <= 32; i++ {
188                 val := uint32(x)
189                 if val&(1<<i) != 0 {
190                         if s != "" {
191                                 s += "|"
192                         }
193                         s += str(1 << i)
194                 }
195         }
196         if s == "" {
197                 return str(uint32(x))
198         }
199         return s
200 }
201
202 // IfType defines enum 'if_type'.
203 type IfType uint32
204
205 const (
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
210 )
211
212 var (
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",
218         }
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,
224         }
225 )
226
227 func (x IfType) String() string {
228         s, ok := IfType_name[uint32(x)]
229         if ok {
230                 return s
231         }
232         return "IfType(" + strconv.Itoa(int(x)) + ")"
233 }
234
235 // IPDscp defines enum 'ip_dscp'.
236 type IPDscp uint8
237
238 const (
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
260 )
261
262 var (
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",
285         }
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,
308         }
309 )
310
311 func (x IPDscp) String() string {
312         s, ok := IPDscp_name[uint8(x)]
313         if ok {
314                 return s
315         }
316         return "IPDscp(" + strconv.Itoa(int(x)) + ")"
317 }
318
319 // IPEcn defines enum 'ip_ecn'.
320 type IPEcn uint8
321
322 const (
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
327 )
328
329 var (
330         IPEcn_name = map[uint8]string{
331                 0: "IP_API_ECN_NONE",
332                 1: "IP_API_ECN_ECT0",
333                 2: "IP_API_ECN_ECT1",
334                 3: "IP_API_ECN_CE",
335         }
336         IPEcn_value = map[string]uint8{
337                 "IP_API_ECN_NONE": 0,
338                 "IP_API_ECN_ECT0": 1,
339                 "IP_API_ECN_ECT1": 2,
340                 "IP_API_ECN_CE":   3,
341         }
342 )
343
344 func (x IPEcn) String() string {
345         s, ok := IPEcn_name[uint8(x)]
346         if ok {
347                 return s
348         }
349         return "IPEcn(" + strconv.Itoa(int(x)) + ")"
350 }
351
352 // IPProto defines enum 'ip_proto'.
353 type IPProto uint32
354
355 const (
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
368 )
369
370 var (
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",
384         }
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,
398         }
399 )
400
401 func (x IPProto) String() string {
402         s, ok := IPProto_name[uint32(x)]
403         if ok {
404                 return s
405         }
406         return "IPProto(" + strconv.Itoa(int(x)) + ")"
407 }
408
409 // LinkDuplex defines enum 'link_duplex'.
410 type LinkDuplex uint32
411
412 const (
413         LINK_DUPLEX_API_UNKNOWN LinkDuplex = 0
414         LINK_DUPLEX_API_HALF    LinkDuplex = 1
415         LINK_DUPLEX_API_FULL    LinkDuplex = 2
416 )
417
418 var (
419         LinkDuplex_name = map[uint32]string{
420                 0: "LINK_DUPLEX_API_UNKNOWN",
421                 1: "LINK_DUPLEX_API_HALF",
422                 2: "LINK_DUPLEX_API_FULL",
423         }
424         LinkDuplex_value = map[string]uint32{
425                 "LINK_DUPLEX_API_UNKNOWN": 0,
426                 "LINK_DUPLEX_API_HALF":    1,
427                 "LINK_DUPLEX_API_FULL":    2,
428         }
429 )
430
431 func (x LinkDuplex) String() string {
432         s, ok := LinkDuplex_name[uint32(x)]
433         if ok {
434                 return s
435         }
436         return "LinkDuplex(" + strconv.Itoa(int(x)) + ")"
437 }
438
439 // MtuProto defines enum 'mtu_proto'.
440 type MtuProto uint32
441
442 const (
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
448 )
449
450 var (
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",
457         }
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,
464         }
465 )
466
467 func (x MtuProto) String() string {
468         s, ok := MtuProto_name[uint32(x)]
469         if ok {
470                 return s
471         }
472         return "MtuProto(" + strconv.Itoa(int(x)) + ")"
473 }
474
475 // RxMode defines enum 'rx_mode'.
476 type RxMode uint32
477
478 const (
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
484 )
485
486 var (
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",
493         }
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,
500         }
501 )
502
503 func (x RxMode) String() string {
504         s, ok := RxMode_name[uint32(x)]
505         if ok {
506                 return s
507         }
508         return "RxMode(" + strconv.Itoa(int(x)) + ")"
509 }
510
511 // SubIfFlags defines enum 'sub_if_flags'.
512 type SubIfFlags uint32
513
514 const (
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
525 )
526
527 var (
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",
539         }
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,
551         }
552 )
553
554 func (x SubIfFlags) String() string {
555         s, ok := SubIfFlags_name[uint32(x)]
556         if ok {
557                 return s
558         }
559         str := func(n uint32) string {
560                 s, ok := SubIfFlags_name[uint32(n)]
561                 if ok {
562                         return s
563                 }
564                 return "SubIfFlags(" + strconv.Itoa(int(n)) + ")"
565         }
566         for i := uint32(0); i <= 32; i++ {
567                 val := uint32(x)
568                 if val&(1<<i) != 0 {
569                         if s != "" {
570                                 s += "|"
571                         }
572                         s += str(1 << i)
573                 }
574         }
575         if s == "" {
576                 return str(uint32(x))
577         }
578         return s
579 }
580
581 // VssType defines enum 'vss_type'.
582 type VssType uint32
583
584 const (
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
589 )
590
591 var (
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",
597         }
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,
603         }
604 )
605
606 func (x VssType) String() string {
607         s, ok := VssType_name[uint32(x)]
608         if ok {
609                 return s
610         }
611         return "VssType(" + strconv.Itoa(int(x)) + ")"
612 }
613
614 // AddressWithPrefix defines alias 'address_with_prefix'.
615 type AddressWithPrefix Prefix
616
617 func ParseAddressWithPrefix(s string) (AddressWithPrefix, error) {
618         prefix, err := ParsePrefix(s)
619         if err != nil {
620                 return AddressWithPrefix{}, err
621         }
622         return AddressWithPrefix(prefix), nil
623 }
624 func (x AddressWithPrefix) String() string {
625         return Prefix(x).String()
626 }
627 func (x *AddressWithPrefix) MarshalText() ([]byte, error) {
628         return []byte(x.String()), nil
629 }
630 func (x *AddressWithPrefix) UnmarshalText(text []byte) error {
631         prefix, err := ParseAddressWithPrefix(string(text))
632         if err != nil {
633                 return err
634         }
635         *x = prefix
636         return nil
637 }
638
639 // InterfaceIndex defines alias 'interface_index'.
640 type InterfaceIndex uint32
641
642 // IP4Address defines alias 'ip4_address'.
643 type IP4Address [4]uint8
644
645 func ParseIP4Address(s string) (IP4Address, error) {
646         ip := net.ParseIP(s).To4()
647         if ip == nil {
648                 return IP4Address{}, fmt.Errorf("invalid IP address: %s", s)
649         }
650         var ipaddr IP4Address
651         copy(ipaddr[:], ip.To4())
652         return ipaddr, nil
653 }
654
655 func (x IP4Address) ToIP() net.IP {
656         return net.IP(x[:]).To4()
657 }
658 func (x IP4Address) String() string {
659         return x.ToIP().String()
660 }
661 func (x *IP4Address) MarshalText() ([]byte, error) {
662         return []byte(x.String()), nil
663 }
664 func (x *IP4Address) UnmarshalText(text []byte) error {
665         ipaddr, err := ParseIP4Address(string(text))
666         if err != nil {
667                 return err
668         }
669         *x = ipaddr
670         return nil
671 }
672
673 // IP4AddressWithPrefix defines alias 'ip4_address_with_prefix'.
674 type IP4AddressWithPrefix IP4Prefix
675
676 // IP6Address defines alias 'ip6_address'.
677 type IP6Address [16]uint8
678
679 func ParseIP6Address(s string) (IP6Address, error) {
680         ip := net.ParseIP(s).To16()
681         if ip == nil {
682                 return IP6Address{}, fmt.Errorf("invalid IP address: %s", s)
683         }
684         var ipaddr IP6Address
685         copy(ipaddr[:], ip.To16())
686         return ipaddr, nil
687 }
688
689 func (x IP6Address) ToIP() net.IP {
690         return net.IP(x[:]).To16()
691 }
692 func (x IP6Address) String() string {
693         return x.ToIP().String()
694 }
695 func (x *IP6Address) MarshalText() ([]byte, error) {
696         return []byte(x.String()), nil
697 }
698 func (x *IP6Address) UnmarshalText(text []byte) error {
699         ipaddr, err := ParseIP6Address(string(text))
700         if err != nil {
701                 return err
702         }
703         *x = ipaddr
704         return nil
705 }
706
707 // IP6AddressWithPrefix defines alias 'ip6_address_with_prefix'.
708 type IP6AddressWithPrefix IP6Prefix
709
710 // MacAddress defines alias 'mac_address'.
711 type MacAddress [6]uint8
712
713 func ParseMacAddress(s string) (MacAddress, error) {
714         var macaddr MacAddress
715         mac, err := net.ParseMAC(s)
716         if err != nil {
717                 return macaddr, err
718         }
719         copy(macaddr[:], mac[:])
720         return macaddr, nil
721 }
722 func (x MacAddress) ToMAC() net.HardwareAddr {
723         return net.HardwareAddr(x[:])
724 }
725 func (x MacAddress) String() string {
726         return x.ToMAC().String()
727 }
728 func (x *MacAddress) MarshalText() ([]byte, error) {
729         return []byte(x.String()), nil
730 }
731 func (x *MacAddress) UnmarshalText(text []byte) error {
732         mac, err := ParseMacAddress(string(text))
733         if err != nil {
734                 return err
735         }
736         *x = mac
737         return nil
738 }
739
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"`
744 }
745
746 func ParseAddress(s string) (Address, error) {
747         ip := net.ParseIP(s)
748         if ip == nil {
749                 return Address{}, fmt.Errorf("invalid address: %s", s)
750         }
751         var addr Address
752         if ip.To4() == nil {
753                 addr.Af = ADDRESS_IP6
754                 var ip6 IP6Address
755                 copy(ip6[:], ip.To16())
756                 addr.Un.SetIP6(ip6)
757         } else {
758                 addr.Af = ADDRESS_IP4
759                 var ip4 IP4Address
760                 copy(ip4[:], ip.To4())
761                 addr.Un.SetIP4(ip4)
762         }
763         return addr, nil
764 }
765 func (x Address) ToIP() net.IP {
766         if x.Af == ADDRESS_IP6 {
767                 ip6 := x.Un.GetIP6()
768                 return net.IP(ip6[:]).To16()
769         } else {
770                 ip4 := x.Un.GetIP4()
771                 return net.IP(ip4[:]).To4()
772         }
773 }
774 func (x Address) String() string {
775         return x.ToIP().String()
776 }
777 func (x *Address) MarshalText() ([]byte, error) {
778         return []byte(x.String()), nil
779 }
780 func (x *Address) UnmarshalText(text []byte) error {
781         addr, err := ParseAddress(string(text))
782         if err != nil {
783                 return err
784         }
785         *x = addr
786         return nil
787 }
788
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"`
794 }
795
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"`
801 }
802
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"`
812 }
813
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"`
826 }
827
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"`
832 }
833
834 // DomainServer defines type 'domain_server'.
835 type DomainServer struct {
836         Address Address `binapi:"address,name=address" json:"address,omitempty"`
837 }
838
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"`
843 }
844
845 func ParseIP4Prefix(s string) (prefix IP4Prefix, err error) {
846         hasPrefix := strings.Contains(s, "/")
847         if hasPrefix {
848                 ip, network, err := net.ParseCIDR(s)
849                 if err != nil {
850                         return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
851                 }
852                 maskSize, _ := network.Mask.Size()
853                 prefix.Len = byte(maskSize)
854                 prefix.Address, err = ParseIP4Address(ip.String())
855                 if err != nil {
856                         return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
857                 }
858         } else {
859                 ip := net.ParseIP(s)
860                 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
861                 if ip.To4() == nil {
862                         defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
863                 }
864                 prefix.Len = byte(defaultMaskSize)
865                 prefix.Address, err = ParseIP4Address(ip.String())
866                 if err != nil {
867                         return IP4Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
868                 }
869         }
870         return prefix, nil
871 }
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}
875         return ipnet
876 }
877 func (x IP4Prefix) String() string {
878         ip := x.Address.String()
879         return ip + "/" + strconv.Itoa(int(x.Len))
880 }
881 func (x *IP4Prefix) MarshalText() ([]byte, error) {
882         return []byte(x.String()), nil
883 }
884 func (x *IP4Prefix) UnmarshalText(text []byte) error {
885         prefix, err := ParseIP4Prefix(string(text))
886         if err != nil {
887                 return err
888         }
889         *x = prefix
890         return nil
891 }
892
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"`
897 }
898
899 func ParseIP6Prefix(s string) (prefix IP6Prefix, err error) {
900         hasPrefix := strings.Contains(s, "/")
901         if hasPrefix {
902                 ip, network, err := net.ParseCIDR(s)
903                 if err != nil {
904                         return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
905                 }
906                 maskSize, _ := network.Mask.Size()
907                 prefix.Len = byte(maskSize)
908                 prefix.Address, err = ParseIP6Address(ip.String())
909                 if err != nil {
910                         return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
911                 }
912         } else {
913                 ip := net.ParseIP(s)
914                 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
915                 if ip.To4() == nil {
916                         defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
917                 }
918                 prefix.Len = byte(defaultMaskSize)
919                 prefix.Address, err = ParseIP6Address(ip.String())
920                 if err != nil {
921                         return IP6Prefix{}, fmt.Errorf("invalid IP %s: %s", s, err)
922                 }
923         }
924         return prefix, nil
925 }
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}
929         return ipnet
930 }
931 func (x IP6Prefix) String() string {
932         ip := x.Address.String()
933         return ip + "/" + strconv.Itoa(int(x.Len))
934 }
935 func (x *IP6Prefix) MarshalText() ([]byte, error) {
936         return []byte(x.String()), nil
937 }
938 func (x *IP6Prefix) UnmarshalText(text []byte) error {
939         prefix, err := ParseIP6Prefix(string(text))
940         if err != nil {
941                 return err
942         }
943         *x = prefix
944         return nil
945 }
946
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"`
953 }
954
955 // Prefix defines type 'prefix'.
956 type Prefix struct {
957         Address Address `binapi:"address,name=address" json:"address,omitempty"`
958         Len     uint8   `binapi:"u8,name=len" json:"len,omitempty"`
959 }
960
961 func ParsePrefix(ip string) (prefix Prefix, err error) {
962         hasPrefix := strings.Contains(ip, "/")
963         if hasPrefix {
964                 netIP, network, err := net.ParseCIDR(ip)
965                 if err != nil {
966                         return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
967                 }
968                 maskSize, _ := network.Mask.Size()
969                 prefix.Len = byte(maskSize)
970                 prefix.Address, err = ParseAddress(netIP.String())
971                 if err != nil {
972                         return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
973                 }
974         } else {
975                 netIP := net.ParseIP(ip)
976                 defaultMaskSize, _ := net.CIDRMask(32, 32).Size()
977                 if netIP.To4() == nil {
978                         defaultMaskSize, _ = net.CIDRMask(128, 128).Size()
979                 }
980                 prefix.Len = byte(defaultMaskSize)
981                 prefix.Address, err = ParseAddress(netIP.String())
982                 if err != nil {
983                         return Prefix{}, fmt.Errorf("invalid IP %s: %s", ip, err)
984                 }
985         }
986         return prefix, nil
987 }
988 func (x Prefix) ToIPNet() *net.IPNet {
989         var mask net.IPMask
990         if x.Address.Af == ADDRESS_IP4 {
991                 mask = net.CIDRMask(int(x.Len), 32)
992         } else {
993                 mask = net.CIDRMask(int(x.Len), 128)
994         }
995         ipnet := &net.IPNet{IP: x.Address.ToIP(), Mask: mask}
996         return ipnet
997 }
998 func (x Prefix) String() string {
999         ip := x.Address.String()
1000         return ip + "/" + strconv.Itoa(int(x.Len))
1001 }
1002 func (x *Prefix) MarshalText() ([]byte, error) {
1003         return []byte(x.String()), nil
1004 }
1005 func (x *Prefix) UnmarshalText(text []byte) error {
1006         prefix, err := ParsePrefix(string(text))
1007         if err != nil {
1008                 return err
1009         }
1010         *x = prefix
1011         return nil
1012 }
1013
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"`
1018 }
1019
1020 // AddressUnion defines union 'address_union'.
1021 type AddressUnion struct {
1022         // IP4 *IP4Address
1023         // IP6 *IP6Address
1024         XXX_UnionData [16]byte
1025 }
1026
1027 func AddressUnionIP4(a IP4Address) (u AddressUnion) {
1028         u.SetIP4(a)
1029         return
1030 }
1031 func (u *AddressUnion) SetIP4(a IP4Address) {
1032         buf := codec.NewBuffer(u.XXX_UnionData[:])
1033         buf.EncodeBytes(a[:], 4)
1034 }
1035 func (u *AddressUnion) GetIP4() (a IP4Address) {
1036         buf := codec.NewBuffer(u.XXX_UnionData[:])
1037         copy(a[:], buf.DecodeBytes(4))
1038         return
1039 }
1040
1041 func AddressUnionIP6(a IP6Address) (u AddressUnion) {
1042         u.SetIP6(a)
1043         return
1044 }
1045 func (u *AddressUnion) SetIP6(a IP6Address) {
1046         buf := codec.NewBuffer(u.XXX_UnionData[:])
1047         buf.EncodeBytes(a[:], 16)
1048 }
1049 func (u *AddressUnion) GetIP6() (a IP6Address) {
1050         buf := codec.NewBuffer(u.XXX_UnionData[:])
1051         copy(a[:], buf.DecodeBytes(16))
1052         return
1053 }
1054
1055 // DHCP6ClientsEnableDisable defines message 'dhcp6_clients_enable_disable'.
1056 type DHCP6ClientsEnableDisable struct {
1057         Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
1058 }
1059
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
1065 }
1066
1067 func (m *DHCP6ClientsEnableDisable) Size() (size int) {
1068         if m == nil {
1069                 return 0
1070         }
1071         size += 1 // m.Enable
1072         return size
1073 }
1074 func (m *DHCP6ClientsEnableDisable) Marshal(b []byte) ([]byte, error) {
1075         if b == nil {
1076                 b = make([]byte, m.Size())
1077         }
1078         buf := codec.NewBuffer(b)
1079         buf.EncodeBool(m.Enable)
1080         return buf.Bytes(), nil
1081 }
1082 func (m *DHCP6ClientsEnableDisable) Unmarshal(b []byte) error {
1083         buf := codec.NewBuffer(b)
1084         m.Enable = buf.DecodeBool()
1085         return nil
1086 }
1087
1088 // DHCP6ClientsEnableDisableReply defines message 'dhcp6_clients_enable_disable_reply'.
1089 type DHCP6ClientsEnableDisableReply struct {
1090         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1091 }
1092
1093 func (m *DHCP6ClientsEnableDisableReply) Reset() { *m = DHCP6ClientsEnableDisableReply{} }
1094 func (*DHCP6ClientsEnableDisableReply) GetMessageName() string {
1095         return "dhcp6_clients_enable_disable_reply"
1096 }
1097 func (*DHCP6ClientsEnableDisableReply) GetCrcString() string { return "e8d4e804" }
1098 func (*DHCP6ClientsEnableDisableReply) GetMessageType() api.MessageType {
1099         return api.ReplyMessage
1100 }
1101
1102 func (m *DHCP6ClientsEnableDisableReply) Size() (size int) {
1103         if m == nil {
1104                 return 0
1105         }
1106         size += 4 // m.Retval
1107         return size
1108 }
1109 func (m *DHCP6ClientsEnableDisableReply) Marshal(b []byte) ([]byte, error) {
1110         if b == nil {
1111                 b = make([]byte, m.Size())
1112         }
1113         buf := codec.NewBuffer(b)
1114         buf.EncodeInt32(m.Retval)
1115         return buf.Bytes(), nil
1116 }
1117 func (m *DHCP6ClientsEnableDisableReply) Unmarshal(b []byte) error {
1118         buf := codec.NewBuffer(b)
1119         m.Retval = buf.DecodeInt32()
1120         return nil
1121 }
1122
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"`
1126 }
1127
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
1133 }
1134
1135 func (m *DHCP6DuidLlSet) Size() (size int) {
1136         if m == nil {
1137                 return 0
1138         }
1139         size += 1 * 10 // m.DuidLl
1140         return size
1141 }
1142 func (m *DHCP6DuidLlSet) Marshal(b []byte) ([]byte, error) {
1143         if b == nil {
1144                 b = make([]byte, m.Size())
1145         }
1146         buf := codec.NewBuffer(b)
1147         buf.EncodeBytes(m.DuidLl, 10)
1148         return buf.Bytes(), nil
1149 }
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)))
1154         return nil
1155 }
1156
1157 // DHCP6DuidLlSetReply defines message 'dhcp6_duid_ll_set_reply'.
1158 type DHCP6DuidLlSetReply struct {
1159         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1160 }
1161
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
1167 }
1168
1169 func (m *DHCP6DuidLlSetReply) Size() (size int) {
1170         if m == nil {
1171                 return 0
1172         }
1173         size += 4 // m.Retval
1174         return size
1175 }
1176 func (m *DHCP6DuidLlSetReply) Marshal(b []byte) ([]byte, error) {
1177         if b == nil {
1178                 b = make([]byte, m.Size())
1179         }
1180         buf := codec.NewBuffer(b)
1181         buf.EncodeInt32(m.Retval)
1182         return buf.Bytes(), nil
1183 }
1184 func (m *DHCP6DuidLlSetReply) Unmarshal(b []byte) error {
1185         buf := codec.NewBuffer(b)
1186         m.Retval = buf.DecodeInt32()
1187         return nil
1188 }
1189
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"`
1203 }
1204
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
1210 }
1211
1212 func (m *DHCP6PdReplyEvent) Size() (size int) {
1213         if m == nil {
1214                 return 0
1215         }
1216         size += 4 // m.PID
1217         size += 4 // m.SwIfIndex
1218         size += 4 // m.ServerIndex
1219         size += 4 // m.MsgType
1220         size += 4 // m.T1
1221         size += 4 // m.T2
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
1228                 _ = s1
1229                 if j1 < len(m.Prefixes) {
1230                         s1 = m.Prefixes[j1]
1231                 }
1232                 size += 1 * 16 // s1.Prefix.Address
1233                 size += 1      // s1.Prefix.Len
1234                 size += 4      // s1.ValidTime
1235                 size += 4      // s1.PreferredTime
1236         }
1237         return size
1238 }
1239 func (m *DHCP6PdReplyEvent) Marshal(b []byte) ([]byte, error) {
1240         if b == nil {
1241                 b = make([]byte, m.Size())
1242         }
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) {
1257                         v0 = m.Prefixes[j0]
1258                 }
1259                 buf.EncodeBytes(v0.Prefix.Address[:], 16)
1260                 buf.EncodeUint8(v0.Prefix.Len)
1261                 buf.EncodeUint32(v0.ValidTime)
1262                 buf.EncodeUint32(v0.PreferredTime)
1263         }
1264         return buf.Bytes(), nil
1265 }
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()
1284         }
1285         return nil
1286 }
1287
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"`
1302 }
1303
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
1309 }
1310
1311 func (m *DHCP6PdSendClientMessage) Size() (size int) {
1312         if m == nil {
1313                 return 0
1314         }
1315         size += 4 // m.SwIfIndex
1316         size += 4 // m.ServerIndex
1317         size += 4 // m.Irt
1318         size += 4 // m.Mrt
1319         size += 4 // m.Mrc
1320         size += 4 // m.Mrd
1321         size += 1 // m.Stop
1322         size += 4 // m.MsgType
1323         size += 4 // m.T1
1324         size += 4 // m.T2
1325         size += 4 // m.NPrefixes
1326         for j1 := 0; j1 < len(m.Prefixes); j1++ {
1327                 var s1 DHCP6PdPrefixInfo
1328                 _ = s1
1329                 if j1 < len(m.Prefixes) {
1330                         s1 = m.Prefixes[j1]
1331                 }
1332                 size += 1 * 16 // s1.Prefix.Address
1333                 size += 1      // s1.Prefix.Len
1334                 size += 4      // s1.ValidTime
1335                 size += 4      // s1.PreferredTime
1336         }
1337         return size
1338 }
1339 func (m *DHCP6PdSendClientMessage) Marshal(b []byte) ([]byte, error) {
1340         if b == nil {
1341                 b = make([]byte, m.Size())
1342         }
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) {
1358                         v0 = m.Prefixes[j0]
1359                 }
1360                 buf.EncodeBytes(v0.Prefix.Address[:], 16)
1361                 buf.EncodeUint8(v0.Prefix.Len)
1362                 buf.EncodeUint32(v0.ValidTime)
1363                 buf.EncodeUint32(v0.PreferredTime)
1364         }
1365         return buf.Bytes(), nil
1366 }
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()
1386         }
1387         return nil
1388 }
1389
1390 // DHCP6PdSendClientMessageReply defines message 'dhcp6_pd_send_client_message_reply'.
1391 type DHCP6PdSendClientMessageReply struct {
1392         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1393 }
1394
1395 func (m *DHCP6PdSendClientMessageReply) Reset() { *m = DHCP6PdSendClientMessageReply{} }
1396 func (*DHCP6PdSendClientMessageReply) GetMessageName() string {
1397         return "dhcp6_pd_send_client_message_reply"
1398 }
1399 func (*DHCP6PdSendClientMessageReply) GetCrcString() string { return "e8d4e804" }
1400 func (*DHCP6PdSendClientMessageReply) GetMessageType() api.MessageType {
1401         return api.ReplyMessage
1402 }
1403
1404 func (m *DHCP6PdSendClientMessageReply) Size() (size int) {
1405         if m == nil {
1406                 return 0
1407         }
1408         size += 4 // m.Retval
1409         return size
1410 }
1411 func (m *DHCP6PdSendClientMessageReply) Marshal(b []byte) ([]byte, error) {
1412         if b == nil {
1413                 b = make([]byte, m.Size())
1414         }
1415         buf := codec.NewBuffer(b)
1416         buf.EncodeInt32(m.Retval)
1417         return buf.Bytes(), nil
1418 }
1419 func (m *DHCP6PdSendClientMessageReply) Unmarshal(b []byte) error {
1420         buf := codec.NewBuffer(b)
1421         m.Retval = buf.DecodeInt32()
1422         return nil
1423 }
1424
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"`
1438 }
1439
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
1445 }
1446
1447 func (m *DHCP6ReplyEvent) Size() (size int) {
1448         if m == nil {
1449                 return 0
1450         }
1451         size += 4 // m.PID
1452         size += 4 // m.SwIfIndex
1453         size += 4 // m.ServerIndex
1454         size += 4 // m.MsgType
1455         size += 4 // m.T1
1456         size += 4 // m.T2
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
1463                 _ = s1
1464                 if j1 < len(m.Addresses) {
1465                         s1 = m.Addresses[j1]
1466                 }
1467                 size += 1 * 16 // s1.Address
1468                 size += 4      // s1.ValidTime
1469                 size += 4      // s1.PreferredTime
1470         }
1471         return size
1472 }
1473 func (m *DHCP6ReplyEvent) Marshal(b []byte) ([]byte, error) {
1474         if b == nil {
1475                 b = make([]byte, m.Size())
1476         }
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]
1492                 }
1493                 buf.EncodeBytes(v0.Address[:], 16)
1494                 buf.EncodeUint32(v0.ValidTime)
1495                 buf.EncodeUint32(v0.PreferredTime)
1496         }
1497         return buf.Bytes(), nil
1498 }
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()
1516         }
1517         return nil
1518 }
1519
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"`
1534 }
1535
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
1541 }
1542
1543 func (m *DHCP6SendClientMessage) Size() (size int) {
1544         if m == nil {
1545                 return 0
1546         }
1547         size += 4 // m.SwIfIndex
1548         size += 4 // m.ServerIndex
1549         size += 4 // m.Irt
1550         size += 4 // m.Mrt
1551         size += 4 // m.Mrc
1552         size += 4 // m.Mrd
1553         size += 1 // m.Stop
1554         size += 4 // m.MsgType
1555         size += 4 // m.T1
1556         size += 4 // m.T2
1557         size += 4 // m.NAddresses
1558         for j1 := 0; j1 < len(m.Addresses); j1++ {
1559                 var s1 DHCP6AddressInfo
1560                 _ = s1
1561                 if j1 < len(m.Addresses) {
1562                         s1 = m.Addresses[j1]
1563                 }
1564                 size += 1 * 16 // s1.Address
1565                 size += 4      // s1.ValidTime
1566                 size += 4      // s1.PreferredTime
1567         }
1568         return size
1569 }
1570 func (m *DHCP6SendClientMessage) Marshal(b []byte) ([]byte, error) {
1571         if b == nil {
1572                 b = make([]byte, m.Size())
1573         }
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]
1590                 }
1591                 buf.EncodeBytes(v0.Address[:], 16)
1592                 buf.EncodeUint32(v0.ValidTime)
1593                 buf.EncodeUint32(v0.PreferredTime)
1594         }
1595         return buf.Bytes(), nil
1596 }
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()
1615         }
1616         return nil
1617 }
1618
1619 // DHCP6SendClientMessageReply defines message 'dhcp6_send_client_message_reply'.
1620 type DHCP6SendClientMessageReply struct {
1621         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1622 }
1623
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
1629 }
1630
1631 func (m *DHCP6SendClientMessageReply) Size() (size int) {
1632         if m == nil {
1633                 return 0
1634         }
1635         size += 4 // m.Retval
1636         return size
1637 }
1638 func (m *DHCP6SendClientMessageReply) Marshal(b []byte) ([]byte, error) {
1639         if b == nil {
1640                 b = make([]byte, m.Size())
1641         }
1642         buf := codec.NewBuffer(b)
1643         buf.EncodeInt32(m.Retval)
1644         return buf.Bytes(), nil
1645 }
1646 func (m *DHCP6SendClientMessageReply) Unmarshal(b []byte) error {
1647         buf := codec.NewBuffer(b)
1648         m.Retval = buf.DecodeInt32()
1649         return nil
1650 }
1651
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"`
1656 }
1657
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
1663 }
1664
1665 func (m *DHCPClientConfig) Size() (size int) {
1666         if m == nil {
1667                 return 0
1668         }
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
1677         return size
1678 }
1679 func (m *DHCPClientConfig) Marshal(b []byte) ([]byte, error) {
1680         if b == nil {
1681                 b = make([]byte, m.Size())
1682         }
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
1693 }
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()
1705         return nil
1706 }
1707
1708 // DHCPClientConfigReply defines message 'dhcp_client_config_reply'.
1709 type DHCPClientConfigReply struct {
1710         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1711 }
1712
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
1718 }
1719
1720 func (m *DHCPClientConfigReply) Size() (size int) {
1721         if m == nil {
1722                 return 0
1723         }
1724         size += 4 // m.Retval
1725         return size
1726 }
1727 func (m *DHCPClientConfigReply) Marshal(b []byte) ([]byte, error) {
1728         if b == nil {
1729                 b = make([]byte, m.Size())
1730         }
1731         buf := codec.NewBuffer(b)
1732         buf.EncodeInt32(m.Retval)
1733         return buf.Bytes(), nil
1734 }
1735 func (m *DHCPClientConfigReply) Unmarshal(b []byte) error {
1736         buf := codec.NewBuffer(b)
1737         m.Retval = buf.DecodeInt32()
1738         return nil
1739 }
1740
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"`
1745 }
1746
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
1752 }
1753
1754 func (m *DHCPClientDetails) Size() (size int) {
1755         if m == nil {
1756                 return 0
1757         }
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++ {
1777                 var s2 DomainServer
1778                 _ = s2
1779                 if j2 < len(m.Lease.DomainServer) {
1780                         s2 = m.Lease.DomainServer[j2]
1781                 }
1782                 size += 4      // s2.Address.Af
1783                 size += 1 * 16 // s2.Address.Un
1784         }
1785         return size
1786 }
1787 func (m *DHCPClientDetails) Marshal(b []byte) ([]byte, error) {
1788         if b == nil {
1789                 b = make([]byte, m.Size())
1790         }
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]
1814                 }
1815                 buf.EncodeUint32(uint32(v1.Address.Af))
1816                 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
1817         }
1818         return buf.Bytes(), nil
1819 }
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))
1845         }
1846         return nil
1847 }
1848
1849 // DHCPClientDump defines message 'dhcp_client_dump'.
1850 type DHCPClientDump struct{}
1851
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
1857 }
1858
1859 func (m *DHCPClientDump) Size() (size int) {
1860         if m == nil {
1861                 return 0
1862         }
1863         return size
1864 }
1865 func (m *DHCPClientDump) Marshal(b []byte) ([]byte, error) {
1866         if b == nil {
1867                 b = make([]byte, m.Size())
1868         }
1869         buf := codec.NewBuffer(b)
1870         return buf.Bytes(), nil
1871 }
1872 func (m *DHCPClientDump) Unmarshal(b []byte) error {
1873         return nil
1874 }
1875
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"`
1880 }
1881
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
1887 }
1888
1889 func (m *DHCPComplEvent) Size() (size int) {
1890         if m == nil {
1891                 return 0
1892         }
1893         size += 4      // m.PID
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++ {
1906                 var s2 DomainServer
1907                 _ = s2
1908                 if j2 < len(m.Lease.DomainServer) {
1909                         s2 = m.Lease.DomainServer[j2]
1910                 }
1911                 size += 4      // s2.Address.Af
1912                 size += 1 * 16 // s2.Address.Un
1913         }
1914         return size
1915 }
1916 func (m *DHCPComplEvent) Marshal(b []byte) ([]byte, error) {
1917         if b == nil {
1918                 b = make([]byte, m.Size())
1919         }
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]
1937                 }
1938                 buf.EncodeUint32(uint32(v1.Address.Af))
1939                 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
1940         }
1941         return buf.Bytes(), nil
1942 }
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))
1961         }
1962         return nil
1963 }
1964
1965 // DHCPPluginControlPing defines message 'dhcp_plugin_control_ping'.
1966 type DHCPPluginControlPing struct{}
1967
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
1973 }
1974
1975 func (m *DHCPPluginControlPing) Size() (size int) {
1976         if m == nil {
1977                 return 0
1978         }
1979         return size
1980 }
1981 func (m *DHCPPluginControlPing) Marshal(b []byte) ([]byte, error) {
1982         if b == nil {
1983                 b = make([]byte, m.Size())
1984         }
1985         buf := codec.NewBuffer(b)
1986         return buf.Bytes(), nil
1987 }
1988 func (m *DHCPPluginControlPing) Unmarshal(b []byte) error {
1989         return nil
1990 }
1991
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"`
1997 }
1998
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
2004 }
2005
2006 func (m *DHCPPluginControlPingReply) Size() (size int) {
2007         if m == nil {
2008                 return 0
2009         }
2010         size += 4 // m.Retval
2011         size += 4 // m.ClientIndex
2012         size += 4 // m.VpePID
2013         return size
2014 }
2015 func (m *DHCPPluginControlPingReply) Marshal(b []byte) ([]byte, error) {
2016         if b == nil {
2017                 b = make([]byte, m.Size())
2018         }
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
2024 }
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()
2030         return nil
2031 }
2032
2033 // DHCPPluginGetVersion defines message 'dhcp_plugin_get_version'.
2034 type DHCPPluginGetVersion struct{}
2035
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
2041 }
2042
2043 func (m *DHCPPluginGetVersion) Size() (size int) {
2044         if m == nil {
2045                 return 0
2046         }
2047         return size
2048 }
2049 func (m *DHCPPluginGetVersion) Marshal(b []byte) ([]byte, error) {
2050         if b == nil {
2051                 b = make([]byte, m.Size())
2052         }
2053         buf := codec.NewBuffer(b)
2054         return buf.Bytes(), nil
2055 }
2056 func (m *DHCPPluginGetVersion) Unmarshal(b []byte) error {
2057         return nil
2058 }
2059
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"`
2064 }
2065
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
2071 }
2072
2073 func (m *DHCPPluginGetVersionReply) Size() (size int) {
2074         if m == nil {
2075                 return 0
2076         }
2077         size += 4 // m.Major
2078         size += 4 // m.Minor
2079         return size
2080 }
2081 func (m *DHCPPluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
2082         if b == nil {
2083                 b = make([]byte, m.Size())
2084         }
2085         buf := codec.NewBuffer(b)
2086         buf.EncodeUint32(m.Major)
2087         buf.EncodeUint32(m.Minor)
2088         return buf.Bytes(), nil
2089 }
2090 func (m *DHCPPluginGetVersionReply) Unmarshal(b []byte) error {
2091         buf := codec.NewBuffer(b)
2092         m.Major = buf.DecodeUint32()
2093         m.Minor = buf.DecodeUint32()
2094         return nil
2095 }
2096
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"`
2104 }
2105
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
2111 }
2112
2113 func (m *DHCPProxyConfig) Size() (size int) {
2114         if m == nil {
2115                 return 0
2116         }
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
2124         return size
2125 }
2126 func (m *DHCPProxyConfig) Marshal(b []byte) ([]byte, error) {
2127         if b == nil {
2128                 b = make([]byte, m.Size())
2129         }
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
2139 }
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))
2149         return nil
2150 }
2151
2152 // DHCPProxyConfigReply defines message 'dhcp_proxy_config_reply'.
2153 type DHCPProxyConfigReply struct {
2154         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2155 }
2156
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
2162 }
2163
2164 func (m *DHCPProxyConfigReply) Size() (size int) {
2165         if m == nil {
2166                 return 0
2167         }
2168         size += 4 // m.Retval
2169         return size
2170 }
2171 func (m *DHCPProxyConfigReply) Marshal(b []byte) ([]byte, error) {
2172         if b == nil {
2173                 b = make([]byte, m.Size())
2174         }
2175         buf := codec.NewBuffer(b)
2176         buf.EncodeInt32(m.Retval)
2177         return buf.Bytes(), nil
2178 }
2179 func (m *DHCPProxyConfigReply) Unmarshal(b []byte) error {
2180         buf := codec.NewBuffer(b)
2181         m.Retval = buf.DecodeInt32()
2182         return nil
2183 }
2184
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"`
2196 }
2197
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
2203 }
2204
2205 func (m *DHCPProxyDetails) Size() (size int) {
2206         if m == nil {
2207                 return 0
2208         }
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++ {
2219                 var s1 DHCPServer
2220                 _ = s1
2221                 if j1 < len(m.Servers) {
2222                         s1 = m.Servers[j1]
2223                 }
2224                 size += 4      // s1.ServerVrfID
2225                 size += 4      // s1.DHCPServer.Af
2226                 size += 1 * 16 // s1.DHCPServer.Un
2227         }
2228         return size
2229 }
2230 func (m *DHCPProxyDetails) Marshal(b []byte) ([]byte, error) {
2231         if b == nil {
2232                 b = make([]byte, m.Size())
2233         }
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) {
2247                         v0 = m.Servers[j0]
2248                 }
2249                 buf.EncodeUint32(v0.ServerVrfID)
2250                 buf.EncodeUint32(uint32(v0.DHCPServer.Af))
2251                 buf.EncodeBytes(v0.DHCPServer.Un.XXX_UnionData[:], 16)
2252         }
2253         return buf.Bytes(), nil
2254 }
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))
2271         }
2272         return nil
2273 }
2274
2275 // DHCPProxyDump defines message 'dhcp_proxy_dump'.
2276 type DHCPProxyDump struct {
2277         IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2278 }
2279
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
2285 }
2286
2287 func (m *DHCPProxyDump) Size() (size int) {
2288         if m == nil {
2289                 return 0
2290         }
2291         size += 1 // m.IsIP6
2292         return size
2293 }
2294 func (m *DHCPProxyDump) Marshal(b []byte) ([]byte, error) {
2295         if b == nil {
2296                 b = make([]byte, m.Size())
2297         }
2298         buf := codec.NewBuffer(b)
2299         buf.EncodeBool(m.IsIP6)
2300         return buf.Bytes(), nil
2301 }
2302 func (m *DHCPProxyDump) Unmarshal(b []byte) error {
2303         buf := codec.NewBuffer(b)
2304         m.IsIP6 = buf.DecodeBool()
2305         return nil
2306 }
2307
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"`
2317 }
2318
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
2324 }
2325
2326 func (m *DHCPProxySetVss) Size() (size int) {
2327         if m == nil {
2328                 return 0
2329         }
2330         size += 4   // m.TblID
2331         size += 4   // m.VssType
2332         size += 129 // m.VPNAsciiID
2333         size += 4   // m.Oui
2334         size += 4   // m.VPNIndex
2335         size += 1   // m.IsIPv6
2336         size += 1   // m.IsAdd
2337         return size
2338 }
2339 func (m *DHCPProxySetVss) Marshal(b []byte) ([]byte, error) {
2340         if b == nil {
2341                 b = make([]byte, m.Size())
2342         }
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
2352 }
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()
2362         return nil
2363 }
2364
2365 // DHCPProxySetVssReply defines message 'dhcp_proxy_set_vss_reply'.
2366 type DHCPProxySetVssReply struct {
2367         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2368 }
2369
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
2375 }
2376
2377 func (m *DHCPProxySetVssReply) Size() (size int) {
2378         if m == nil {
2379                 return 0
2380         }
2381         size += 4 // m.Retval
2382         return size
2383 }
2384 func (m *DHCPProxySetVssReply) Marshal(b []byte) ([]byte, error) {
2385         if b == nil {
2386                 b = make([]byte, m.Size())
2387         }
2388         buf := codec.NewBuffer(b)
2389         buf.EncodeInt32(m.Retval)
2390         return buf.Bytes(), nil
2391 }
2392 func (m *DHCPProxySetVssReply) Unmarshal(b []byte) error {
2393         buf := codec.NewBuffer(b)
2394         m.Retval = buf.DecodeInt32()
2395         return nil
2396 }
2397
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"`
2402 }
2403
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
2409 }
2410
2411 func (m *WantDHCP6PdReplyEvents) Size() (size int) {
2412         if m == nil {
2413                 return 0
2414         }
2415         size += 1 // m.EnableDisable
2416         size += 4 // m.PID
2417         return size
2418 }
2419 func (m *WantDHCP6PdReplyEvents) Marshal(b []byte) ([]byte, error) {
2420         if b == nil {
2421                 b = make([]byte, m.Size())
2422         }
2423         buf := codec.NewBuffer(b)
2424         buf.EncodeBool(m.EnableDisable)
2425         buf.EncodeUint32(m.PID)
2426         return buf.Bytes(), nil
2427 }
2428 func (m *WantDHCP6PdReplyEvents) Unmarshal(b []byte) error {
2429         buf := codec.NewBuffer(b)
2430         m.EnableDisable = buf.DecodeBool()
2431         m.PID = buf.DecodeUint32()
2432         return nil
2433 }
2434
2435 // WantDHCP6PdReplyEventsReply defines message 'want_dhcp6_pd_reply_events_reply'.
2436 type WantDHCP6PdReplyEventsReply struct {
2437         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2438 }
2439
2440 func (m *WantDHCP6PdReplyEventsReply) Reset() { *m = WantDHCP6PdReplyEventsReply{} }
2441 func (*WantDHCP6PdReplyEventsReply) GetMessageName() string {
2442         return "want_dhcp6_pd_reply_events_reply"
2443 }
2444 func (*WantDHCP6PdReplyEventsReply) GetCrcString() string { return "e8d4e804" }
2445 func (*WantDHCP6PdReplyEventsReply) GetMessageType() api.MessageType {
2446         return api.ReplyMessage
2447 }
2448
2449 func (m *WantDHCP6PdReplyEventsReply) Size() (size int) {
2450         if m == nil {
2451                 return 0
2452         }
2453         size += 4 // m.Retval
2454         return size
2455 }
2456 func (m *WantDHCP6PdReplyEventsReply) Marshal(b []byte) ([]byte, error) {
2457         if b == nil {
2458                 b = make([]byte, m.Size())
2459         }
2460         buf := codec.NewBuffer(b)
2461         buf.EncodeInt32(m.Retval)
2462         return buf.Bytes(), nil
2463 }
2464 func (m *WantDHCP6PdReplyEventsReply) Unmarshal(b []byte) error {
2465         buf := codec.NewBuffer(b)
2466         m.Retval = buf.DecodeInt32()
2467         return nil
2468 }
2469
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"`
2474 }
2475
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
2481 }
2482
2483 func (m *WantDHCP6ReplyEvents) Size() (size int) {
2484         if m == nil {
2485                 return 0
2486         }
2487         size += 1 // m.EnableDisable
2488         size += 4 // m.PID
2489         return size
2490 }
2491 func (m *WantDHCP6ReplyEvents) Marshal(b []byte) ([]byte, error) {
2492         if b == nil {
2493                 b = make([]byte, m.Size())
2494         }
2495         buf := codec.NewBuffer(b)
2496         buf.EncodeUint8(m.EnableDisable)
2497         buf.EncodeUint32(m.PID)
2498         return buf.Bytes(), nil
2499 }
2500 func (m *WantDHCP6ReplyEvents) Unmarshal(b []byte) error {
2501         buf := codec.NewBuffer(b)
2502         m.EnableDisable = buf.DecodeUint8()
2503         m.PID = buf.DecodeUint32()
2504         return nil
2505 }
2506
2507 // WantDHCP6ReplyEventsReply defines message 'want_dhcp6_reply_events_reply'.
2508 type WantDHCP6ReplyEventsReply struct {
2509         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2510 }
2511
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
2517 }
2518
2519 func (m *WantDHCP6ReplyEventsReply) Size() (size int) {
2520         if m == nil {
2521                 return 0
2522         }
2523         size += 4 // m.Retval
2524         return size
2525 }
2526 func (m *WantDHCP6ReplyEventsReply) Marshal(b []byte) ([]byte, error) {
2527         if b == nil {
2528                 b = make([]byte, m.Size())
2529         }
2530         buf := codec.NewBuffer(b)
2531         buf.EncodeInt32(m.Retval)
2532         return buf.Bytes(), nil
2533 }
2534 func (m *WantDHCP6ReplyEventsReply) Unmarshal(b []byte) error {
2535         buf := codec.NewBuffer(b)
2536         m.Retval = buf.DecodeInt32()
2537         return nil
2538 }
2539
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")
2571 }
2572
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),
2605         }
2606 }