github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/teib/teib.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 // versions: 3 // binapi-generator: v0.10.0-dev 4 // VPP: 23.10-rc0~170-g6f1548434 5 // source: core/teib.api.json 6 7 // Package teib contains generated bindings for API file teib.api. 8 // 9 // Contents: 10 // - 1 struct 11 // - 4 messages 12 package teib 13 14 import ( 15 interface_types "github.com/networkservicemesh/govpp/binapi/interface_types" 16 ip_types "github.com/networkservicemesh/govpp/binapi/ip_types" 17 api "go.fd.io/govpp/api" 18 codec "go.fd.io/govpp/codec" 19 ) 20 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 26 27 const ( 28 APIFile = "teib" 29 APIVersion = "1.0.0" 30 VersionCrc = 0x14ded985 31 ) 32 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"` 39 } 40 41 // TeibDetails defines message 'teib_details'. 42 type TeibDetails struct { 43 Entry TeibEntry `binapi:"teib_entry,name=entry" json:"entry,omitempty"` 44 } 45 46 func (m *TeibDetails) Reset() { *m = TeibDetails{} } 47 func (*TeibDetails) GetMessageName() string { return "teib_details" } 48 func (*TeibDetails) GetCrcString() string { return "981ee1a1" } 49 func (*TeibDetails) GetMessageType() api.MessageType { 50 return api.ReplyMessage 51 } 52 53 func (m *TeibDetails) Size() (size int) { 54 if m == nil { 55 return 0 56 } 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 63 return size 64 } 65 func (m *TeibDetails) Marshal(b []byte) ([]byte, error) { 66 if b == nil { 67 b = make([]byte, m.Size()) 68 } 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 77 } 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() 86 return nil 87 } 88 89 // TeibDump defines message 'teib_dump'. 90 type TeibDump struct{} 91 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 97 } 98 99 func (m *TeibDump) Size() (size int) { 100 if m == nil { 101 return 0 102 } 103 return size 104 } 105 func (m *TeibDump) Marshal(b []byte) ([]byte, error) { 106 if b == nil { 107 b = make([]byte, m.Size()) 108 } 109 buf := codec.NewBuffer(b) 110 return buf.Bytes(), nil 111 } 112 func (m *TeibDump) Unmarshal(b []byte) error { 113 return nil 114 } 115 116 // TEIB Entry 117 // - sw_if_index 118 // 119 // TeibEntryAddDel defines message 'teib_entry_add_del'. 120 type TeibEntryAddDel struct { 121 IsAdd uint8 `binapi:"u8,name=is_add" json:"is_add,omitempty"` 122 Entry TeibEntry `binapi:"teib_entry,name=entry" json:"entry,omitempty"` 123 } 124 125 func (m *TeibEntryAddDel) Reset() { *m = TeibEntryAddDel{} } 126 func (*TeibEntryAddDel) GetMessageName() string { return "teib_entry_add_del" } 127 func (*TeibEntryAddDel) GetCrcString() string { return "8016cfd2" } 128 func (*TeibEntryAddDel) GetMessageType() api.MessageType { 129 return api.RequestMessage 130 } 131 132 func (m *TeibEntryAddDel) Size() (size int) { 133 if m == nil { 134 return 0 135 } 136 size += 1 // m.IsAdd 137 size += 4 // m.Entry.SwIfIndex 138 size += 1 // m.Entry.Peer.Af 139 size += 1 * 16 // m.Entry.Peer.Un 140 size += 1 // m.Entry.Nh.Af 141 size += 1 * 16 // m.Entry.Nh.Un 142 size += 4 // m.Entry.NhTableID 143 return size 144 } 145 func (m *TeibEntryAddDel) Marshal(b []byte) ([]byte, error) { 146 if b == nil { 147 b = make([]byte, m.Size()) 148 } 149 buf := codec.NewBuffer(b) 150 buf.EncodeUint8(m.IsAdd) 151 buf.EncodeUint32(uint32(m.Entry.SwIfIndex)) 152 buf.EncodeUint8(uint8(m.Entry.Peer.Af)) 153 buf.EncodeBytes(m.Entry.Peer.Un.XXX_UnionData[:], 16) 154 buf.EncodeUint8(uint8(m.Entry.Nh.Af)) 155 buf.EncodeBytes(m.Entry.Nh.Un.XXX_UnionData[:], 16) 156 buf.EncodeUint32(m.Entry.NhTableID) 157 return buf.Bytes(), nil 158 } 159 func (m *TeibEntryAddDel) Unmarshal(b []byte) error { 160 buf := codec.NewBuffer(b) 161 m.IsAdd = buf.DecodeUint8() 162 m.Entry.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 163 m.Entry.Peer.Af = ip_types.AddressFamily(buf.DecodeUint8()) 164 copy(m.Entry.Peer.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 165 m.Entry.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 166 copy(m.Entry.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 167 m.Entry.NhTableID = buf.DecodeUint32() 168 return nil 169 } 170 171 // TeibEntryAddDelReply defines message 'teib_entry_add_del_reply'. 172 type TeibEntryAddDelReply struct { 173 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 174 } 175 176 func (m *TeibEntryAddDelReply) Reset() { *m = TeibEntryAddDelReply{} } 177 func (*TeibEntryAddDelReply) GetMessageName() string { return "teib_entry_add_del_reply" } 178 func (*TeibEntryAddDelReply) GetCrcString() string { return "e8d4e804" } 179 func (*TeibEntryAddDelReply) GetMessageType() api.MessageType { 180 return api.ReplyMessage 181 } 182 183 func (m *TeibEntryAddDelReply) Size() (size int) { 184 if m == nil { 185 return 0 186 } 187 size += 4 // m.Retval 188 return size 189 } 190 func (m *TeibEntryAddDelReply) Marshal(b []byte) ([]byte, error) { 191 if b == nil { 192 b = make([]byte, m.Size()) 193 } 194 buf := codec.NewBuffer(b) 195 buf.EncodeInt32(m.Retval) 196 return buf.Bytes(), nil 197 } 198 func (m *TeibEntryAddDelReply) Unmarshal(b []byte) error { 199 buf := codec.NewBuffer(b) 200 m.Retval = buf.DecodeInt32() 201 return nil 202 } 203 204 func init() { file_teib_binapi_init() } 205 func file_teib_binapi_init() { 206 api.RegisterMessage((*TeibDetails)(nil), "teib_details_981ee1a1") 207 api.RegisterMessage((*TeibDump)(nil), "teib_dump_51077d14") 208 api.RegisterMessage((*TeibEntryAddDel)(nil), "teib_entry_add_del_8016cfd2") 209 api.RegisterMessage((*TeibEntryAddDelReply)(nil), "teib_entry_add_del_reply_e8d4e804") 210 } 211 212 // Messages returns list of all messages in this module. 213 func AllMessages() []api.Message { 214 return []api.Message{ 215 (*TeibDetails)(nil), 216 (*TeibDump)(nil), 217 (*TeibEntryAddDel)(nil), 218 (*TeibEntryAddDelReply)(nil), 219 } 220 }