bf0096badd9034631ea49f8618919c0ffc341891
[govpp.git] / internal / testbinapi / binapi2001 / p2p_ethernet / p2p_ethernet.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/core/p2p_ethernet.api.json
6
7 // Package p2p_ethernet contains generated bindings for API file p2p_ethernet.api.
8 //
9 // Contents:
10 //   2 aliases
11 //   6 enums
12 //   4 messages
13 //
14 package p2p_ethernet
15
16 import (
17         api "git.fd.io/govpp.git/api"
18         codec "git.fd.io/govpp.git/codec"
19         "net"
20         "strconv"
21 )
22
23 // This is a compile-time assertion to ensure that this generated file
24 // is compatible with the GoVPP api package it is being compiled against.
25 // A compilation error at this line likely means your copy of the
26 // GoVPP api package needs to be updated.
27 const _ = api.GoVppAPIPackageIsVersion2
28
29 const (
30         APIFile    = "p2p_ethernet"
31         APIVersion = "1.0.0"
32         VersionCrc = 0x282f1ed1
33 )
34
35 // IfStatusFlags defines enum 'if_status_flags'.
36 type IfStatusFlags uint32
37
38 const (
39         IF_STATUS_API_FLAG_ADMIN_UP IfStatusFlags = 1
40         IF_STATUS_API_FLAG_LINK_UP  IfStatusFlags = 2
41 )
42
43 var (
44         IfStatusFlags_name = map[uint32]string{
45                 1: "IF_STATUS_API_FLAG_ADMIN_UP",
46                 2: "IF_STATUS_API_FLAG_LINK_UP",
47         }
48         IfStatusFlags_value = map[string]uint32{
49                 "IF_STATUS_API_FLAG_ADMIN_UP": 1,
50                 "IF_STATUS_API_FLAG_LINK_UP":  2,
51         }
52 )
53
54 func (x IfStatusFlags) String() string {
55         s, ok := IfStatusFlags_name[uint32(x)]
56         if ok {
57                 return s
58         }
59         str := func(n uint32) string {
60                 s, ok := IfStatusFlags_name[uint32(n)]
61                 if ok {
62                         return s
63                 }
64                 return "IfStatusFlags(" + strconv.Itoa(int(n)) + ")"
65         }
66         for i := uint32(0); i <= 32; i++ {
67                 val := uint32(x)
68                 if val&(1<<i) != 0 {
69                         if s != "" {
70                                 s += "|"
71                         }
72                         s += str(1 << i)
73                 }
74         }
75         if s == "" {
76                 return str(uint32(x))
77         }
78         return s
79 }
80
81 // IfType defines enum 'if_type'.
82 type IfType uint32
83
84 const (
85         IF_API_TYPE_HARDWARE IfType = 1
86         IF_API_TYPE_SUB      IfType = 2
87         IF_API_TYPE_P2P      IfType = 3
88         IF_API_TYPE_PIPE     IfType = 4
89 )
90
91 var (
92         IfType_name = map[uint32]string{
93                 1: "IF_API_TYPE_HARDWARE",
94                 2: "IF_API_TYPE_SUB",
95                 3: "IF_API_TYPE_P2P",
96                 4: "IF_API_TYPE_PIPE",
97         }
98         IfType_value = map[string]uint32{
99                 "IF_API_TYPE_HARDWARE": 1,
100                 "IF_API_TYPE_SUB":      2,
101                 "IF_API_TYPE_P2P":      3,
102                 "IF_API_TYPE_PIPE":     4,
103         }
104 )
105
106 func (x IfType) String() string {
107         s, ok := IfType_name[uint32(x)]
108         if ok {
109                 return s
110         }
111         return "IfType(" + strconv.Itoa(int(x)) + ")"
112 }
113
114 // LinkDuplex defines enum 'link_duplex'.
115 type LinkDuplex uint32
116
117 const (
118         LINK_DUPLEX_API_UNKNOWN LinkDuplex = 0
119         LINK_DUPLEX_API_HALF    LinkDuplex = 1
120         LINK_DUPLEX_API_FULL    LinkDuplex = 2
121 )
122
123 var (
124         LinkDuplex_name = map[uint32]string{
125                 0: "LINK_DUPLEX_API_UNKNOWN",
126                 1: "LINK_DUPLEX_API_HALF",
127                 2: "LINK_DUPLEX_API_FULL",
128         }
129         LinkDuplex_value = map[string]uint32{
130                 "LINK_DUPLEX_API_UNKNOWN": 0,
131                 "LINK_DUPLEX_API_HALF":    1,
132                 "LINK_DUPLEX_API_FULL":    2,
133         }
134 )
135
136 func (x LinkDuplex) String() string {
137         s, ok := LinkDuplex_name[uint32(x)]
138         if ok {
139                 return s
140         }
141         return "LinkDuplex(" + strconv.Itoa(int(x)) + ")"
142 }
143
144 // MtuProto defines enum 'mtu_proto'.
145 type MtuProto uint32
146
147 const (
148         MTU_PROTO_API_L3   MtuProto = 1
149         MTU_PROTO_API_IP4  MtuProto = 2
150         MTU_PROTO_API_IP6  MtuProto = 3
151         MTU_PROTO_API_MPLS MtuProto = 4
152         MTU_PROTO_API_N    MtuProto = 5
153 )
154
155 var (
156         MtuProto_name = map[uint32]string{
157                 1: "MTU_PROTO_API_L3",
158                 2: "MTU_PROTO_API_IP4",
159                 3: "MTU_PROTO_API_IP6",
160                 4: "MTU_PROTO_API_MPLS",
161                 5: "MTU_PROTO_API_N",
162         }
163         MtuProto_value = map[string]uint32{
164                 "MTU_PROTO_API_L3":   1,
165                 "MTU_PROTO_API_IP4":  2,
166                 "MTU_PROTO_API_IP6":  3,
167                 "MTU_PROTO_API_MPLS": 4,
168                 "MTU_PROTO_API_N":    5,
169         }
170 )
171
172 func (x MtuProto) String() string {
173         s, ok := MtuProto_name[uint32(x)]
174         if ok {
175                 return s
176         }
177         return "MtuProto(" + strconv.Itoa(int(x)) + ")"
178 }
179
180 // RxMode defines enum 'rx_mode'.
181 type RxMode uint32
182
183 const (
184         RX_MODE_API_UNKNOWN   RxMode = 0
185         RX_MODE_API_POLLING   RxMode = 1
186         RX_MODE_API_INTERRUPT RxMode = 2
187         RX_MODE_API_ADAPTIVE  RxMode = 3
188         RX_MODE_API_DEFAULT   RxMode = 4
189 )
190
191 var (
192         RxMode_name = map[uint32]string{
193                 0: "RX_MODE_API_UNKNOWN",
194                 1: "RX_MODE_API_POLLING",
195                 2: "RX_MODE_API_INTERRUPT",
196                 3: "RX_MODE_API_ADAPTIVE",
197                 4: "RX_MODE_API_DEFAULT",
198         }
199         RxMode_value = map[string]uint32{
200                 "RX_MODE_API_UNKNOWN":   0,
201                 "RX_MODE_API_POLLING":   1,
202                 "RX_MODE_API_INTERRUPT": 2,
203                 "RX_MODE_API_ADAPTIVE":  3,
204                 "RX_MODE_API_DEFAULT":   4,
205         }
206 )
207
208 func (x RxMode) String() string {
209         s, ok := RxMode_name[uint32(x)]
210         if ok {
211                 return s
212         }
213         return "RxMode(" + strconv.Itoa(int(x)) + ")"
214 }
215
216 // SubIfFlags defines enum 'sub_if_flags'.
217 type SubIfFlags uint32
218
219 const (
220         SUB_IF_API_FLAG_NO_TAGS           SubIfFlags = 1
221         SUB_IF_API_FLAG_ONE_TAG           SubIfFlags = 2
222         SUB_IF_API_FLAG_TWO_TAGS          SubIfFlags = 4
223         SUB_IF_API_FLAG_DOT1AD            SubIfFlags = 8
224         SUB_IF_API_FLAG_EXACT_MATCH       SubIfFlags = 16
225         SUB_IF_API_FLAG_DEFAULT           SubIfFlags = 32
226         SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY SubIfFlags = 64
227         SUB_IF_API_FLAG_INNER_VLAN_ID_ANY SubIfFlags = 128
228         SUB_IF_API_FLAG_MASK_VNET         SubIfFlags = 254
229         SUB_IF_API_FLAG_DOT1AH            SubIfFlags = 256
230 )
231
232 var (
233         SubIfFlags_name = map[uint32]string{
234                 1:   "SUB_IF_API_FLAG_NO_TAGS",
235                 2:   "SUB_IF_API_FLAG_ONE_TAG",
236                 4:   "SUB_IF_API_FLAG_TWO_TAGS",
237                 8:   "SUB_IF_API_FLAG_DOT1AD",
238                 16:  "SUB_IF_API_FLAG_EXACT_MATCH",
239                 32:  "SUB_IF_API_FLAG_DEFAULT",
240                 64:  "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY",
241                 128: "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY",
242                 254: "SUB_IF_API_FLAG_MASK_VNET",
243                 256: "SUB_IF_API_FLAG_DOT1AH",
244         }
245         SubIfFlags_value = map[string]uint32{
246                 "SUB_IF_API_FLAG_NO_TAGS":           1,
247                 "SUB_IF_API_FLAG_ONE_TAG":           2,
248                 "SUB_IF_API_FLAG_TWO_TAGS":          4,
249                 "SUB_IF_API_FLAG_DOT1AD":            8,
250                 "SUB_IF_API_FLAG_EXACT_MATCH":       16,
251                 "SUB_IF_API_FLAG_DEFAULT":           32,
252                 "SUB_IF_API_FLAG_OUTER_VLAN_ID_ANY": 64,
253                 "SUB_IF_API_FLAG_INNER_VLAN_ID_ANY": 128,
254                 "SUB_IF_API_FLAG_MASK_VNET":         254,
255                 "SUB_IF_API_FLAG_DOT1AH":            256,
256         }
257 )
258
259 func (x SubIfFlags) String() string {
260         s, ok := SubIfFlags_name[uint32(x)]
261         if ok {
262                 return s
263         }
264         str := func(n uint32) string {
265                 s, ok := SubIfFlags_name[uint32(n)]
266                 if ok {
267                         return s
268                 }
269                 return "SubIfFlags(" + strconv.Itoa(int(n)) + ")"
270         }
271         for i := uint32(0); i <= 32; i++ {
272                 val := uint32(x)
273                 if val&(1<<i) != 0 {
274                         if s != "" {
275                                 s += "|"
276                         }
277                         s += str(1 << i)
278                 }
279         }
280         if s == "" {
281                 return str(uint32(x))
282         }
283         return s
284 }
285
286 // InterfaceIndex defines alias 'interface_index'.
287 type InterfaceIndex uint32
288
289 // MacAddress defines alias 'mac_address'.
290 type MacAddress [6]uint8
291
292 func ParseMacAddress(s string) (MacAddress, error) {
293         var macaddr MacAddress
294         mac, err := net.ParseMAC(s)
295         if err != nil {
296                 return macaddr, err
297         }
298         copy(macaddr[:], mac[:])
299         return macaddr, nil
300 }
301 func (x MacAddress) ToMAC() net.HardwareAddr {
302         return net.HardwareAddr(x[:])
303 }
304 func (x MacAddress) String() string {
305         return x.ToMAC().String()
306 }
307 func (x *MacAddress) MarshalText() ([]byte, error) {
308         return []byte(x.String()), nil
309 }
310 func (x *MacAddress) UnmarshalText(text []byte) error {
311         mac, err := ParseMacAddress(string(text))
312         if err != nil {
313                 return err
314         }
315         *x = mac
316         return nil
317 }
318
319 // P2pEthernetAdd defines message 'p2p_ethernet_add'.
320 type P2pEthernetAdd struct {
321         ParentIfIndex InterfaceIndex `binapi:"interface_index,name=parent_if_index" json:"parent_if_index,omitempty"`
322         SubifID       uint32         `binapi:"u32,name=subif_id" json:"subif_id,omitempty"`
323         RemoteMac     MacAddress     `binapi:"mac_address,name=remote_mac" json:"remote_mac,omitempty"`
324 }
325
326 func (m *P2pEthernetAdd) Reset()               { *m = P2pEthernetAdd{} }
327 func (*P2pEthernetAdd) GetMessageName() string { return "p2p_ethernet_add" }
328 func (*P2pEthernetAdd) GetCrcString() string   { return "eeb8e717" }
329 func (*P2pEthernetAdd) GetMessageType() api.MessageType {
330         return api.RequestMessage
331 }
332
333 func (m *P2pEthernetAdd) Size() (size int) {
334         if m == nil {
335                 return 0
336         }
337         size += 4     // m.ParentIfIndex
338         size += 4     // m.SubifID
339         size += 1 * 6 // m.RemoteMac
340         return size
341 }
342 func (m *P2pEthernetAdd) Marshal(b []byte) ([]byte, error) {
343         if b == nil {
344                 b = make([]byte, m.Size())
345         }
346         buf := codec.NewBuffer(b)
347         buf.EncodeUint32(uint32(m.ParentIfIndex))
348         buf.EncodeUint32(m.SubifID)
349         buf.EncodeBytes(m.RemoteMac[:], 6)
350         return buf.Bytes(), nil
351 }
352 func (m *P2pEthernetAdd) Unmarshal(b []byte) error {
353         buf := codec.NewBuffer(b)
354         m.ParentIfIndex = InterfaceIndex(buf.DecodeUint32())
355         m.SubifID = buf.DecodeUint32()
356         copy(m.RemoteMac[:], buf.DecodeBytes(6))
357         return nil
358 }
359
360 // P2pEthernetAddReply defines message 'p2p_ethernet_add_reply'.
361 type P2pEthernetAddReply struct {
362         Retval    int32          `binapi:"i32,name=retval" json:"retval,omitempty"`
363         SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
364 }
365
366 func (m *P2pEthernetAddReply) Reset()               { *m = P2pEthernetAddReply{} }
367 func (*P2pEthernetAddReply) GetMessageName() string { return "p2p_ethernet_add_reply" }
368 func (*P2pEthernetAddReply) GetCrcString() string   { return "5383d31f" }
369 func (*P2pEthernetAddReply) GetMessageType() api.MessageType {
370         return api.ReplyMessage
371 }
372
373 func (m *P2pEthernetAddReply) Size() (size int) {
374         if m == nil {
375                 return 0
376         }
377         size += 4 // m.Retval
378         size += 4 // m.SwIfIndex
379         return size
380 }
381 func (m *P2pEthernetAddReply) Marshal(b []byte) ([]byte, error) {
382         if b == nil {
383                 b = make([]byte, m.Size())
384         }
385         buf := codec.NewBuffer(b)
386         buf.EncodeInt32(m.Retval)
387         buf.EncodeUint32(uint32(m.SwIfIndex))
388         return buf.Bytes(), nil
389 }
390 func (m *P2pEthernetAddReply) Unmarshal(b []byte) error {
391         buf := codec.NewBuffer(b)
392         m.Retval = buf.DecodeInt32()
393         m.SwIfIndex = InterfaceIndex(buf.DecodeUint32())
394         return nil
395 }
396
397 // P2pEthernetDel defines message 'p2p_ethernet_del'.
398 type P2pEthernetDel struct {
399         ParentIfIndex InterfaceIndex `binapi:"interface_index,name=parent_if_index" json:"parent_if_index,omitempty"`
400         RemoteMac     MacAddress     `binapi:"mac_address,name=remote_mac" json:"remote_mac,omitempty"`
401 }
402
403 func (m *P2pEthernetDel) Reset()               { *m = P2pEthernetDel{} }
404 func (*P2pEthernetDel) GetMessageName() string { return "p2p_ethernet_del" }
405 func (*P2pEthernetDel) GetCrcString() string   { return "0b62c386" }
406 func (*P2pEthernetDel) GetMessageType() api.MessageType {
407         return api.RequestMessage
408 }
409
410 func (m *P2pEthernetDel) Size() (size int) {
411         if m == nil {
412                 return 0
413         }
414         size += 4     // m.ParentIfIndex
415         size += 1 * 6 // m.RemoteMac
416         return size
417 }
418 func (m *P2pEthernetDel) Marshal(b []byte) ([]byte, error) {
419         if b == nil {
420                 b = make([]byte, m.Size())
421         }
422         buf := codec.NewBuffer(b)
423         buf.EncodeUint32(uint32(m.ParentIfIndex))
424         buf.EncodeBytes(m.RemoteMac[:], 6)
425         return buf.Bytes(), nil
426 }
427 func (m *P2pEthernetDel) Unmarshal(b []byte) error {
428         buf := codec.NewBuffer(b)
429         m.ParentIfIndex = InterfaceIndex(buf.DecodeUint32())
430         copy(m.RemoteMac[:], buf.DecodeBytes(6))
431         return nil
432 }
433
434 // P2pEthernetDelReply defines message 'p2p_ethernet_del_reply'.
435 type P2pEthernetDelReply struct {
436         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
437 }
438
439 func (m *P2pEthernetDelReply) Reset()               { *m = P2pEthernetDelReply{} }
440 func (*P2pEthernetDelReply) GetMessageName() string { return "p2p_ethernet_del_reply" }
441 func (*P2pEthernetDelReply) GetCrcString() string   { return "e8d4e804" }
442 func (*P2pEthernetDelReply) GetMessageType() api.MessageType {
443         return api.ReplyMessage
444 }
445
446 func (m *P2pEthernetDelReply) Size() (size int) {
447         if m == nil {
448                 return 0
449         }
450         size += 4 // m.Retval
451         return size
452 }
453 func (m *P2pEthernetDelReply) Marshal(b []byte) ([]byte, error) {
454         if b == nil {
455                 b = make([]byte, m.Size())
456         }
457         buf := codec.NewBuffer(b)
458         buf.EncodeInt32(m.Retval)
459         return buf.Bytes(), nil
460 }
461 func (m *P2pEthernetDelReply) Unmarshal(b []byte) error {
462         buf := codec.NewBuffer(b)
463         m.Retval = buf.DecodeInt32()
464         return nil
465 }
466
467 func init() { file_p2p_ethernet_binapi_init() }
468 func file_p2p_ethernet_binapi_init() {
469         api.RegisterMessage((*P2pEthernetAdd)(nil), "p2p_ethernet_add_eeb8e717")
470         api.RegisterMessage((*P2pEthernetAddReply)(nil), "p2p_ethernet_add_reply_5383d31f")
471         api.RegisterMessage((*P2pEthernetDel)(nil), "p2p_ethernet_del_0b62c386")
472         api.RegisterMessage((*P2pEthernetDelReply)(nil), "p2p_ethernet_del_reply_e8d4e804")
473 }
474
475 // Messages returns list of all messages in this module.
476 func AllMessages() []api.Message {
477         return []api.Message{
478                 (*P2pEthernetAdd)(nil),
479                 (*P2pEthernetAddReply)(nil),
480                 (*P2pEthernetDel)(nil),
481                 (*P2pEthernetDelReply)(nil),
482         }
483 }