github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/svs/svs.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: plugins/svs.api.json 6 7 // Package svs contains generated bindings for API file svs.api. 8 // 9 // Contents: 10 // - 10 messages 11 package svs 12 13 import ( 14 interface_types "github.com/networkservicemesh/govpp/binapi/interface_types" 15 ip_types "github.com/networkservicemesh/govpp/binapi/ip_types" 16 api "go.fd.io/govpp/api" 17 codec "go.fd.io/govpp/codec" 18 ) 19 20 // This is a compile-time assertion to ensure that this generated file 21 // is compatible with the GoVPP api package it is being compiled against. 22 // A compilation error at this line likely means your copy of the 23 // GoVPP api package needs to be updated. 24 const _ = api.GoVppAPIPackageIsVersion2 25 26 const ( 27 APIFile = "svs" 28 APIVersion = "1.0.0" 29 VersionCrc = 0x816cf275 30 ) 31 32 // * @brief SVS table-id to interface mapping 33 // - - af - Address Family 34 // - - table_id - The SVS table (from svs_table_add_del) 35 // - - sw_if_index - Interface 36 // 37 // SvsDetails defines message 'svs_details'. 38 type SvsDetails struct { 39 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 40 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 41 Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` 42 } 43 44 func (m *SvsDetails) Reset() { *m = SvsDetails{} } 45 func (*SvsDetails) GetMessageName() string { return "svs_details" } 46 func (*SvsDetails) GetCrcString() string { return "6282cd55" } 47 func (*SvsDetails) GetMessageType() api.MessageType { 48 return api.ReplyMessage 49 } 50 51 func (m *SvsDetails) Size() (size int) { 52 if m == nil { 53 return 0 54 } 55 size += 4 // m.TableID 56 size += 4 // m.SwIfIndex 57 size += 1 // m.Af 58 return size 59 } 60 func (m *SvsDetails) Marshal(b []byte) ([]byte, error) { 61 if b == nil { 62 b = make([]byte, m.Size()) 63 } 64 buf := codec.NewBuffer(b) 65 buf.EncodeUint32(m.TableID) 66 buf.EncodeUint32(uint32(m.SwIfIndex)) 67 buf.EncodeUint8(uint8(m.Af)) 68 return buf.Bytes(), nil 69 } 70 func (m *SvsDetails) Unmarshal(b []byte) error { 71 buf := codec.NewBuffer(b) 72 m.TableID = buf.DecodeUint32() 73 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 74 m.Af = ip_types.AddressFamily(buf.DecodeUint8()) 75 return nil 76 } 77 78 // * @brief Dump the SVS table mappings of table_id to interface 79 // - To see the routes added to a given table use ip_fib_dump() 80 // 81 // SvsDump defines message 'svs_dump'. 82 type SvsDump struct{} 83 84 func (m *SvsDump) Reset() { *m = SvsDump{} } 85 func (*SvsDump) GetMessageName() string { return "svs_dump" } 86 func (*SvsDump) GetCrcString() string { return "51077d14" } 87 func (*SvsDump) GetMessageType() api.MessageType { 88 return api.RequestMessage 89 } 90 91 func (m *SvsDump) Size() (size int) { 92 if m == nil { 93 return 0 94 } 95 return size 96 } 97 func (m *SvsDump) Marshal(b []byte) ([]byte, error) { 98 if b == nil { 99 b = make([]byte, m.Size()) 100 } 101 buf := codec.NewBuffer(b) 102 return buf.Bytes(), nil 103 } 104 func (m *SvsDump) Unmarshal(b []byte) error { 105 return nil 106 } 107 108 // * @brief Enable SVS on a given interface by using the given table to match 109 // - RX'd packets' source addresses 110 // - - af - Address Family 111 // - - table_id - The SVS table (from svs_table_add_del) 112 // - - sw_if_index - Interface 113 // 114 // SvsEnableDisable defines message 'svs_enable_disable'. 115 type SvsEnableDisable struct { 116 IsEnable bool `binapi:"bool,name=is_enable" json:"is_enable,omitempty"` 117 Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` 118 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 119 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 120 } 121 122 func (m *SvsEnableDisable) Reset() { *m = SvsEnableDisable{} } 123 func (*SvsEnableDisable) GetMessageName() string { return "svs_enable_disable" } 124 func (*SvsEnableDisable) GetCrcString() string { return "634b89d2" } 125 func (*SvsEnableDisable) GetMessageType() api.MessageType { 126 return api.RequestMessage 127 } 128 129 func (m *SvsEnableDisable) Size() (size int) { 130 if m == nil { 131 return 0 132 } 133 size += 1 // m.IsEnable 134 size += 1 // m.Af 135 size += 4 // m.TableID 136 size += 4 // m.SwIfIndex 137 return size 138 } 139 func (m *SvsEnableDisable) Marshal(b []byte) ([]byte, error) { 140 if b == nil { 141 b = make([]byte, m.Size()) 142 } 143 buf := codec.NewBuffer(b) 144 buf.EncodeBool(m.IsEnable) 145 buf.EncodeUint8(uint8(m.Af)) 146 buf.EncodeUint32(m.TableID) 147 buf.EncodeUint32(uint32(m.SwIfIndex)) 148 return buf.Bytes(), nil 149 } 150 func (m *SvsEnableDisable) Unmarshal(b []byte) error { 151 buf := codec.NewBuffer(b) 152 m.IsEnable = buf.DecodeBool() 153 m.Af = ip_types.AddressFamily(buf.DecodeUint8()) 154 m.TableID = buf.DecodeUint32() 155 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 156 return nil 157 } 158 159 // SvsEnableDisableReply defines message 'svs_enable_disable_reply'. 160 type SvsEnableDisableReply struct { 161 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 162 } 163 164 func (m *SvsEnableDisableReply) Reset() { *m = SvsEnableDisableReply{} } 165 func (*SvsEnableDisableReply) GetMessageName() string { return "svs_enable_disable_reply" } 166 func (*SvsEnableDisableReply) GetCrcString() string { return "e8d4e804" } 167 func (*SvsEnableDisableReply) GetMessageType() api.MessageType { 168 return api.ReplyMessage 169 } 170 171 func (m *SvsEnableDisableReply) Size() (size int) { 172 if m == nil { 173 return 0 174 } 175 size += 4 // m.Retval 176 return size 177 } 178 func (m *SvsEnableDisableReply) Marshal(b []byte) ([]byte, error) { 179 if b == nil { 180 b = make([]byte, m.Size()) 181 } 182 buf := codec.NewBuffer(b) 183 buf.EncodeInt32(m.Retval) 184 return buf.Bytes(), nil 185 } 186 func (m *SvsEnableDisableReply) Unmarshal(b []byte) error { 187 buf := codec.NewBuffer(b) 188 m.Retval = buf.DecodeInt32() 189 return nil 190 } 191 192 // - brief Get the plugin version 193 // *- context - sender context, to match reply w/ request 194 // 195 // SvsPluginGetVersion defines message 'svs_plugin_get_version'. 196 type SvsPluginGetVersion struct{} 197 198 func (m *SvsPluginGetVersion) Reset() { *m = SvsPluginGetVersion{} } 199 func (*SvsPluginGetVersion) GetMessageName() string { return "svs_plugin_get_version" } 200 func (*SvsPluginGetVersion) GetCrcString() string { return "51077d14" } 201 func (*SvsPluginGetVersion) GetMessageType() api.MessageType { 202 return api.RequestMessage 203 } 204 205 func (m *SvsPluginGetVersion) Size() (size int) { 206 if m == nil { 207 return 0 208 } 209 return size 210 } 211 func (m *SvsPluginGetVersion) Marshal(b []byte) ([]byte, error) { 212 if b == nil { 213 b = make([]byte, m.Size()) 214 } 215 buf := codec.NewBuffer(b) 216 return buf.Bytes(), nil 217 } 218 func (m *SvsPluginGetVersion) Unmarshal(b []byte) error { 219 return nil 220 } 221 222 // * @brief Reply to get the plugin version 223 // - - major - Incremented every time a known breaking behavior change is introduced 224 // - - minor - Incremented with small changes, may be used to avoid buggy versions 225 // 226 // SvsPluginGetVersionReply defines message 'svs_plugin_get_version_reply'. 227 type SvsPluginGetVersionReply struct { 228 Major uint32 `binapi:"u32,name=major" json:"major,omitempty"` 229 Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"` 230 } 231 232 func (m *SvsPluginGetVersionReply) Reset() { *m = SvsPluginGetVersionReply{} } 233 func (*SvsPluginGetVersionReply) GetMessageName() string { return "svs_plugin_get_version_reply" } 234 func (*SvsPluginGetVersionReply) GetCrcString() string { return "9b32cf86" } 235 func (*SvsPluginGetVersionReply) GetMessageType() api.MessageType { 236 return api.ReplyMessage 237 } 238 239 func (m *SvsPluginGetVersionReply) Size() (size int) { 240 if m == nil { 241 return 0 242 } 243 size += 4 // m.Major 244 size += 4 // m.Minor 245 return size 246 } 247 func (m *SvsPluginGetVersionReply) Marshal(b []byte) ([]byte, error) { 248 if b == nil { 249 b = make([]byte, m.Size()) 250 } 251 buf := codec.NewBuffer(b) 252 buf.EncodeUint32(m.Major) 253 buf.EncodeUint32(m.Minor) 254 return buf.Bytes(), nil 255 } 256 func (m *SvsPluginGetVersionReply) Unmarshal(b []byte) error { 257 buf := codec.NewBuffer(b) 258 m.Major = buf.DecodeUint32() 259 m.Minor = buf.DecodeUint32() 260 return nil 261 } 262 263 // * @brief Add a route into the source address matching table 264 // - - prefix - prefix 265 // - - table_id - The SVS table (from svs_table_add_del) 266 // - - source_table_id - This is the table ID that will be used for 267 // - the subsequent lookup of the packet. The V in SVS. 268 // - this table must exist (from e.g. ip_table_add_del) 269 // 270 // SvsRouteAddDel defines message 'svs_route_add_del'. 271 type SvsRouteAddDel struct { 272 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 273 Prefix ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"` 274 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 275 SourceTableID uint32 `binapi:"u32,name=source_table_id" json:"source_table_id,omitempty"` 276 } 277 278 func (m *SvsRouteAddDel) Reset() { *m = SvsRouteAddDel{} } 279 func (*SvsRouteAddDel) GetMessageName() string { return "svs_route_add_del" } 280 func (*SvsRouteAddDel) GetCrcString() string { return "e49bc63c" } 281 func (*SvsRouteAddDel) GetMessageType() api.MessageType { 282 return api.RequestMessage 283 } 284 285 func (m *SvsRouteAddDel) Size() (size int) { 286 if m == nil { 287 return 0 288 } 289 size += 1 // m.IsAdd 290 size += 1 // m.Prefix.Address.Af 291 size += 1 * 16 // m.Prefix.Address.Un 292 size += 1 // m.Prefix.Len 293 size += 4 // m.TableID 294 size += 4 // m.SourceTableID 295 return size 296 } 297 func (m *SvsRouteAddDel) Marshal(b []byte) ([]byte, error) { 298 if b == nil { 299 b = make([]byte, m.Size()) 300 } 301 buf := codec.NewBuffer(b) 302 buf.EncodeBool(m.IsAdd) 303 buf.EncodeUint8(uint8(m.Prefix.Address.Af)) 304 buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16) 305 buf.EncodeUint8(m.Prefix.Len) 306 buf.EncodeUint32(m.TableID) 307 buf.EncodeUint32(m.SourceTableID) 308 return buf.Bytes(), nil 309 } 310 func (m *SvsRouteAddDel) Unmarshal(b []byte) error { 311 buf := codec.NewBuffer(b) 312 m.IsAdd = buf.DecodeBool() 313 m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 314 copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 315 m.Prefix.Len = buf.DecodeUint8() 316 m.TableID = buf.DecodeUint32() 317 m.SourceTableID = buf.DecodeUint32() 318 return nil 319 } 320 321 // SvsRouteAddDelReply defines message 'svs_route_add_del_reply'. 322 type SvsRouteAddDelReply struct { 323 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 324 } 325 326 func (m *SvsRouteAddDelReply) Reset() { *m = SvsRouteAddDelReply{} } 327 func (*SvsRouteAddDelReply) GetMessageName() string { return "svs_route_add_del_reply" } 328 func (*SvsRouteAddDelReply) GetCrcString() string { return "e8d4e804" } 329 func (*SvsRouteAddDelReply) GetMessageType() api.MessageType { 330 return api.ReplyMessage 331 } 332 333 func (m *SvsRouteAddDelReply) Size() (size int) { 334 if m == nil { 335 return 0 336 } 337 size += 4 // m.Retval 338 return size 339 } 340 func (m *SvsRouteAddDelReply) Marshal(b []byte) ([]byte, error) { 341 if b == nil { 342 b = make([]byte, m.Size()) 343 } 344 buf := codec.NewBuffer(b) 345 buf.EncodeInt32(m.Retval) 346 return buf.Bytes(), nil 347 } 348 func (m *SvsRouteAddDelReply) Unmarshal(b []byte) error { 349 buf := codec.NewBuffer(b) 350 m.Retval = buf.DecodeInt32() 351 return nil 352 } 353 354 // * @brief Add a table in which to add routes that will match against source 355 // - addresses 356 // - - af - Address Family 357 // - - table_id - User provided ID for the table 358 // - - is_add - add or delete 359 // 360 // SvsTableAddDel defines message 'svs_table_add_del'. 361 type SvsTableAddDel struct { 362 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 363 Af ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"` 364 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 365 } 366 367 func (m *SvsTableAddDel) Reset() { *m = SvsTableAddDel{} } 368 func (*SvsTableAddDel) GetMessageName() string { return "svs_table_add_del" } 369 func (*SvsTableAddDel) GetCrcString() string { return "7d21cb2a" } 370 func (*SvsTableAddDel) GetMessageType() api.MessageType { 371 return api.RequestMessage 372 } 373 374 func (m *SvsTableAddDel) Size() (size int) { 375 if m == nil { 376 return 0 377 } 378 size += 1 // m.IsAdd 379 size += 1 // m.Af 380 size += 4 // m.TableID 381 return size 382 } 383 func (m *SvsTableAddDel) Marshal(b []byte) ([]byte, error) { 384 if b == nil { 385 b = make([]byte, m.Size()) 386 } 387 buf := codec.NewBuffer(b) 388 buf.EncodeBool(m.IsAdd) 389 buf.EncodeUint8(uint8(m.Af)) 390 buf.EncodeUint32(m.TableID) 391 return buf.Bytes(), nil 392 } 393 func (m *SvsTableAddDel) Unmarshal(b []byte) error { 394 buf := codec.NewBuffer(b) 395 m.IsAdd = buf.DecodeBool() 396 m.Af = ip_types.AddressFamily(buf.DecodeUint8()) 397 m.TableID = buf.DecodeUint32() 398 return nil 399 } 400 401 // SvsTableAddDelReply defines message 'svs_table_add_del_reply'. 402 type SvsTableAddDelReply struct { 403 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 404 } 405 406 func (m *SvsTableAddDelReply) Reset() { *m = SvsTableAddDelReply{} } 407 func (*SvsTableAddDelReply) GetMessageName() string { return "svs_table_add_del_reply" } 408 func (*SvsTableAddDelReply) GetCrcString() string { return "e8d4e804" } 409 func (*SvsTableAddDelReply) GetMessageType() api.MessageType { 410 return api.ReplyMessage 411 } 412 413 func (m *SvsTableAddDelReply) Size() (size int) { 414 if m == nil { 415 return 0 416 } 417 size += 4 // m.Retval 418 return size 419 } 420 func (m *SvsTableAddDelReply) Marshal(b []byte) ([]byte, error) { 421 if b == nil { 422 b = make([]byte, m.Size()) 423 } 424 buf := codec.NewBuffer(b) 425 buf.EncodeInt32(m.Retval) 426 return buf.Bytes(), nil 427 } 428 func (m *SvsTableAddDelReply) Unmarshal(b []byte) error { 429 buf := codec.NewBuffer(b) 430 m.Retval = buf.DecodeInt32() 431 return nil 432 } 433 434 func init() { file_svs_binapi_init() } 435 func file_svs_binapi_init() { 436 api.RegisterMessage((*SvsDetails)(nil), "svs_details_6282cd55") 437 api.RegisterMessage((*SvsDump)(nil), "svs_dump_51077d14") 438 api.RegisterMessage((*SvsEnableDisable)(nil), "svs_enable_disable_634b89d2") 439 api.RegisterMessage((*SvsEnableDisableReply)(nil), "svs_enable_disable_reply_e8d4e804") 440 api.RegisterMessage((*SvsPluginGetVersion)(nil), "svs_plugin_get_version_51077d14") 441 api.RegisterMessage((*SvsPluginGetVersionReply)(nil), "svs_plugin_get_version_reply_9b32cf86") 442 api.RegisterMessage((*SvsRouteAddDel)(nil), "svs_route_add_del_e49bc63c") 443 api.RegisterMessage((*SvsRouteAddDelReply)(nil), "svs_route_add_del_reply_e8d4e804") 444 api.RegisterMessage((*SvsTableAddDel)(nil), "svs_table_add_del_7d21cb2a") 445 api.RegisterMessage((*SvsTableAddDelReply)(nil), "svs_table_add_del_reply_e8d4e804") 446 } 447 448 // Messages returns list of all messages in this module. 449 func AllMessages() []api.Message { 450 return []api.Message{ 451 (*SvsDetails)(nil), 452 (*SvsDump)(nil), 453 (*SvsEnableDisable)(nil), 454 (*SvsEnableDisableReply)(nil), 455 (*SvsPluginGetVersion)(nil), 456 (*SvsPluginGetVersionReply)(nil), 457 (*SvsRouteAddDel)(nil), 458 (*SvsRouteAddDelReply)(nil), 459 (*SvsTableAddDel)(nil), 460 (*SvsTableAddDelReply)(nil), 461 } 462 }