1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
6 // Package sr_mpls contains generated bindings for API file sr_mpls.api.
14 api "git.fd.io/govpp.git/api"
15 _ "git.fd.io/govpp.git/binapi/interface_types"
16 ip_types "git.fd.io/govpp.git/binapi/ip_types"
17 sr_types "git.fd.io/govpp.git/binapi/sr_types"
18 codec "git.fd.io/govpp.git/codec"
21 // This is a compile-time assertion to ensure that this generated file
22 // is compatible with the GoVPP api package it is being compiled against.
23 // A compilation error at this line likely means your copy of the
24 // GoVPP api package needs to be updated.
25 const _ = api.GoVppAPIPackageIsVersion2
30 VersionCrc = 0xaf471151
33 // SrMplsPolicyAdd defines message 'sr_mpls_policy_add'.
34 type SrMplsPolicyAdd struct {
35 Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
36 Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
37 IsSpray bool `binapi:"bool,name=is_spray" json:"is_spray,omitempty"`
38 NSegments uint8 `binapi:"u8,name=n_segments" json:"-"`
39 Segments []uint32 `binapi:"u32[n_segments],name=segments" json:"segments,omitempty"`
42 func (m *SrMplsPolicyAdd) Reset() { *m = SrMplsPolicyAdd{} }
43 func (*SrMplsPolicyAdd) GetMessageName() string { return "sr_mpls_policy_add" }
44 func (*SrMplsPolicyAdd) GetCrcString() string { return "a1a70c70" }
45 func (*SrMplsPolicyAdd) GetMessageType() api.MessageType {
46 return api.RequestMessage
49 func (m *SrMplsPolicyAdd) Size() (size int) {
55 size += 1 // m.IsSpray
56 size += 1 // m.NSegments
57 size += 4 * len(m.Segments) // m.Segments
60 func (m *SrMplsPolicyAdd) Marshal(b []byte) ([]byte, error) {
62 b = make([]byte, m.Size())
64 buf := codec.NewBuffer(b)
65 buf.EncodeUint32(m.Bsid)
66 buf.EncodeUint32(m.Weight)
67 buf.EncodeBool(m.IsSpray)
68 buf.EncodeUint8(uint8(len(m.Segments)))
69 for i := 0; i < len(m.Segments); i++ {
71 if i < len(m.Segments) {
72 x = uint32(m.Segments[i])
76 return buf.Bytes(), nil
78 func (m *SrMplsPolicyAdd) Unmarshal(b []byte) error {
79 buf := codec.NewBuffer(b)
80 m.Bsid = buf.DecodeUint32()
81 m.Weight = buf.DecodeUint32()
82 m.IsSpray = buf.DecodeBool()
83 m.NSegments = buf.DecodeUint8()
84 m.Segments = make([]uint32, m.NSegments)
85 for i := 0; i < len(m.Segments); i++ {
86 m.Segments[i] = buf.DecodeUint32()
91 // SrMplsPolicyAddReply defines message 'sr_mpls_policy_add_reply'.
92 type SrMplsPolicyAddReply struct {
93 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
96 func (m *SrMplsPolicyAddReply) Reset() { *m = SrMplsPolicyAddReply{} }
97 func (*SrMplsPolicyAddReply) GetMessageName() string { return "sr_mpls_policy_add_reply" }
98 func (*SrMplsPolicyAddReply) GetCrcString() string { return "e8d4e804" }
99 func (*SrMplsPolicyAddReply) GetMessageType() api.MessageType {
100 return api.ReplyMessage
103 func (m *SrMplsPolicyAddReply) Size() (size int) {
107 size += 4 // m.Retval
110 func (m *SrMplsPolicyAddReply) Marshal(b []byte) ([]byte, error) {
112 b = make([]byte, m.Size())
114 buf := codec.NewBuffer(b)
115 buf.EncodeInt32(m.Retval)
116 return buf.Bytes(), nil
118 func (m *SrMplsPolicyAddReply) Unmarshal(b []byte) error {
119 buf := codec.NewBuffer(b)
120 m.Retval = buf.DecodeInt32()
124 // SrMplsPolicyAssignEndpointColor defines message 'sr_mpls_policy_assign_endpoint_color'.
125 type SrMplsPolicyAssignEndpointColor struct {
126 Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
127 Endpoint ip_types.Address `binapi:"address,name=endpoint" json:"endpoint,omitempty"`
128 Color uint32 `binapi:"u32,name=color" json:"color,omitempty"`
131 func (m *SrMplsPolicyAssignEndpointColor) Reset() { *m = SrMplsPolicyAssignEndpointColor{} }
132 func (*SrMplsPolicyAssignEndpointColor) GetMessageName() string {
133 return "sr_mpls_policy_assign_endpoint_color"
135 func (*SrMplsPolicyAssignEndpointColor) GetCrcString() string { return "5e1c5c13" }
136 func (*SrMplsPolicyAssignEndpointColor) GetMessageType() api.MessageType {
137 return api.RequestMessage
140 func (m *SrMplsPolicyAssignEndpointColor) Size() (size int) {
145 size += 1 // m.Endpoint.Af
146 size += 1 * 16 // m.Endpoint.Un
150 func (m *SrMplsPolicyAssignEndpointColor) Marshal(b []byte) ([]byte, error) {
152 b = make([]byte, m.Size())
154 buf := codec.NewBuffer(b)
155 buf.EncodeUint32(m.Bsid)
156 buf.EncodeUint8(uint8(m.Endpoint.Af))
157 buf.EncodeBytes(m.Endpoint.Un.XXX_UnionData[:], 16)
158 buf.EncodeUint32(m.Color)
159 return buf.Bytes(), nil
161 func (m *SrMplsPolicyAssignEndpointColor) Unmarshal(b []byte) error {
162 buf := codec.NewBuffer(b)
163 m.Bsid = buf.DecodeUint32()
164 m.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
165 copy(m.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
166 m.Color = buf.DecodeUint32()
170 // SrMplsPolicyAssignEndpointColorReply defines message 'sr_mpls_policy_assign_endpoint_color_reply'.
171 type SrMplsPolicyAssignEndpointColorReply struct {
172 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
175 func (m *SrMplsPolicyAssignEndpointColorReply) Reset() { *m = SrMplsPolicyAssignEndpointColorReply{} }
176 func (*SrMplsPolicyAssignEndpointColorReply) GetMessageName() string {
177 return "sr_mpls_policy_assign_endpoint_color_reply"
179 func (*SrMplsPolicyAssignEndpointColorReply) GetCrcString() string { return "e8d4e804" }
180 func (*SrMplsPolicyAssignEndpointColorReply) GetMessageType() api.MessageType {
181 return api.ReplyMessage
184 func (m *SrMplsPolicyAssignEndpointColorReply) Size() (size int) {
188 size += 4 // m.Retval
191 func (m *SrMplsPolicyAssignEndpointColorReply) Marshal(b []byte) ([]byte, error) {
193 b = make([]byte, m.Size())
195 buf := codec.NewBuffer(b)
196 buf.EncodeInt32(m.Retval)
197 return buf.Bytes(), nil
199 func (m *SrMplsPolicyAssignEndpointColorReply) Unmarshal(b []byte) error {
200 buf := codec.NewBuffer(b)
201 m.Retval = buf.DecodeInt32()
205 // SrMplsPolicyDel defines message 'sr_mpls_policy_del'.
206 type SrMplsPolicyDel struct {
207 Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
210 func (m *SrMplsPolicyDel) Reset() { *m = SrMplsPolicyDel{} }
211 func (*SrMplsPolicyDel) GetMessageName() string { return "sr_mpls_policy_del" }
212 func (*SrMplsPolicyDel) GetCrcString() string { return "e29d34fa" }
213 func (*SrMplsPolicyDel) GetMessageType() api.MessageType {
214 return api.RequestMessage
217 func (m *SrMplsPolicyDel) Size() (size int) {
224 func (m *SrMplsPolicyDel) Marshal(b []byte) ([]byte, error) {
226 b = make([]byte, m.Size())
228 buf := codec.NewBuffer(b)
229 buf.EncodeUint32(m.Bsid)
230 return buf.Bytes(), nil
232 func (m *SrMplsPolicyDel) Unmarshal(b []byte) error {
233 buf := codec.NewBuffer(b)
234 m.Bsid = buf.DecodeUint32()
238 // SrMplsPolicyDelReply defines message 'sr_mpls_policy_del_reply'.
239 type SrMplsPolicyDelReply struct {
240 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
243 func (m *SrMplsPolicyDelReply) Reset() { *m = SrMplsPolicyDelReply{} }
244 func (*SrMplsPolicyDelReply) GetMessageName() string { return "sr_mpls_policy_del_reply" }
245 func (*SrMplsPolicyDelReply) GetCrcString() string { return "e8d4e804" }
246 func (*SrMplsPolicyDelReply) GetMessageType() api.MessageType {
247 return api.ReplyMessage
250 func (m *SrMplsPolicyDelReply) Size() (size int) {
254 size += 4 // m.Retval
257 func (m *SrMplsPolicyDelReply) Marshal(b []byte) ([]byte, error) {
259 b = make([]byte, m.Size())
261 buf := codec.NewBuffer(b)
262 buf.EncodeInt32(m.Retval)
263 return buf.Bytes(), nil
265 func (m *SrMplsPolicyDelReply) Unmarshal(b []byte) error {
266 buf := codec.NewBuffer(b)
267 m.Retval = buf.DecodeInt32()
271 // SrMplsPolicyMod defines message 'sr_mpls_policy_mod'.
272 type SrMplsPolicyMod struct {
273 Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
274 Operation sr_types.SrPolicyOp `binapi:"sr_policy_op,name=operation" json:"operation,omitempty"`
275 SlIndex uint32 `binapi:"u32,name=sl_index" json:"sl_index,omitempty"`
276 Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
277 NSegments uint8 `binapi:"u8,name=n_segments" json:"-"`
278 Segments []uint32 `binapi:"u32[n_segments],name=segments" json:"segments,omitempty"`
281 func (m *SrMplsPolicyMod) Reset() { *m = SrMplsPolicyMod{} }
282 func (*SrMplsPolicyMod) GetMessageName() string { return "sr_mpls_policy_mod" }
283 func (*SrMplsPolicyMod) GetCrcString() string { return "88482c17" }
284 func (*SrMplsPolicyMod) GetMessageType() api.MessageType {
285 return api.RequestMessage
288 func (m *SrMplsPolicyMod) Size() (size int) {
293 size += 1 // m.Operation
294 size += 4 // m.SlIndex
295 size += 4 // m.Weight
296 size += 1 // m.NSegments
297 size += 4 * len(m.Segments) // m.Segments
300 func (m *SrMplsPolicyMod) Marshal(b []byte) ([]byte, error) {
302 b = make([]byte, m.Size())
304 buf := codec.NewBuffer(b)
305 buf.EncodeUint32(m.Bsid)
306 buf.EncodeUint8(uint8(m.Operation))
307 buf.EncodeUint32(m.SlIndex)
308 buf.EncodeUint32(m.Weight)
309 buf.EncodeUint8(uint8(len(m.Segments)))
310 for i := 0; i < len(m.Segments); i++ {
312 if i < len(m.Segments) {
313 x = uint32(m.Segments[i])
317 return buf.Bytes(), nil
319 func (m *SrMplsPolicyMod) Unmarshal(b []byte) error {
320 buf := codec.NewBuffer(b)
321 m.Bsid = buf.DecodeUint32()
322 m.Operation = sr_types.SrPolicyOp(buf.DecodeUint8())
323 m.SlIndex = buf.DecodeUint32()
324 m.Weight = buf.DecodeUint32()
325 m.NSegments = buf.DecodeUint8()
326 m.Segments = make([]uint32, m.NSegments)
327 for i := 0; i < len(m.Segments); i++ {
328 m.Segments[i] = buf.DecodeUint32()
333 // SrMplsPolicyModReply defines message 'sr_mpls_policy_mod_reply'.
334 type SrMplsPolicyModReply struct {
335 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
338 func (m *SrMplsPolicyModReply) Reset() { *m = SrMplsPolicyModReply{} }
339 func (*SrMplsPolicyModReply) GetMessageName() string { return "sr_mpls_policy_mod_reply" }
340 func (*SrMplsPolicyModReply) GetCrcString() string { return "e8d4e804" }
341 func (*SrMplsPolicyModReply) GetMessageType() api.MessageType {
342 return api.ReplyMessage
345 func (m *SrMplsPolicyModReply) Size() (size int) {
349 size += 4 // m.Retval
352 func (m *SrMplsPolicyModReply) Marshal(b []byte) ([]byte, error) {
354 b = make([]byte, m.Size())
356 buf := codec.NewBuffer(b)
357 buf.EncodeInt32(m.Retval)
358 return buf.Bytes(), nil
360 func (m *SrMplsPolicyModReply) Unmarshal(b []byte) error {
361 buf := codec.NewBuffer(b)
362 m.Retval = buf.DecodeInt32()
366 // SrMplsSteeringAddDel defines message 'sr_mpls_steering_add_del'.
367 type SrMplsSteeringAddDel struct {
368 IsDel bool `binapi:"bool,name=is_del,default=false" json:"is_del,omitempty"`
369 Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
370 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
371 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
372 MaskWidth uint32 `binapi:"u32,name=mask_width" json:"mask_width,omitempty"`
373 NextHop ip_types.Address `binapi:"address,name=next_hop" json:"next_hop,omitempty"`
374 Color uint32 `binapi:"u32,name=color" json:"color,omitempty"`
375 CoBits uint8 `binapi:"u8,name=co_bits" json:"co_bits,omitempty"`
376 VPNLabel uint32 `binapi:"u32,name=vpn_label" json:"vpn_label,omitempty"`
379 func (m *SrMplsSteeringAddDel) Reset() { *m = SrMplsSteeringAddDel{} }
380 func (*SrMplsSteeringAddDel) GetMessageName() string { return "sr_mpls_steering_add_del" }
381 func (*SrMplsSteeringAddDel) GetCrcString() string { return "7d1b0a0b" }
382 func (*SrMplsSteeringAddDel) GetMessageType() api.MessageType {
383 return api.RequestMessage
386 func (m *SrMplsSteeringAddDel) Size() (size int) {
392 size += 4 // m.TableID
393 size += 1 // m.Prefix.Address.Af
394 size += 1 * 16 // m.Prefix.Address.Un
395 size += 1 // m.Prefix.Len
396 size += 4 // m.MaskWidth
397 size += 1 // m.NextHop.Af
398 size += 1 * 16 // m.NextHop.Un
400 size += 1 // m.CoBits
401 size += 4 // m.VPNLabel
404 func (m *SrMplsSteeringAddDel) Marshal(b []byte) ([]byte, error) {
406 b = make([]byte, m.Size())
408 buf := codec.NewBuffer(b)
409 buf.EncodeBool(m.IsDel)
410 buf.EncodeUint32(m.Bsid)
411 buf.EncodeUint32(m.TableID)
412 buf.EncodeUint8(uint8(m.Prefix.Address.Af))
413 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16)
414 buf.EncodeUint8(m.Prefix.Len)
415 buf.EncodeUint32(m.MaskWidth)
416 buf.EncodeUint8(uint8(m.NextHop.Af))
417 buf.EncodeBytes(m.NextHop.Un.XXX_UnionData[:], 16)
418 buf.EncodeUint32(m.Color)
419 buf.EncodeUint8(m.CoBits)
420 buf.EncodeUint32(m.VPNLabel)
421 return buf.Bytes(), nil
423 func (m *SrMplsSteeringAddDel) Unmarshal(b []byte) error {
424 buf := codec.NewBuffer(b)
425 m.IsDel = buf.DecodeBool()
426 m.Bsid = buf.DecodeUint32()
427 m.TableID = buf.DecodeUint32()
428 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
429 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
430 m.Prefix.Len = buf.DecodeUint8()
431 m.MaskWidth = buf.DecodeUint32()
432 m.NextHop.Af = ip_types.AddressFamily(buf.DecodeUint8())
433 copy(m.NextHop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
434 m.Color = buf.DecodeUint32()
435 m.CoBits = buf.DecodeUint8()
436 m.VPNLabel = buf.DecodeUint32()
440 // SrMplsSteeringAddDelReply defines message 'sr_mpls_steering_add_del_reply'.
441 type SrMplsSteeringAddDelReply struct {
442 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
445 func (m *SrMplsSteeringAddDelReply) Reset() { *m = SrMplsSteeringAddDelReply{} }
446 func (*SrMplsSteeringAddDelReply) GetMessageName() string { return "sr_mpls_steering_add_del_reply" }
447 func (*SrMplsSteeringAddDelReply) GetCrcString() string { return "e8d4e804" }
448 func (*SrMplsSteeringAddDelReply) GetMessageType() api.MessageType {
449 return api.ReplyMessage
452 func (m *SrMplsSteeringAddDelReply) Size() (size int) {
456 size += 4 // m.Retval
459 func (m *SrMplsSteeringAddDelReply) Marshal(b []byte) ([]byte, error) {
461 b = make([]byte, m.Size())
463 buf := codec.NewBuffer(b)
464 buf.EncodeInt32(m.Retval)
465 return buf.Bytes(), nil
467 func (m *SrMplsSteeringAddDelReply) Unmarshal(b []byte) error {
468 buf := codec.NewBuffer(b)
469 m.Retval = buf.DecodeInt32()
473 func init() { file_sr_mpls_binapi_init() }
474 func file_sr_mpls_binapi_init() {
475 api.RegisterMessage((*SrMplsPolicyAdd)(nil), "sr_mpls_policy_add_a1a70c70")
476 api.RegisterMessage((*SrMplsPolicyAddReply)(nil), "sr_mpls_policy_add_reply_e8d4e804")
477 api.RegisterMessage((*SrMplsPolicyAssignEndpointColor)(nil), "sr_mpls_policy_assign_endpoint_color_5e1c5c13")
478 api.RegisterMessage((*SrMplsPolicyAssignEndpointColorReply)(nil), "sr_mpls_policy_assign_endpoint_color_reply_e8d4e804")
479 api.RegisterMessage((*SrMplsPolicyDel)(nil), "sr_mpls_policy_del_e29d34fa")
480 api.RegisterMessage((*SrMplsPolicyDelReply)(nil), "sr_mpls_policy_del_reply_e8d4e804")
481 api.RegisterMessage((*SrMplsPolicyMod)(nil), "sr_mpls_policy_mod_88482c17")
482 api.RegisterMessage((*SrMplsPolicyModReply)(nil), "sr_mpls_policy_mod_reply_e8d4e804")
483 api.RegisterMessage((*SrMplsSteeringAddDel)(nil), "sr_mpls_steering_add_del_7d1b0a0b")
484 api.RegisterMessage((*SrMplsSteeringAddDelReply)(nil), "sr_mpls_steering_add_del_reply_e8d4e804")
487 // Messages returns list of all messages in this module.
488 func AllMessages() []api.Message {
489 return []api.Message{
490 (*SrMplsPolicyAdd)(nil),
491 (*SrMplsPolicyAddReply)(nil),
492 (*SrMplsPolicyAssignEndpointColor)(nil),
493 (*SrMplsPolicyAssignEndpointColorReply)(nil),
494 (*SrMplsPolicyDel)(nil),
495 (*SrMplsPolicyDelReply)(nil),
496 (*SrMplsPolicyMod)(nil),
497 (*SrMplsPolicyModReply)(nil),
498 (*SrMplsSteeringAddDel)(nil),
499 (*SrMplsSteeringAddDelReply)(nil),