1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
6 // Package teib contains generated bindings for API file teib.api.
15 api "git.fd.io/govpp.git/api"
16 interface_types "git.fd.io/govpp.git/binapi/interface_types"
17 ip_types "git.fd.io/govpp.git/binapi/ip_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 = 0xaac93c17
33 // TeibEntry defines type 'teib_entry'.
34 type TeibEntry struct {
35 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
36 Peer ip_types.Address `binapi:"address,name=peer" json:"peer,omitempty"`
37 Nh ip_types.Address `binapi:"address,name=nh" json:"nh,omitempty"`
38 NhTableID uint32 `binapi:"u32,name=nh_table_id" json:"nh_table_id,omitempty"`
41 // TeibDetails defines message 'teib_details'.
42 type TeibDetails struct {
43 Entry TeibEntry `binapi:"teib_entry,name=entry" json:"entry,omitempty"`
46 func (m *TeibDetails) Reset() { *m = TeibDetails{} }
47 func (*TeibDetails) GetMessageName() string { return "teib_details" }
48 func (*TeibDetails) GetCrcString() string { return "e3b6a503" }
49 func (*TeibDetails) GetMessageType() api.MessageType {
50 return api.ReplyMessage
53 func (m *TeibDetails) Size() (size int) {
57 size += 4 // m.Entry.SwIfIndex
58 size += 1 // m.Entry.Peer.Af
59 size += 1 * 16 // m.Entry.Peer.Un
60 size += 1 // m.Entry.Nh.Af
61 size += 1 * 16 // m.Entry.Nh.Un
62 size += 4 // m.Entry.NhTableID
65 func (m *TeibDetails) Marshal(b []byte) ([]byte, error) {
67 b = make([]byte, m.Size())
69 buf := codec.NewBuffer(b)
70 buf.EncodeUint32(uint32(m.Entry.SwIfIndex))
71 buf.EncodeUint8(uint8(m.Entry.Peer.Af))
72 buf.EncodeBytes(m.Entry.Peer.Un.XXX_UnionData[:], 16)
73 buf.EncodeUint8(uint8(m.Entry.Nh.Af))
74 buf.EncodeBytes(m.Entry.Nh.Un.XXX_UnionData[:], 16)
75 buf.EncodeUint32(m.Entry.NhTableID)
76 return buf.Bytes(), nil
78 func (m *TeibDetails) Unmarshal(b []byte) error {
79 buf := codec.NewBuffer(b)
80 m.Entry.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
81 m.Entry.Peer.Af = ip_types.AddressFamily(buf.DecodeUint8())
82 copy(m.Entry.Peer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
83 m.Entry.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8())
84 copy(m.Entry.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16))
85 m.Entry.NhTableID = buf.DecodeUint32()
89 // TeibDump defines message 'teib_dump'.
90 type TeibDump struct{}
92 func (m *TeibDump) Reset() { *m = TeibDump{} }
93 func (*TeibDump) GetMessageName() string { return "teib_dump" }
94 func (*TeibDump) GetCrcString() string { return "51077d14" }
95 func (*TeibDump) GetMessageType() api.MessageType {
96 return api.RequestMessage
99 func (m *TeibDump) Size() (size int) {
105 func (m *TeibDump) Marshal(b []byte) ([]byte, error) {
107 b = make([]byte, m.Size())
109 buf := codec.NewBuffer(b)
110 return buf.Bytes(), nil
112 func (m *TeibDump) Unmarshal(b []byte) error {
116 // TeibEntryAddDel defines message 'teib_entry_add_del'.
117 type TeibEntryAddDel struct {
118 IsAdd uint8 `binapi:"u8,name=is_add" json:"is_add,omitempty"`
119 Entry TeibEntry `binapi:"teib_entry,name=entry" json:"entry,omitempty"`
122 func (m *TeibEntryAddDel) Reset() { *m = TeibEntryAddDel{} }
123 func (*TeibEntryAddDel) GetMessageName() string { return "teib_entry_add_del" }
124 func (*TeibEntryAddDel) GetCrcString() string { return "5aa0a538" }
125 func (*TeibEntryAddDel) GetMessageType() api.MessageType {
126 return api.RequestMessage
129 func (m *TeibEntryAddDel) Size() (size int) {
134 size += 4 // m.Entry.SwIfIndex
135 size += 1 // m.Entry.Peer.Af
136 size += 1 * 16 // m.Entry.Peer.Un
137 size += 1 // m.Entry.Nh.Af
138 size += 1 * 16 // m.Entry.Nh.Un
139 size += 4 // m.Entry.NhTableID
142 func (m *TeibEntryAddDel) Marshal(b []byte) ([]byte, error) {
144 b = make([]byte, m.Size())
146 buf := codec.NewBuffer(b)
147 buf.EncodeUint8(m.IsAdd)
148 buf.EncodeUint32(uint32(m.Entry.SwIfIndex))
149 buf.EncodeUint8(uint8(m.Entry.Peer.Af))
150 buf.EncodeBytes(m.Entry.Peer.Un.XXX_UnionData[:], 16)
151 buf.EncodeUint8(uint8(m.Entry.Nh.Af))
152 buf.EncodeBytes(m.Entry.Nh.Un.XXX_UnionData[:], 16)
153 buf.EncodeUint32(m.Entry.NhTableID)
154 return buf.Bytes(), nil
156 func (m *TeibEntryAddDel) Unmarshal(b []byte) error {
157 buf := codec.NewBuffer(b)
158 m.IsAdd = buf.DecodeUint8()
159 m.Entry.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
160 m.Entry.Peer.Af = ip_types.AddressFamily(buf.DecodeUint8())
161 copy(m.Entry.Peer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
162 m.Entry.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8())
163 copy(m.Entry.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16))
164 m.Entry.NhTableID = buf.DecodeUint32()
168 // TeibEntryAddDelReply defines message 'teib_entry_add_del_reply'.
169 type TeibEntryAddDelReply struct {
170 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
173 func (m *TeibEntryAddDelReply) Reset() { *m = TeibEntryAddDelReply{} }
174 func (*TeibEntryAddDelReply) GetMessageName() string { return "teib_entry_add_del_reply" }
175 func (*TeibEntryAddDelReply) GetCrcString() string { return "e8d4e804" }
176 func (*TeibEntryAddDelReply) GetMessageType() api.MessageType {
177 return api.ReplyMessage
180 func (m *TeibEntryAddDelReply) Size() (size int) {
184 size += 4 // m.Retval
187 func (m *TeibEntryAddDelReply) Marshal(b []byte) ([]byte, error) {
189 b = make([]byte, m.Size())
191 buf := codec.NewBuffer(b)
192 buf.EncodeInt32(m.Retval)
193 return buf.Bytes(), nil
195 func (m *TeibEntryAddDelReply) Unmarshal(b []byte) error {
196 buf := codec.NewBuffer(b)
197 m.Retval = buf.DecodeInt32()
201 func init() { file_teib_binapi_init() }
202 func file_teib_binapi_init() {
203 api.RegisterMessage((*TeibDetails)(nil), "teib_details_e3b6a503")
204 api.RegisterMessage((*TeibDump)(nil), "teib_dump_51077d14")
205 api.RegisterMessage((*TeibEntryAddDel)(nil), "teib_entry_add_del_5aa0a538")
206 api.RegisterMessage((*TeibEntryAddDelReply)(nil), "teib_entry_add_del_reply_e8d4e804")
209 // Messages returns list of all messages in this module.
210 func AllMessages() []api.Message {
211 return []api.Message{
214 (*TeibEntryAddDel)(nil),
215 (*TeibEntryAddDelReply)(nil),