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  }