binapigen: fix union size
[govpp.git] / binapi / sr_mpls / sr_mpls.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.05-release
5 // source: /usr/share/vpp/api/core/sr_mpls.api.json
6
7 // Package sr_mpls contains generated bindings for API file sr_mpls.api.
8 //
9 // Contents:
10 //  10 messages
11 //
12 package sr_mpls
13
14 import (
15         api "git.fd.io/govpp.git/api"
16         _ "git.fd.io/govpp.git/binapi/interface_types"
17         ip_types "git.fd.io/govpp.git/binapi/ip_types"
18         sr_types "git.fd.io/govpp.git/binapi/sr_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    = "sr_mpls"
30         APIVersion = "3.0.0"
31         VersionCrc = 0xaf471151
32 )
33
34 // SrMplsPolicyAdd defines message 'sr_mpls_policy_add'.
35 type SrMplsPolicyAdd struct {
36         Bsid      uint32   `binapi:"u32,name=bsid" json:"bsid,omitempty"`
37         Weight    uint32   `binapi:"u32,name=weight" json:"weight,omitempty"`
38         IsSpray   bool     `binapi:"bool,name=is_spray" json:"is_spray,omitempty"`
39         NSegments uint8    `binapi:"u8,name=n_segments" json:"-"`
40         Segments  []uint32 `binapi:"u32[n_segments],name=segments" json:"segments,omitempty"`
41 }
42
43 func (m *SrMplsPolicyAdd) Reset()               { *m = SrMplsPolicyAdd{} }
44 func (*SrMplsPolicyAdd) GetMessageName() string { return "sr_mpls_policy_add" }
45 func (*SrMplsPolicyAdd) GetCrcString() string   { return "a1a70c70" }
46 func (*SrMplsPolicyAdd) GetMessageType() api.MessageType {
47         return api.RequestMessage
48 }
49
50 func (m *SrMplsPolicyAdd) Size() (size int) {
51         if m == nil {
52                 return 0
53         }
54         size += 4                   // m.Bsid
55         size += 4                   // m.Weight
56         size += 1                   // m.IsSpray
57         size += 1                   // m.NSegments
58         size += 4 * len(m.Segments) // m.Segments
59         return size
60 }
61 func (m *SrMplsPolicyAdd) Marshal(b []byte) ([]byte, error) {
62         if b == nil {
63                 b = make([]byte, m.Size())
64         }
65         buf := codec.NewBuffer(b)
66         buf.EncodeUint32(m.Bsid)
67         buf.EncodeUint32(m.Weight)
68         buf.EncodeBool(m.IsSpray)
69         buf.EncodeUint8(uint8(len(m.Segments)))
70         for i := 0; i < len(m.Segments); i++ {
71                 var x uint32
72                 if i < len(m.Segments) {
73                         x = uint32(m.Segments[i])
74                 }
75                 buf.EncodeUint32(x)
76         }
77         return buf.Bytes(), nil
78 }
79 func (m *SrMplsPolicyAdd) Unmarshal(b []byte) error {
80         buf := codec.NewBuffer(b)
81         m.Bsid = buf.DecodeUint32()
82         m.Weight = buf.DecodeUint32()
83         m.IsSpray = buf.DecodeBool()
84         m.NSegments = buf.DecodeUint8()
85         m.Segments = make([]uint32, m.NSegments)
86         for i := 0; i < len(m.Segments); i++ {
87                 m.Segments[i] = buf.DecodeUint32()
88         }
89         return nil
90 }
91
92 // SrMplsPolicyAddReply defines message 'sr_mpls_policy_add_reply'.
93 type SrMplsPolicyAddReply struct {
94         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
95 }
96
97 func (m *SrMplsPolicyAddReply) Reset()               { *m = SrMplsPolicyAddReply{} }
98 func (*SrMplsPolicyAddReply) GetMessageName() string { return "sr_mpls_policy_add_reply" }
99 func (*SrMplsPolicyAddReply) GetCrcString() string   { return "e8d4e804" }
100 func (*SrMplsPolicyAddReply) GetMessageType() api.MessageType {
101         return api.ReplyMessage
102 }
103
104 func (m *SrMplsPolicyAddReply) Size() (size int) {
105         if m == nil {
106                 return 0
107         }
108         size += 4 // m.Retval
109         return size
110 }
111 func (m *SrMplsPolicyAddReply) Marshal(b []byte) ([]byte, error) {
112         if b == nil {
113                 b = make([]byte, m.Size())
114         }
115         buf := codec.NewBuffer(b)
116         buf.EncodeInt32(m.Retval)
117         return buf.Bytes(), nil
118 }
119 func (m *SrMplsPolicyAddReply) Unmarshal(b []byte) error {
120         buf := codec.NewBuffer(b)
121         m.Retval = buf.DecodeInt32()
122         return nil
123 }
124
125 // SrMplsPolicyAssignEndpointColor defines message 'sr_mpls_policy_assign_endpoint_color'.
126 type SrMplsPolicyAssignEndpointColor struct {
127         Bsid     uint32           `binapi:"u32,name=bsid" json:"bsid,omitempty"`
128         Endpoint ip_types.Address `binapi:"address,name=endpoint" json:"endpoint,omitempty"`
129         Color    uint32           `binapi:"u32,name=color" json:"color,omitempty"`
130 }
131
132 func (m *SrMplsPolicyAssignEndpointColor) Reset() { *m = SrMplsPolicyAssignEndpointColor{} }
133 func (*SrMplsPolicyAssignEndpointColor) GetMessageName() string {
134         return "sr_mpls_policy_assign_endpoint_color"
135 }
136 func (*SrMplsPolicyAssignEndpointColor) GetCrcString() string { return "5e1c5c13" }
137 func (*SrMplsPolicyAssignEndpointColor) GetMessageType() api.MessageType {
138         return api.RequestMessage
139 }
140
141 func (m *SrMplsPolicyAssignEndpointColor) Size() (size int) {
142         if m == nil {
143                 return 0
144         }
145         size += 4      // m.Bsid
146         size += 1      // m.Endpoint.Af
147         size += 1 * 16 // m.Endpoint.Un
148         size += 4      // m.Color
149         return size
150 }
151 func (m *SrMplsPolicyAssignEndpointColor) Marshal(b []byte) ([]byte, error) {
152         if b == nil {
153                 b = make([]byte, m.Size())
154         }
155         buf := codec.NewBuffer(b)
156         buf.EncodeUint32(m.Bsid)
157         buf.EncodeUint8(uint8(m.Endpoint.Af))
158         buf.EncodeBytes(m.Endpoint.Un.XXX_UnionData[:], 16)
159         buf.EncodeUint32(m.Color)
160         return buf.Bytes(), nil
161 }
162 func (m *SrMplsPolicyAssignEndpointColor) Unmarshal(b []byte) error {
163         buf := codec.NewBuffer(b)
164         m.Bsid = buf.DecodeUint32()
165         m.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
166         copy(m.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
167         m.Color = buf.DecodeUint32()
168         return nil
169 }
170
171 // SrMplsPolicyAssignEndpointColorReply defines message 'sr_mpls_policy_assign_endpoint_color_reply'.
172 type SrMplsPolicyAssignEndpointColorReply struct {
173         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
174 }
175
176 func (m *SrMplsPolicyAssignEndpointColorReply) Reset() { *m = SrMplsPolicyAssignEndpointColorReply{} }
177 func (*SrMplsPolicyAssignEndpointColorReply) GetMessageName() string {
178         return "sr_mpls_policy_assign_endpoint_color_reply"
179 }
180 func (*SrMplsPolicyAssignEndpointColorReply) GetCrcString() string { return "e8d4e804" }
181 func (*SrMplsPolicyAssignEndpointColorReply) GetMessageType() api.MessageType {
182         return api.ReplyMessage
183 }
184
185 func (m *SrMplsPolicyAssignEndpointColorReply) Size() (size int) {
186         if m == nil {
187                 return 0
188         }
189         size += 4 // m.Retval
190         return size
191 }
192 func (m *SrMplsPolicyAssignEndpointColorReply) Marshal(b []byte) ([]byte, error) {
193         if b == nil {
194                 b = make([]byte, m.Size())
195         }
196         buf := codec.NewBuffer(b)
197         buf.EncodeInt32(m.Retval)
198         return buf.Bytes(), nil
199 }
200 func (m *SrMplsPolicyAssignEndpointColorReply) Unmarshal(b []byte) error {
201         buf := codec.NewBuffer(b)
202         m.Retval = buf.DecodeInt32()
203         return nil
204 }
205
206 // SrMplsPolicyDel defines message 'sr_mpls_policy_del'.
207 type SrMplsPolicyDel struct {
208         Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
209 }
210
211 func (m *SrMplsPolicyDel) Reset()               { *m = SrMplsPolicyDel{} }
212 func (*SrMplsPolicyDel) GetMessageName() string { return "sr_mpls_policy_del" }
213 func (*SrMplsPolicyDel) GetCrcString() string   { return "e29d34fa" }
214 func (*SrMplsPolicyDel) GetMessageType() api.MessageType {
215         return api.RequestMessage
216 }
217
218 func (m *SrMplsPolicyDel) Size() (size int) {
219         if m == nil {
220                 return 0
221         }
222         size += 4 // m.Bsid
223         return size
224 }
225 func (m *SrMplsPolicyDel) Marshal(b []byte) ([]byte, error) {
226         if b == nil {
227                 b = make([]byte, m.Size())
228         }
229         buf := codec.NewBuffer(b)
230         buf.EncodeUint32(m.Bsid)
231         return buf.Bytes(), nil
232 }
233 func (m *SrMplsPolicyDel) Unmarshal(b []byte) error {
234         buf := codec.NewBuffer(b)
235         m.Bsid = buf.DecodeUint32()
236         return nil
237 }
238
239 // SrMplsPolicyDelReply defines message 'sr_mpls_policy_del_reply'.
240 type SrMplsPolicyDelReply struct {
241         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
242 }
243
244 func (m *SrMplsPolicyDelReply) Reset()               { *m = SrMplsPolicyDelReply{} }
245 func (*SrMplsPolicyDelReply) GetMessageName() string { return "sr_mpls_policy_del_reply" }
246 func (*SrMplsPolicyDelReply) GetCrcString() string   { return "e8d4e804" }
247 func (*SrMplsPolicyDelReply) GetMessageType() api.MessageType {
248         return api.ReplyMessage
249 }
250
251 func (m *SrMplsPolicyDelReply) Size() (size int) {
252         if m == nil {
253                 return 0
254         }
255         size += 4 // m.Retval
256         return size
257 }
258 func (m *SrMplsPolicyDelReply) Marshal(b []byte) ([]byte, error) {
259         if b == nil {
260                 b = make([]byte, m.Size())
261         }
262         buf := codec.NewBuffer(b)
263         buf.EncodeInt32(m.Retval)
264         return buf.Bytes(), nil
265 }
266 func (m *SrMplsPolicyDelReply) Unmarshal(b []byte) error {
267         buf := codec.NewBuffer(b)
268         m.Retval = buf.DecodeInt32()
269         return nil
270 }
271
272 // SrMplsPolicyMod defines message 'sr_mpls_policy_mod'.
273 type SrMplsPolicyMod struct {
274         Bsid      uint32              `binapi:"u32,name=bsid" json:"bsid,omitempty"`
275         Operation sr_types.SrPolicyOp `binapi:"sr_policy_op,name=operation" json:"operation,omitempty"`
276         SlIndex   uint32              `binapi:"u32,name=sl_index" json:"sl_index,omitempty"`
277         Weight    uint32              `binapi:"u32,name=weight" json:"weight,omitempty"`
278         NSegments uint8               `binapi:"u8,name=n_segments" json:"-"`
279         Segments  []uint32            `binapi:"u32[n_segments],name=segments" json:"segments,omitempty"`
280 }
281
282 func (m *SrMplsPolicyMod) Reset()               { *m = SrMplsPolicyMod{} }
283 func (*SrMplsPolicyMod) GetMessageName() string { return "sr_mpls_policy_mod" }
284 func (*SrMplsPolicyMod) GetCrcString() string   { return "88482c17" }
285 func (*SrMplsPolicyMod) GetMessageType() api.MessageType {
286         return api.RequestMessage
287 }
288
289 func (m *SrMplsPolicyMod) Size() (size int) {
290         if m == nil {
291                 return 0
292         }
293         size += 4                   // m.Bsid
294         size += 1                   // m.Operation
295         size += 4                   // m.SlIndex
296         size += 4                   // m.Weight
297         size += 1                   // m.NSegments
298         size += 4 * len(m.Segments) // m.Segments
299         return size
300 }
301 func (m *SrMplsPolicyMod) Marshal(b []byte) ([]byte, error) {
302         if b == nil {
303                 b = make([]byte, m.Size())
304         }
305         buf := codec.NewBuffer(b)
306         buf.EncodeUint32(m.Bsid)
307         buf.EncodeUint8(uint8(m.Operation))
308         buf.EncodeUint32(m.SlIndex)
309         buf.EncodeUint32(m.Weight)
310         buf.EncodeUint8(uint8(len(m.Segments)))
311         for i := 0; i < len(m.Segments); i++ {
312                 var x uint32
313                 if i < len(m.Segments) {
314                         x = uint32(m.Segments[i])
315                 }
316                 buf.EncodeUint32(x)
317         }
318         return buf.Bytes(), nil
319 }
320 func (m *SrMplsPolicyMod) Unmarshal(b []byte) error {
321         buf := codec.NewBuffer(b)
322         m.Bsid = buf.DecodeUint32()
323         m.Operation = sr_types.SrPolicyOp(buf.DecodeUint8())
324         m.SlIndex = buf.DecodeUint32()
325         m.Weight = buf.DecodeUint32()
326         m.NSegments = buf.DecodeUint8()
327         m.Segments = make([]uint32, m.NSegments)
328         for i := 0; i < len(m.Segments); i++ {
329                 m.Segments[i] = buf.DecodeUint32()
330         }
331         return nil
332 }
333
334 // SrMplsPolicyModReply defines message 'sr_mpls_policy_mod_reply'.
335 type SrMplsPolicyModReply struct {
336         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
337 }
338
339 func (m *SrMplsPolicyModReply) Reset()               { *m = SrMplsPolicyModReply{} }
340 func (*SrMplsPolicyModReply) GetMessageName() string { return "sr_mpls_policy_mod_reply" }
341 func (*SrMplsPolicyModReply) GetCrcString() string   { return "e8d4e804" }
342 func (*SrMplsPolicyModReply) GetMessageType() api.MessageType {
343         return api.ReplyMessage
344 }
345
346 func (m *SrMplsPolicyModReply) Size() (size int) {
347         if m == nil {
348                 return 0
349         }
350         size += 4 // m.Retval
351         return size
352 }
353 func (m *SrMplsPolicyModReply) Marshal(b []byte) ([]byte, error) {
354         if b == nil {
355                 b = make([]byte, m.Size())
356         }
357         buf := codec.NewBuffer(b)
358         buf.EncodeInt32(m.Retval)
359         return buf.Bytes(), nil
360 }
361 func (m *SrMplsPolicyModReply) Unmarshal(b []byte) error {
362         buf := codec.NewBuffer(b)
363         m.Retval = buf.DecodeInt32()
364         return nil
365 }
366
367 // SrMplsSteeringAddDel defines message 'sr_mpls_steering_add_del'.
368 type SrMplsSteeringAddDel struct {
369         IsDel     bool             `binapi:"bool,name=is_del,default=false" json:"is_del,omitempty"`
370         Bsid      uint32           `binapi:"u32,name=bsid" json:"bsid,omitempty"`
371         TableID   uint32           `binapi:"u32,name=table_id" json:"table_id,omitempty"`
372         Prefix    ip_types.Prefix  `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
373         MaskWidth uint32           `binapi:"u32,name=mask_width" json:"mask_width,omitempty"`
374         NextHop   ip_types.Address `binapi:"address,name=next_hop" json:"next_hop,omitempty"`
375         Color     uint32           `binapi:"u32,name=color" json:"color,omitempty"`
376         CoBits    uint8            `binapi:"u8,name=co_bits" json:"co_bits,omitempty"`
377         VPNLabel  uint32           `binapi:"u32,name=vpn_label" json:"vpn_label,omitempty"`
378 }
379
380 func (m *SrMplsSteeringAddDel) Reset()               { *m = SrMplsSteeringAddDel{} }
381 func (*SrMplsSteeringAddDel) GetMessageName() string { return "sr_mpls_steering_add_del" }
382 func (*SrMplsSteeringAddDel) GetCrcString() string   { return "7d1b0a0b" }
383 func (*SrMplsSteeringAddDel) GetMessageType() api.MessageType {
384         return api.RequestMessage
385 }
386
387 func (m *SrMplsSteeringAddDel) Size() (size int) {
388         if m == nil {
389                 return 0
390         }
391         size += 1      // m.IsDel
392         size += 4      // m.Bsid
393         size += 4      // m.TableID
394         size += 1      // m.Prefix.Address.Af
395         size += 1 * 16 // m.Prefix.Address.Un
396         size += 1      // m.Prefix.Len
397         size += 4      // m.MaskWidth
398         size += 1      // m.NextHop.Af
399         size += 1 * 16 // m.NextHop.Un
400         size += 4      // m.Color
401         size += 1      // m.CoBits
402         size += 4      // m.VPNLabel
403         return size
404 }
405 func (m *SrMplsSteeringAddDel) Marshal(b []byte) ([]byte, error) {
406         if b == nil {
407                 b = make([]byte, m.Size())
408         }
409         buf := codec.NewBuffer(b)
410         buf.EncodeBool(m.IsDel)
411         buf.EncodeUint32(m.Bsid)
412         buf.EncodeUint32(m.TableID)
413         buf.EncodeUint8(uint8(m.Prefix.Address.Af))
414         buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16)
415         buf.EncodeUint8(m.Prefix.Len)
416         buf.EncodeUint32(m.MaskWidth)
417         buf.EncodeUint8(uint8(m.NextHop.Af))
418         buf.EncodeBytes(m.NextHop.Un.XXX_UnionData[:], 16)
419         buf.EncodeUint32(m.Color)
420         buf.EncodeUint8(m.CoBits)
421         buf.EncodeUint32(m.VPNLabel)
422         return buf.Bytes(), nil
423 }
424 func (m *SrMplsSteeringAddDel) Unmarshal(b []byte) error {
425         buf := codec.NewBuffer(b)
426         m.IsDel = buf.DecodeBool()
427         m.Bsid = buf.DecodeUint32()
428         m.TableID = buf.DecodeUint32()
429         m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
430         copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
431         m.Prefix.Len = buf.DecodeUint8()
432         m.MaskWidth = buf.DecodeUint32()
433         m.NextHop.Af = ip_types.AddressFamily(buf.DecodeUint8())
434         copy(m.NextHop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
435         m.Color = buf.DecodeUint32()
436         m.CoBits = buf.DecodeUint8()
437         m.VPNLabel = buf.DecodeUint32()
438         return nil
439 }
440
441 // SrMplsSteeringAddDelReply defines message 'sr_mpls_steering_add_del_reply'.
442 type SrMplsSteeringAddDelReply struct {
443         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
444 }
445
446 func (m *SrMplsSteeringAddDelReply) Reset()               { *m = SrMplsSteeringAddDelReply{} }
447 func (*SrMplsSteeringAddDelReply) GetMessageName() string { return "sr_mpls_steering_add_del_reply" }
448 func (*SrMplsSteeringAddDelReply) GetCrcString() string   { return "e8d4e804" }
449 func (*SrMplsSteeringAddDelReply) GetMessageType() api.MessageType {
450         return api.ReplyMessage
451 }
452
453 func (m *SrMplsSteeringAddDelReply) Size() (size int) {
454         if m == nil {
455                 return 0
456         }
457         size += 4 // m.Retval
458         return size
459 }
460 func (m *SrMplsSteeringAddDelReply) Marshal(b []byte) ([]byte, error) {
461         if b == nil {
462                 b = make([]byte, m.Size())
463         }
464         buf := codec.NewBuffer(b)
465         buf.EncodeInt32(m.Retval)
466         return buf.Bytes(), nil
467 }
468 func (m *SrMplsSteeringAddDelReply) Unmarshal(b []byte) error {
469         buf := codec.NewBuffer(b)
470         m.Retval = buf.DecodeInt32()
471         return nil
472 }
473
474 func init() { file_sr_mpls_binapi_init() }
475 func file_sr_mpls_binapi_init() {
476         api.RegisterMessage((*SrMplsPolicyAdd)(nil), "sr_mpls_policy_add_a1a70c70")
477         api.RegisterMessage((*SrMplsPolicyAddReply)(nil), "sr_mpls_policy_add_reply_e8d4e804")
478         api.RegisterMessage((*SrMplsPolicyAssignEndpointColor)(nil), "sr_mpls_policy_assign_endpoint_color_5e1c5c13")
479         api.RegisterMessage((*SrMplsPolicyAssignEndpointColorReply)(nil), "sr_mpls_policy_assign_endpoint_color_reply_e8d4e804")
480         api.RegisterMessage((*SrMplsPolicyDel)(nil), "sr_mpls_policy_del_e29d34fa")
481         api.RegisterMessage((*SrMplsPolicyDelReply)(nil), "sr_mpls_policy_del_reply_e8d4e804")
482         api.RegisterMessage((*SrMplsPolicyMod)(nil), "sr_mpls_policy_mod_88482c17")
483         api.RegisterMessage((*SrMplsPolicyModReply)(nil), "sr_mpls_policy_mod_reply_e8d4e804")
484         api.RegisterMessage((*SrMplsSteeringAddDel)(nil), "sr_mpls_steering_add_del_7d1b0a0b")
485         api.RegisterMessage((*SrMplsSteeringAddDelReply)(nil), "sr_mpls_steering_add_del_reply_e8d4e804")
486 }
487
488 // Messages returns list of all messages in this module.
489 func AllMessages() []api.Message {
490         return []api.Message{
491                 (*SrMplsPolicyAdd)(nil),
492                 (*SrMplsPolicyAddReply)(nil),
493                 (*SrMplsPolicyAssignEndpointColor)(nil),
494                 (*SrMplsPolicyAssignEndpointColorReply)(nil),
495                 (*SrMplsPolicyDel)(nil),
496                 (*SrMplsPolicyDelReply)(nil),
497                 (*SrMplsPolicyMod)(nil),
498                 (*SrMplsPolicyModReply)(nil),
499                 (*SrMplsSteeringAddDel)(nil),
500                 (*SrMplsSteeringAddDelReply)(nil),
501         }
502 }