6a86c09291d3c0c253d2ba80adffdaf876351b06
[govpp.git] / binapi / ip6_nd / ip6_nd.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.5.0-dev
4 //  VPP:              22.02-release
5 // source: /usr/share/vpp/api/core/ip6_nd.api.json
6
7 // Package ip6_nd contains generated bindings for API file ip6_nd.api.
8 //
9 // Contents:
10 //   1 struct
11 //  15 messages
12 //
13 package ip6_nd
14
15 import (
16         api "git.fd.io/govpp.git/api"
17         interface_types "git.fd.io/govpp.git/binapi/interface_types"
18         ip_types "git.fd.io/govpp.git/binapi/ip_types"
19         codec "git.fd.io/govpp.git/codec"
20 )
21
22 // This is a compile-time assertion to ensure that this generated file
23 // is compatible with the GoVPP api package it is being compiled against.
24 // A compilation error at this line likely means your copy of the
25 // GoVPP api package needs to be updated.
26 const _ = api.GoVppAPIPackageIsVersion2
27
28 const (
29         APIFile    = "ip6_nd"
30         APIVersion = "1.0.0"
31         VersionCrc = 0x64750117
32 )
33
34 // IP6RaPrefixInfo defines type 'ip6_ra_prefix_info'.
35 type IP6RaPrefixInfo struct {
36         Prefix        ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
37         Flags         uint8           `binapi:"u8,name=flags" json:"flags,omitempty"`
38         ValidTime     uint32          `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
39         PreferredTime uint32          `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
40 }
41
42 // IP6RaEvent defines message 'ip6_ra_event'.
43 type IP6RaEvent struct {
44         PID                                                 uint32                         `binapi:"u32,name=pid" json:"pid,omitempty"`
45         SwIfIndex                                           interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
46         RouterAddr                                          ip_types.IP6Address            `binapi:"ip6_address,name=router_addr" json:"router_addr,omitempty"`
47         CurrentHopLimit                                     uint8                          `binapi:"u8,name=current_hop_limit" json:"current_hop_limit,omitempty"`
48         Flags                                               uint8                          `binapi:"u8,name=flags" json:"flags,omitempty"`
49         RouterLifetimeInSec                                 uint16                         `binapi:"u16,name=router_lifetime_in_sec" json:"router_lifetime_in_sec,omitempty"`
50         NeighborReachableTimeInMsec                         uint32                         `binapi:"u32,name=neighbor_reachable_time_in_msec" json:"neighbor_reachable_time_in_msec,omitempty"`
51         TimeInMsecBetweenRetransmittedNeighborSolicitations uint32                         `binapi:"u32,name=time_in_msec_between_retransmitted_neighbor_solicitations" json:"time_in_msec_between_retransmitted_neighbor_solicitations,omitempty"`
52         NPrefixes                                           uint32                         `binapi:"u32,name=n_prefixes" json:"-"`
53         Prefixes                                            []IP6RaPrefixInfo              `binapi:"ip6_ra_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
54 }
55
56 func (m *IP6RaEvent) Reset()               { *m = IP6RaEvent{} }
57 func (*IP6RaEvent) GetMessageName() string { return "ip6_ra_event" }
58 func (*IP6RaEvent) GetCrcString() string   { return "0364c1c5" }
59 func (*IP6RaEvent) GetMessageType() api.MessageType {
60         return api.EventMessage
61 }
62
63 func (m *IP6RaEvent) Size() (size int) {
64         if m == nil {
65                 return 0
66         }
67         size += 4      // m.PID
68         size += 4      // m.SwIfIndex
69         size += 1 * 16 // m.RouterAddr
70         size += 1      // m.CurrentHopLimit
71         size += 1      // m.Flags
72         size += 2      // m.RouterLifetimeInSec
73         size += 4      // m.NeighborReachableTimeInMsec
74         size += 4      // m.TimeInMsecBetweenRetransmittedNeighborSolicitations
75         size += 4      // m.NPrefixes
76         for j1 := 0; j1 < len(m.Prefixes); j1++ {
77                 var s1 IP6RaPrefixInfo
78                 _ = s1
79                 if j1 < len(m.Prefixes) {
80                         s1 = m.Prefixes[j1]
81                 }
82                 size += 1      // s1.Prefix.Address.Af
83                 size += 1 * 16 // s1.Prefix.Address.Un
84                 size += 1      // s1.Prefix.Len
85                 size += 1      // s1.Flags
86                 size += 4      // s1.ValidTime
87                 size += 4      // s1.PreferredTime
88         }
89         return size
90 }
91 func (m *IP6RaEvent) Marshal(b []byte) ([]byte, error) {
92         if b == nil {
93                 b = make([]byte, m.Size())
94         }
95         buf := codec.NewBuffer(b)
96         buf.EncodeUint32(m.PID)
97         buf.EncodeUint32(uint32(m.SwIfIndex))
98         buf.EncodeBytes(m.RouterAddr[:], 16)
99         buf.EncodeUint8(m.CurrentHopLimit)
100         buf.EncodeUint8(m.Flags)
101         buf.EncodeUint16(m.RouterLifetimeInSec)
102         buf.EncodeUint32(m.NeighborReachableTimeInMsec)
103         buf.EncodeUint32(m.TimeInMsecBetweenRetransmittedNeighborSolicitations)
104         buf.EncodeUint32(uint32(len(m.Prefixes)))
105         for j0 := 0; j0 < len(m.Prefixes); j0++ {
106                 var v0 IP6RaPrefixInfo // Prefixes
107                 if j0 < len(m.Prefixes) {
108                         v0 = m.Prefixes[j0]
109                 }
110                 buf.EncodeUint8(uint8(v0.Prefix.Address.Af))
111                 buf.EncodeBytes(v0.Prefix.Address.Un.XXX_UnionData[:], 16)
112                 buf.EncodeUint8(v0.Prefix.Len)
113                 buf.EncodeUint8(v0.Flags)
114                 buf.EncodeUint32(v0.ValidTime)
115                 buf.EncodeUint32(v0.PreferredTime)
116         }
117         return buf.Bytes(), nil
118 }
119 func (m *IP6RaEvent) Unmarshal(b []byte) error {
120         buf := codec.NewBuffer(b)
121         m.PID = buf.DecodeUint32()
122         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
123         copy(m.RouterAddr[:], buf.DecodeBytes(16))
124         m.CurrentHopLimit = buf.DecodeUint8()
125         m.Flags = buf.DecodeUint8()
126         m.RouterLifetimeInSec = buf.DecodeUint16()
127         m.NeighborReachableTimeInMsec = buf.DecodeUint32()
128         m.TimeInMsecBetweenRetransmittedNeighborSolicitations = buf.DecodeUint32()
129         m.NPrefixes = buf.DecodeUint32()
130         m.Prefixes = make([]IP6RaPrefixInfo, m.NPrefixes)
131         for j0 := 0; j0 < len(m.Prefixes); j0++ {
132                 m.Prefixes[j0].Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
133                 copy(m.Prefixes[j0].Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
134                 m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
135                 m.Prefixes[j0].Flags = buf.DecodeUint8()
136                 m.Prefixes[j0].ValidTime = buf.DecodeUint32()
137                 m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
138         }
139         return nil
140 }
141
142 // IP6ndProxyAddDel defines message 'ip6nd_proxy_add_del'.
143 type IP6ndProxyAddDel struct {
144         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
145         IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
146         IP        ip_types.IP6Address            `binapi:"ip6_address,name=ip" json:"ip,omitempty"`
147 }
148
149 func (m *IP6ndProxyAddDel) Reset()               { *m = IP6ndProxyAddDel{} }
150 func (*IP6ndProxyAddDel) GetMessageName() string { return "ip6nd_proxy_add_del" }
151 func (*IP6ndProxyAddDel) GetCrcString() string   { return "c2e4a686" }
152 func (*IP6ndProxyAddDel) GetMessageType() api.MessageType {
153         return api.RequestMessage
154 }
155
156 func (m *IP6ndProxyAddDel) Size() (size int) {
157         if m == nil {
158                 return 0
159         }
160         size += 4      // m.SwIfIndex
161         size += 1      // m.IsAdd
162         size += 1 * 16 // m.IP
163         return size
164 }
165 func (m *IP6ndProxyAddDel) Marshal(b []byte) ([]byte, error) {
166         if b == nil {
167                 b = make([]byte, m.Size())
168         }
169         buf := codec.NewBuffer(b)
170         buf.EncodeUint32(uint32(m.SwIfIndex))
171         buf.EncodeBool(m.IsAdd)
172         buf.EncodeBytes(m.IP[:], 16)
173         return buf.Bytes(), nil
174 }
175 func (m *IP6ndProxyAddDel) Unmarshal(b []byte) error {
176         buf := codec.NewBuffer(b)
177         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
178         m.IsAdd = buf.DecodeBool()
179         copy(m.IP[:], buf.DecodeBytes(16))
180         return nil
181 }
182
183 // IP6ndProxyAddDelReply defines message 'ip6nd_proxy_add_del_reply'.
184 type IP6ndProxyAddDelReply struct {
185         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
186 }
187
188 func (m *IP6ndProxyAddDelReply) Reset()               { *m = IP6ndProxyAddDelReply{} }
189 func (*IP6ndProxyAddDelReply) GetMessageName() string { return "ip6nd_proxy_add_del_reply" }
190 func (*IP6ndProxyAddDelReply) GetCrcString() string   { return "e8d4e804" }
191 func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType {
192         return api.ReplyMessage
193 }
194
195 func (m *IP6ndProxyAddDelReply) Size() (size int) {
196         if m == nil {
197                 return 0
198         }
199         size += 4 // m.Retval
200         return size
201 }
202 func (m *IP6ndProxyAddDelReply) Marshal(b []byte) ([]byte, error) {
203         if b == nil {
204                 b = make([]byte, m.Size())
205         }
206         buf := codec.NewBuffer(b)
207         buf.EncodeInt32(m.Retval)
208         return buf.Bytes(), nil
209 }
210 func (m *IP6ndProxyAddDelReply) Unmarshal(b []byte) error {
211         buf := codec.NewBuffer(b)
212         m.Retval = buf.DecodeInt32()
213         return nil
214 }
215
216 // IP6ndProxyDetails defines message 'ip6nd_proxy_details'.
217 type IP6ndProxyDetails struct {
218         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
219         IP        ip_types.IP6Address            `binapi:"ip6_address,name=ip" json:"ip,omitempty"`
220 }
221
222 func (m *IP6ndProxyDetails) Reset()               { *m = IP6ndProxyDetails{} }
223 func (*IP6ndProxyDetails) GetMessageName() string { return "ip6nd_proxy_details" }
224 func (*IP6ndProxyDetails) GetCrcString() string   { return "30b9ff4a" }
225 func (*IP6ndProxyDetails) GetMessageType() api.MessageType {
226         return api.ReplyMessage
227 }
228
229 func (m *IP6ndProxyDetails) Size() (size int) {
230         if m == nil {
231                 return 0
232         }
233         size += 4      // m.SwIfIndex
234         size += 1 * 16 // m.IP
235         return size
236 }
237 func (m *IP6ndProxyDetails) Marshal(b []byte) ([]byte, error) {
238         if b == nil {
239                 b = make([]byte, m.Size())
240         }
241         buf := codec.NewBuffer(b)
242         buf.EncodeUint32(uint32(m.SwIfIndex))
243         buf.EncodeBytes(m.IP[:], 16)
244         return buf.Bytes(), nil
245 }
246 func (m *IP6ndProxyDetails) Unmarshal(b []byte) error {
247         buf := codec.NewBuffer(b)
248         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
249         copy(m.IP[:], buf.DecodeBytes(16))
250         return nil
251 }
252
253 // IP6ndProxyDump defines message 'ip6nd_proxy_dump'.
254 type IP6ndProxyDump struct{}
255
256 func (m *IP6ndProxyDump) Reset()               { *m = IP6ndProxyDump{} }
257 func (*IP6ndProxyDump) GetMessageName() string { return "ip6nd_proxy_dump" }
258 func (*IP6ndProxyDump) GetCrcString() string   { return "51077d14" }
259 func (*IP6ndProxyDump) GetMessageType() api.MessageType {
260         return api.RequestMessage
261 }
262
263 func (m *IP6ndProxyDump) Size() (size int) {
264         if m == nil {
265                 return 0
266         }
267         return size
268 }
269 func (m *IP6ndProxyDump) Marshal(b []byte) ([]byte, error) {
270         if b == nil {
271                 b = make([]byte, m.Size())
272         }
273         buf := codec.NewBuffer(b)
274         return buf.Bytes(), nil
275 }
276 func (m *IP6ndProxyDump) Unmarshal(b []byte) error {
277         return nil
278 }
279
280 // IP6ndProxyEnableDisable defines message 'ip6nd_proxy_enable_disable'.
281 type IP6ndProxyEnableDisable struct {
282         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
283         IsEnable  bool                           `binapi:"bool,name=is_enable" json:"is_enable,omitempty"`
284 }
285
286 func (m *IP6ndProxyEnableDisable) Reset()               { *m = IP6ndProxyEnableDisable{} }
287 func (*IP6ndProxyEnableDisable) GetMessageName() string { return "ip6nd_proxy_enable_disable" }
288 func (*IP6ndProxyEnableDisable) GetCrcString() string   { return "7daa1e3a" }
289 func (*IP6ndProxyEnableDisable) GetMessageType() api.MessageType {
290         return api.RequestMessage
291 }
292
293 func (m *IP6ndProxyEnableDisable) Size() (size int) {
294         if m == nil {
295                 return 0
296         }
297         size += 4 // m.SwIfIndex
298         size += 1 // m.IsEnable
299         return size
300 }
301 func (m *IP6ndProxyEnableDisable) Marshal(b []byte) ([]byte, error) {
302         if b == nil {
303                 b = make([]byte, m.Size())
304         }
305         buf := codec.NewBuffer(b)
306         buf.EncodeUint32(uint32(m.SwIfIndex))
307         buf.EncodeBool(m.IsEnable)
308         return buf.Bytes(), nil
309 }
310 func (m *IP6ndProxyEnableDisable) Unmarshal(b []byte) error {
311         buf := codec.NewBuffer(b)
312         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
313         m.IsEnable = buf.DecodeBool()
314         return nil
315 }
316
317 // IP6ndProxyEnableDisableReply defines message 'ip6nd_proxy_enable_disable_reply'.
318 type IP6ndProxyEnableDisableReply struct {
319         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
320 }
321
322 func (m *IP6ndProxyEnableDisableReply) Reset() { *m = IP6ndProxyEnableDisableReply{} }
323 func (*IP6ndProxyEnableDisableReply) GetMessageName() string {
324         return "ip6nd_proxy_enable_disable_reply"
325 }
326 func (*IP6ndProxyEnableDisableReply) GetCrcString() string { return "e8d4e804" }
327 func (*IP6ndProxyEnableDisableReply) GetMessageType() api.MessageType {
328         return api.ReplyMessage
329 }
330
331 func (m *IP6ndProxyEnableDisableReply) Size() (size int) {
332         if m == nil {
333                 return 0
334         }
335         size += 4 // m.Retval
336         return size
337 }
338 func (m *IP6ndProxyEnableDisableReply) Marshal(b []byte) ([]byte, error) {
339         if b == nil {
340                 b = make([]byte, m.Size())
341         }
342         buf := codec.NewBuffer(b)
343         buf.EncodeInt32(m.Retval)
344         return buf.Bytes(), nil
345 }
346 func (m *IP6ndProxyEnableDisableReply) Unmarshal(b []byte) error {
347         buf := codec.NewBuffer(b)
348         m.Retval = buf.DecodeInt32()
349         return nil
350 }
351
352 // IP6ndSendRouterSolicitation defines message 'ip6nd_send_router_solicitation'.
353 type IP6ndSendRouterSolicitation struct {
354         Irt       uint32                         `binapi:"u32,name=irt" json:"irt,omitempty"`
355         Mrt       uint32                         `binapi:"u32,name=mrt" json:"mrt,omitempty"`
356         Mrc       uint32                         `binapi:"u32,name=mrc" json:"mrc,omitempty"`
357         Mrd       uint32                         `binapi:"u32,name=mrd" json:"mrd,omitempty"`
358         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
359         Stop      bool                           `binapi:"bool,name=stop" json:"stop,omitempty"`
360 }
361
362 func (m *IP6ndSendRouterSolicitation) Reset()               { *m = IP6ndSendRouterSolicitation{} }
363 func (*IP6ndSendRouterSolicitation) GetMessageName() string { return "ip6nd_send_router_solicitation" }
364 func (*IP6ndSendRouterSolicitation) GetCrcString() string   { return "e5de609c" }
365 func (*IP6ndSendRouterSolicitation) GetMessageType() api.MessageType {
366         return api.RequestMessage
367 }
368
369 func (m *IP6ndSendRouterSolicitation) Size() (size int) {
370         if m == nil {
371                 return 0
372         }
373         size += 4 // m.Irt
374         size += 4 // m.Mrt
375         size += 4 // m.Mrc
376         size += 4 // m.Mrd
377         size += 4 // m.SwIfIndex
378         size += 1 // m.Stop
379         return size
380 }
381 func (m *IP6ndSendRouterSolicitation) Marshal(b []byte) ([]byte, error) {
382         if b == nil {
383                 b = make([]byte, m.Size())
384         }
385         buf := codec.NewBuffer(b)
386         buf.EncodeUint32(m.Irt)
387         buf.EncodeUint32(m.Mrt)
388         buf.EncodeUint32(m.Mrc)
389         buf.EncodeUint32(m.Mrd)
390         buf.EncodeUint32(uint32(m.SwIfIndex))
391         buf.EncodeBool(m.Stop)
392         return buf.Bytes(), nil
393 }
394 func (m *IP6ndSendRouterSolicitation) Unmarshal(b []byte) error {
395         buf := codec.NewBuffer(b)
396         m.Irt = buf.DecodeUint32()
397         m.Mrt = buf.DecodeUint32()
398         m.Mrc = buf.DecodeUint32()
399         m.Mrd = buf.DecodeUint32()
400         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
401         m.Stop = buf.DecodeBool()
402         return nil
403 }
404
405 // IP6ndSendRouterSolicitationReply defines message 'ip6nd_send_router_solicitation_reply'.
406 type IP6ndSendRouterSolicitationReply struct {
407         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
408 }
409
410 func (m *IP6ndSendRouterSolicitationReply) Reset() { *m = IP6ndSendRouterSolicitationReply{} }
411 func (*IP6ndSendRouterSolicitationReply) GetMessageName() string {
412         return "ip6nd_send_router_solicitation_reply"
413 }
414 func (*IP6ndSendRouterSolicitationReply) GetCrcString() string { return "e8d4e804" }
415 func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType {
416         return api.ReplyMessage
417 }
418
419 func (m *IP6ndSendRouterSolicitationReply) Size() (size int) {
420         if m == nil {
421                 return 0
422         }
423         size += 4 // m.Retval
424         return size
425 }
426 func (m *IP6ndSendRouterSolicitationReply) Marshal(b []byte) ([]byte, error) {
427         if b == nil {
428                 b = make([]byte, m.Size())
429         }
430         buf := codec.NewBuffer(b)
431         buf.EncodeInt32(m.Retval)
432         return buf.Bytes(), nil
433 }
434 func (m *IP6ndSendRouterSolicitationReply) Unmarshal(b []byte) error {
435         buf := codec.NewBuffer(b)
436         m.Retval = buf.DecodeInt32()
437         return nil
438 }
439
440 // SwInterfaceIP6ndRaConfig defines message 'sw_interface_ip6nd_ra_config'.
441 type SwInterfaceIP6ndRaConfig struct {
442         SwIfIndex       interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
443         Suppress        uint8                          `binapi:"u8,name=suppress" json:"suppress,omitempty"`
444         Managed         uint8                          `binapi:"u8,name=managed" json:"managed,omitempty"`
445         Other           uint8                          `binapi:"u8,name=other" json:"other,omitempty"`
446         LlOption        uint8                          `binapi:"u8,name=ll_option" json:"ll_option,omitempty"`
447         SendUnicast     uint8                          `binapi:"u8,name=send_unicast" json:"send_unicast,omitempty"`
448         Cease           uint8                          `binapi:"u8,name=cease" json:"cease,omitempty"`
449         IsNo            bool                           `binapi:"bool,name=is_no" json:"is_no,omitempty"`
450         DefaultRouter   uint8                          `binapi:"u8,name=default_router" json:"default_router,omitempty"`
451         MaxInterval     uint32                         `binapi:"u32,name=max_interval" json:"max_interval,omitempty"`
452         MinInterval     uint32                         `binapi:"u32,name=min_interval" json:"min_interval,omitempty"`
453         Lifetime        uint32                         `binapi:"u32,name=lifetime" json:"lifetime,omitempty"`
454         InitialCount    uint32                         `binapi:"u32,name=initial_count" json:"initial_count,omitempty"`
455         InitialInterval uint32                         `binapi:"u32,name=initial_interval" json:"initial_interval,omitempty"`
456 }
457
458 func (m *SwInterfaceIP6ndRaConfig) Reset()               { *m = SwInterfaceIP6ndRaConfig{} }
459 func (*SwInterfaceIP6ndRaConfig) GetMessageName() string { return "sw_interface_ip6nd_ra_config" }
460 func (*SwInterfaceIP6ndRaConfig) GetCrcString() string   { return "3eb00b1c" }
461 func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
462         return api.RequestMessage
463 }
464
465 func (m *SwInterfaceIP6ndRaConfig) Size() (size int) {
466         if m == nil {
467                 return 0
468         }
469         size += 4 // m.SwIfIndex
470         size += 1 // m.Suppress
471         size += 1 // m.Managed
472         size += 1 // m.Other
473         size += 1 // m.LlOption
474         size += 1 // m.SendUnicast
475         size += 1 // m.Cease
476         size += 1 // m.IsNo
477         size += 1 // m.DefaultRouter
478         size += 4 // m.MaxInterval
479         size += 4 // m.MinInterval
480         size += 4 // m.Lifetime
481         size += 4 // m.InitialCount
482         size += 4 // m.InitialInterval
483         return size
484 }
485 func (m *SwInterfaceIP6ndRaConfig) Marshal(b []byte) ([]byte, error) {
486         if b == nil {
487                 b = make([]byte, m.Size())
488         }
489         buf := codec.NewBuffer(b)
490         buf.EncodeUint32(uint32(m.SwIfIndex))
491         buf.EncodeUint8(m.Suppress)
492         buf.EncodeUint8(m.Managed)
493         buf.EncodeUint8(m.Other)
494         buf.EncodeUint8(m.LlOption)
495         buf.EncodeUint8(m.SendUnicast)
496         buf.EncodeUint8(m.Cease)
497         buf.EncodeBool(m.IsNo)
498         buf.EncodeUint8(m.DefaultRouter)
499         buf.EncodeUint32(m.MaxInterval)
500         buf.EncodeUint32(m.MinInterval)
501         buf.EncodeUint32(m.Lifetime)
502         buf.EncodeUint32(m.InitialCount)
503         buf.EncodeUint32(m.InitialInterval)
504         return buf.Bytes(), nil
505 }
506 func (m *SwInterfaceIP6ndRaConfig) Unmarshal(b []byte) error {
507         buf := codec.NewBuffer(b)
508         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
509         m.Suppress = buf.DecodeUint8()
510         m.Managed = buf.DecodeUint8()
511         m.Other = buf.DecodeUint8()
512         m.LlOption = buf.DecodeUint8()
513         m.SendUnicast = buf.DecodeUint8()
514         m.Cease = buf.DecodeUint8()
515         m.IsNo = buf.DecodeBool()
516         m.DefaultRouter = buf.DecodeUint8()
517         m.MaxInterval = buf.DecodeUint32()
518         m.MinInterval = buf.DecodeUint32()
519         m.Lifetime = buf.DecodeUint32()
520         m.InitialCount = buf.DecodeUint32()
521         m.InitialInterval = buf.DecodeUint32()
522         return nil
523 }
524
525 // SwInterfaceIP6ndRaConfigReply defines message 'sw_interface_ip6nd_ra_config_reply'.
526 type SwInterfaceIP6ndRaConfigReply struct {
527         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
528 }
529
530 func (m *SwInterfaceIP6ndRaConfigReply) Reset() { *m = SwInterfaceIP6ndRaConfigReply{} }
531 func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
532         return "sw_interface_ip6nd_ra_config_reply"
533 }
534 func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string { return "e8d4e804" }
535 func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
536         return api.ReplyMessage
537 }
538
539 func (m *SwInterfaceIP6ndRaConfigReply) Size() (size int) {
540         if m == nil {
541                 return 0
542         }
543         size += 4 // m.Retval
544         return size
545 }
546 func (m *SwInterfaceIP6ndRaConfigReply) Marshal(b []byte) ([]byte, error) {
547         if b == nil {
548                 b = make([]byte, m.Size())
549         }
550         buf := codec.NewBuffer(b)
551         buf.EncodeInt32(m.Retval)
552         return buf.Bytes(), nil
553 }
554 func (m *SwInterfaceIP6ndRaConfigReply) Unmarshal(b []byte) error {
555         buf := codec.NewBuffer(b)
556         m.Retval = buf.DecodeInt32()
557         return nil
558 }
559
560 // SwInterfaceIP6ndRaPrefix defines message 'sw_interface_ip6nd_ra_prefix'.
561 type SwInterfaceIP6ndRaPrefix struct {
562         SwIfIndex    interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
563         Prefix       ip_types.Prefix                `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
564         UseDefault   bool                           `binapi:"bool,name=use_default" json:"use_default,omitempty"`
565         NoAdvertise  bool                           `binapi:"bool,name=no_advertise" json:"no_advertise,omitempty"`
566         OffLink      bool                           `binapi:"bool,name=off_link" json:"off_link,omitempty"`
567         NoAutoconfig bool                           `binapi:"bool,name=no_autoconfig" json:"no_autoconfig,omitempty"`
568         NoOnlink     bool                           `binapi:"bool,name=no_onlink" json:"no_onlink,omitempty"`
569         IsNo         bool                           `binapi:"bool,name=is_no" json:"is_no,omitempty"`
570         ValLifetime  uint32                         `binapi:"u32,name=val_lifetime" json:"val_lifetime,omitempty"`
571         PrefLifetime uint32                         `binapi:"u32,name=pref_lifetime" json:"pref_lifetime,omitempty"`
572 }
573
574 func (m *SwInterfaceIP6ndRaPrefix) Reset()               { *m = SwInterfaceIP6ndRaPrefix{} }
575 func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string { return "sw_interface_ip6nd_ra_prefix" }
576 func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string   { return "82cc1b28" }
577 func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
578         return api.RequestMessage
579 }
580
581 func (m *SwInterfaceIP6ndRaPrefix) Size() (size int) {
582         if m == nil {
583                 return 0
584         }
585         size += 4      // m.SwIfIndex
586         size += 1      // m.Prefix.Address.Af
587         size += 1 * 16 // m.Prefix.Address.Un
588         size += 1      // m.Prefix.Len
589         size += 1      // m.UseDefault
590         size += 1      // m.NoAdvertise
591         size += 1      // m.OffLink
592         size += 1      // m.NoAutoconfig
593         size += 1      // m.NoOnlink
594         size += 1      // m.IsNo
595         size += 4      // m.ValLifetime
596         size += 4      // m.PrefLifetime
597         return size
598 }
599 func (m *SwInterfaceIP6ndRaPrefix) Marshal(b []byte) ([]byte, error) {
600         if b == nil {
601                 b = make([]byte, m.Size())
602         }
603         buf := codec.NewBuffer(b)
604         buf.EncodeUint32(uint32(m.SwIfIndex))
605         buf.EncodeUint8(uint8(m.Prefix.Address.Af))
606         buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16)
607         buf.EncodeUint8(m.Prefix.Len)
608         buf.EncodeBool(m.UseDefault)
609         buf.EncodeBool(m.NoAdvertise)
610         buf.EncodeBool(m.OffLink)
611         buf.EncodeBool(m.NoAutoconfig)
612         buf.EncodeBool(m.NoOnlink)
613         buf.EncodeBool(m.IsNo)
614         buf.EncodeUint32(m.ValLifetime)
615         buf.EncodeUint32(m.PrefLifetime)
616         return buf.Bytes(), nil
617 }
618 func (m *SwInterfaceIP6ndRaPrefix) Unmarshal(b []byte) error {
619         buf := codec.NewBuffer(b)
620         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
621         m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
622         copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
623         m.Prefix.Len = buf.DecodeUint8()
624         m.UseDefault = buf.DecodeBool()
625         m.NoAdvertise = buf.DecodeBool()
626         m.OffLink = buf.DecodeBool()
627         m.NoAutoconfig = buf.DecodeBool()
628         m.NoOnlink = buf.DecodeBool()
629         m.IsNo = buf.DecodeBool()
630         m.ValLifetime = buf.DecodeUint32()
631         m.PrefLifetime = buf.DecodeUint32()
632         return nil
633 }
634
635 // SwInterfaceIP6ndRaPrefixReply defines message 'sw_interface_ip6nd_ra_prefix_reply'.
636 type SwInterfaceIP6ndRaPrefixReply struct {
637         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
638 }
639
640 func (m *SwInterfaceIP6ndRaPrefixReply) Reset() { *m = SwInterfaceIP6ndRaPrefixReply{} }
641 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
642         return "sw_interface_ip6nd_ra_prefix_reply"
643 }
644 func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string { return "e8d4e804" }
645 func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
646         return api.ReplyMessage
647 }
648
649 func (m *SwInterfaceIP6ndRaPrefixReply) Size() (size int) {
650         if m == nil {
651                 return 0
652         }
653         size += 4 // m.Retval
654         return size
655 }
656 func (m *SwInterfaceIP6ndRaPrefixReply) Marshal(b []byte) ([]byte, error) {
657         if b == nil {
658                 b = make([]byte, m.Size())
659         }
660         buf := codec.NewBuffer(b)
661         buf.EncodeInt32(m.Retval)
662         return buf.Bytes(), nil
663 }
664 func (m *SwInterfaceIP6ndRaPrefixReply) Unmarshal(b []byte) error {
665         buf := codec.NewBuffer(b)
666         m.Retval = buf.DecodeInt32()
667         return nil
668 }
669
670 // WantIP6RaEvents defines message 'want_ip6_ra_events'.
671 type WantIP6RaEvents struct {
672         Enable bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
673         PID    uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
674 }
675
676 func (m *WantIP6RaEvents) Reset()               { *m = WantIP6RaEvents{} }
677 func (*WantIP6RaEvents) GetMessageName() string { return "want_ip6_ra_events" }
678 func (*WantIP6RaEvents) GetCrcString() string   { return "3ec6d6c2" }
679 func (*WantIP6RaEvents) GetMessageType() api.MessageType {
680         return api.RequestMessage
681 }
682
683 func (m *WantIP6RaEvents) Size() (size int) {
684         if m == nil {
685                 return 0
686         }
687         size += 1 // m.Enable
688         size += 4 // m.PID
689         return size
690 }
691 func (m *WantIP6RaEvents) Marshal(b []byte) ([]byte, error) {
692         if b == nil {
693                 b = make([]byte, m.Size())
694         }
695         buf := codec.NewBuffer(b)
696         buf.EncodeBool(m.Enable)
697         buf.EncodeUint32(m.PID)
698         return buf.Bytes(), nil
699 }
700 func (m *WantIP6RaEvents) Unmarshal(b []byte) error {
701         buf := codec.NewBuffer(b)
702         m.Enable = buf.DecodeBool()
703         m.PID = buf.DecodeUint32()
704         return nil
705 }
706
707 // WantIP6RaEventsReply defines message 'want_ip6_ra_events_reply'.
708 type WantIP6RaEventsReply struct {
709         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
710 }
711
712 func (m *WantIP6RaEventsReply) Reset()               { *m = WantIP6RaEventsReply{} }
713 func (*WantIP6RaEventsReply) GetMessageName() string { return "want_ip6_ra_events_reply" }
714 func (*WantIP6RaEventsReply) GetCrcString() string   { return "e8d4e804" }
715 func (*WantIP6RaEventsReply) GetMessageType() api.MessageType {
716         return api.ReplyMessage
717 }
718
719 func (m *WantIP6RaEventsReply) Size() (size int) {
720         if m == nil {
721                 return 0
722         }
723         size += 4 // m.Retval
724         return size
725 }
726 func (m *WantIP6RaEventsReply) Marshal(b []byte) ([]byte, error) {
727         if b == nil {
728                 b = make([]byte, m.Size())
729         }
730         buf := codec.NewBuffer(b)
731         buf.EncodeInt32(m.Retval)
732         return buf.Bytes(), nil
733 }
734 func (m *WantIP6RaEventsReply) Unmarshal(b []byte) error {
735         buf := codec.NewBuffer(b)
736         m.Retval = buf.DecodeInt32()
737         return nil
738 }
739
740 func init() { file_ip6_nd_binapi_init() }
741 func file_ip6_nd_binapi_init() {
742         api.RegisterMessage((*IP6RaEvent)(nil), "ip6_ra_event_0364c1c5")
743         api.RegisterMessage((*IP6ndProxyAddDel)(nil), "ip6nd_proxy_add_del_c2e4a686")
744         api.RegisterMessage((*IP6ndProxyAddDelReply)(nil), "ip6nd_proxy_add_del_reply_e8d4e804")
745         api.RegisterMessage((*IP6ndProxyDetails)(nil), "ip6nd_proxy_details_30b9ff4a")
746         api.RegisterMessage((*IP6ndProxyDump)(nil), "ip6nd_proxy_dump_51077d14")
747         api.RegisterMessage((*IP6ndProxyEnableDisable)(nil), "ip6nd_proxy_enable_disable_7daa1e3a")
748         api.RegisterMessage((*IP6ndProxyEnableDisableReply)(nil), "ip6nd_proxy_enable_disable_reply_e8d4e804")
749         api.RegisterMessage((*IP6ndSendRouterSolicitation)(nil), "ip6nd_send_router_solicitation_e5de609c")
750         api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip6nd_send_router_solicitation_reply_e8d4e804")
751         api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "sw_interface_ip6nd_ra_config_3eb00b1c")
752         api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "sw_interface_ip6nd_ra_config_reply_e8d4e804")
753         api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "sw_interface_ip6nd_ra_prefix_82cc1b28")
754         api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "sw_interface_ip6nd_ra_prefix_reply_e8d4e804")
755         api.RegisterMessage((*WantIP6RaEvents)(nil), "want_ip6_ra_events_3ec6d6c2")
756         api.RegisterMessage((*WantIP6RaEventsReply)(nil), "want_ip6_ra_events_reply_e8d4e804")
757 }
758
759 // Messages returns list of all messages in this module.
760 func AllMessages() []api.Message {
761         return []api.Message{
762                 (*IP6RaEvent)(nil),
763                 (*IP6ndProxyAddDel)(nil),
764                 (*IP6ndProxyAddDelReply)(nil),
765                 (*IP6ndProxyDetails)(nil),
766                 (*IP6ndProxyDump)(nil),
767                 (*IP6ndProxyEnableDisable)(nil),
768                 (*IP6ndProxyEnableDisableReply)(nil),
769                 (*IP6ndSendRouterSolicitation)(nil),
770                 (*IP6ndSendRouterSolicitationReply)(nil),
771                 (*SwInterfaceIP6ndRaConfig)(nil),
772                 (*SwInterfaceIP6ndRaConfigReply)(nil),
773                 (*SwInterfaceIP6ndRaPrefix)(nil),
774                 (*SwInterfaceIP6ndRaPrefixReply)(nil),
775                 (*WantIP6RaEvents)(nil),
776                 (*WantIP6RaEventsReply)(nil),
777         }
778 }