1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0
5 // source: /usr/share/vpp/api/core/sr_mpls.api.json
7 // Package sr_mpls contains generated bindings for API file sr_mpls.api.
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"
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
31 VersionCrc = 0x156edb17
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"`
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
50 func (m *SrMplsPolicyAdd) Size() (size int) {
56 size += 1 // m.IsSpray
57 size += 1 // m.NSegments
58 size += 4 * len(m.Segments) // m.Segments
61 func (m *SrMplsPolicyAdd) Marshal(b []byte) ([]byte, error) {
63 b = make([]byte, m.Size())
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++ {
72 if i < len(m.Segments) {
73 x = uint32(m.Segments[i])
77 return buf.Bytes(), nil
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()
92 // SrMplsPolicyAddReply defines message 'sr_mpls_policy_add_reply'.
93 type SrMplsPolicyAddReply struct {
94 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
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
104 func (m *SrMplsPolicyAddReply) Size() (size int) {
108 size += 4 // m.Retval
111 func (m *SrMplsPolicyAddReply) Marshal(b []byte) ([]byte, error) {
113 b = make([]byte, m.Size())
115 buf := codec.NewBuffer(b)
116 buf.EncodeInt32(m.Retval)
117 return buf.Bytes(), nil
119 func (m *SrMplsPolicyAddReply) Unmarshal(b []byte) error {
120 buf := codec.NewBuffer(b)
121 m.Retval = buf.DecodeInt32()
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"`
132 func (m *SrMplsPolicyAssignEndpointColor) Reset() { *m = SrMplsPolicyAssignEndpointColor{} }
133 func (*SrMplsPolicyAssignEndpointColor) GetMessageName() string {
134 return "sr_mpls_policy_assign_endpoint_color"
136 func (*SrMplsPolicyAssignEndpointColor) GetCrcString() string { return "0e7eb978" }
137 func (*SrMplsPolicyAssignEndpointColor) GetMessageType() api.MessageType {
138 return api.RequestMessage
141 func (m *SrMplsPolicyAssignEndpointColor) Size() (size int) {
146 size += 1 // m.Endpoint.Af
147 size += 1 * 16 // m.Endpoint.Un
151 func (m *SrMplsPolicyAssignEndpointColor) Marshal(b []byte) ([]byte, error) {
153 b = make([]byte, m.Size())
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
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()
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"`
176 func (m *SrMplsPolicyAssignEndpointColorReply) Reset() { *m = SrMplsPolicyAssignEndpointColorReply{} }
177 func (*SrMplsPolicyAssignEndpointColorReply) GetMessageName() string {
178 return "sr_mpls_policy_assign_endpoint_color_reply"
180 func (*SrMplsPolicyAssignEndpointColorReply) GetCrcString() string { return "e8d4e804" }
181 func (*SrMplsPolicyAssignEndpointColorReply) GetMessageType() api.MessageType {
182 return api.ReplyMessage
185 func (m *SrMplsPolicyAssignEndpointColorReply) Size() (size int) {
189 size += 4 // m.Retval
192 func (m *SrMplsPolicyAssignEndpointColorReply) Marshal(b []byte) ([]byte, error) {
194 b = make([]byte, m.Size())
196 buf := codec.NewBuffer(b)
197 buf.EncodeInt32(m.Retval)
198 return buf.Bytes(), nil
200 func (m *SrMplsPolicyAssignEndpointColorReply) Unmarshal(b []byte) error {
201 buf := codec.NewBuffer(b)
202 m.Retval = buf.DecodeInt32()
206 // SrMplsPolicyDel defines message 'sr_mpls_policy_del'.
207 type SrMplsPolicyDel struct {
208 Bsid uint32 `binapi:"u32,name=bsid" json:"bsid,omitempty"`
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
218 func (m *SrMplsPolicyDel) Size() (size int) {
225 func (m *SrMplsPolicyDel) Marshal(b []byte) ([]byte, error) {
227 b = make([]byte, m.Size())
229 buf := codec.NewBuffer(b)
230 buf.EncodeUint32(m.Bsid)
231 return buf.Bytes(), nil
233 func (m *SrMplsPolicyDel) Unmarshal(b []byte) error {
234 buf := codec.NewBuffer(b)
235 m.Bsid = buf.DecodeUint32()
239 // SrMplsPolicyDelReply defines message 'sr_mpls_policy_del_reply'.
240 type SrMplsPolicyDelReply struct {
241 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
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
251 func (m *SrMplsPolicyDelReply) Size() (size int) {
255 size += 4 // m.Retval
258 func (m *SrMplsPolicyDelReply) Marshal(b []byte) ([]byte, error) {
260 b = make([]byte, m.Size())
262 buf := codec.NewBuffer(b)
263 buf.EncodeInt32(m.Retval)
264 return buf.Bytes(), nil
266 func (m *SrMplsPolicyDelReply) Unmarshal(b []byte) error {
267 buf := codec.NewBuffer(b)
268 m.Retval = buf.DecodeInt32()
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"`
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
289 func (m *SrMplsPolicyMod) Size() (size int) {
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
301 func (m *SrMplsPolicyMod) Marshal(b []byte) ([]byte, error) {
303 b = make([]byte, m.Size())
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++ {
313 if i < len(m.Segments) {
314 x = uint32(m.Segments[i])
318 return buf.Bytes(), nil
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()
334 // SrMplsPolicyModReply defines message 'sr_mpls_policy_mod_reply'.
335 type SrMplsPolicyModReply struct {
336 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
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
346 func (m *SrMplsPolicyModReply) Size() (size int) {
350 size += 4 // m.Retval
353 func (m *SrMplsPolicyModReply) Marshal(b []byte) ([]byte, error) {
355 b = make([]byte, m.Size())
357 buf := codec.NewBuffer(b)
358 buf.EncodeInt32(m.Retval)
359 return buf.Bytes(), nil
361 func (m *SrMplsPolicyModReply) Unmarshal(b []byte) error {
362 buf := codec.NewBuffer(b)
363 m.Retval = buf.DecodeInt32()
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"`
380 func (m *SrMplsSteeringAddDel) Reset() { *m = SrMplsSteeringAddDel{} }
381 func (*SrMplsSteeringAddDel) GetMessageName() string { return "sr_mpls_steering_add_del" }
382 func (*SrMplsSteeringAddDel) GetCrcString() string { return "64acff63" }
383 func (*SrMplsSteeringAddDel) GetMessageType() api.MessageType {
384 return api.RequestMessage
387 func (m *SrMplsSteeringAddDel) Size() (size int) {
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
401 size += 1 // m.CoBits
402 size += 4 // m.VPNLabel
405 func (m *SrMplsSteeringAddDel) Marshal(b []byte) ([]byte, error) {
407 b = make([]byte, m.Size())
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
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()
441 // SrMplsSteeringAddDelReply defines message 'sr_mpls_steering_add_del_reply'.
442 type SrMplsSteeringAddDelReply struct {
443 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
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
453 func (m *SrMplsSteeringAddDelReply) Size() (size int) {
457 size += 4 // m.Retval
460 func (m *SrMplsSteeringAddDelReply) Marshal(b []byte) ([]byte, error) {
462 b = make([]byte, m.Size())
464 buf := codec.NewBuffer(b)
465 buf.EncodeInt32(m.Retval)
466 return buf.Bytes(), nil
468 func (m *SrMplsSteeringAddDelReply) Unmarshal(b []byte) error {
469 buf := codec.NewBuffer(b)
470 m.Retval = buf.DecodeInt32()
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_0e7eb978")
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_64acff63")
485 api.RegisterMessage((*SrMplsSteeringAddDelReply)(nil), "sr_mpls_steering_add_del_reply_e8d4e804")
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),