github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/memif/memif.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/memif.api.json
     6  
     7  // Package memif contains generated bindings for API file memif.api.
     8  //
     9  // Contents:
    10  // -  2 enums
    11  // - 14 messages
    12  package memif
    13  
    14  import (
    15  	"strconv"
    16  
    17  	ethernet_types "github.com/networkservicemesh/govpp/binapi/ethernet_types"
    18  	interface_types "github.com/networkservicemesh/govpp/binapi/interface_types"
    19  	api "go.fd.io/govpp/api"
    20  	codec "go.fd.io/govpp/codec"
    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    = "memif"
    31  	APIVersion = "3.1.0"
    32  	VersionCrc = 0xd48ac702
    33  )
    34  
    35  // MemifMode defines enum 'memif_mode'.
    36  type MemifMode uint32
    37  
    38  const (
    39  	MEMIF_MODE_API_ETHERNET    MemifMode = 0
    40  	MEMIF_MODE_API_IP          MemifMode = 1
    41  	MEMIF_MODE_API_PUNT_INJECT MemifMode = 2
    42  )
    43  
    44  var (
    45  	MemifMode_name = map[uint32]string{
    46  		0: "MEMIF_MODE_API_ETHERNET",
    47  		1: "MEMIF_MODE_API_IP",
    48  		2: "MEMIF_MODE_API_PUNT_INJECT",
    49  	}
    50  	MemifMode_value = map[string]uint32{
    51  		"MEMIF_MODE_API_ETHERNET":    0,
    52  		"MEMIF_MODE_API_IP":          1,
    53  		"MEMIF_MODE_API_PUNT_INJECT": 2,
    54  	}
    55  )
    56  
    57  func (x MemifMode) String() string {
    58  	s, ok := MemifMode_name[uint32(x)]
    59  	if ok {
    60  		return s
    61  	}
    62  	return "MemifMode(" + strconv.Itoa(int(x)) + ")"
    63  }
    64  
    65  // MemifRole defines enum 'memif_role'.
    66  type MemifRole uint32
    67  
    68  const (
    69  	MEMIF_ROLE_API_MASTER MemifRole = 0
    70  	MEMIF_ROLE_API_SLAVE  MemifRole = 1
    71  )
    72  
    73  var (
    74  	MemifRole_name = map[uint32]string{
    75  		0: "MEMIF_ROLE_API_MASTER",
    76  		1: "MEMIF_ROLE_API_SLAVE",
    77  	}
    78  	MemifRole_value = map[string]uint32{
    79  		"MEMIF_ROLE_API_MASTER": 0,
    80  		"MEMIF_ROLE_API_SLAVE":  1,
    81  	}
    82  )
    83  
    84  func (x MemifRole) String() string {
    85  	s, ok := MemifRole_name[uint32(x)]
    86  	if ok {
    87  		return s
    88  	}
    89  	return "MemifRole(" + strconv.Itoa(int(x)) + ")"
    90  }
    91  
    92  // Create memory interface
    93  //   - role - role of the interface in the connection (master/slave)
    94  //   - mode - interface mode
    95  //   - rx_queues - number of rx queues (only valid for slave)
    96  //   - tx_queues - number of tx queues (only valid for slave)
    97  //   - id - 32bit integer used to authenticate and match opposite sides
    98  //     of the connection
    99  //   - socket_id - socket filename id to be used for connection
   100  //     establishment
   101  //   - ring_size - the number of entries of RX/TX rings
   102  //   - buffer_size - size of the buffer allocated for each ring entry
   103  //   - no_zero_copy - if true, disable zero copy
   104  //   - hw_addr - interface MAC address
   105  //   - secret - optional, default is "", max length 24
   106  //
   107  // MemifCreate defines message 'memif_create'.
   108  // Deprecated: the message will be removed in the future versions
   109  type MemifCreate struct {
   110  	Role       MemifRole                 `binapi:"memif_role,name=role" json:"role,omitempty"`
   111  	Mode       MemifMode                 `binapi:"memif_mode,name=mode" json:"mode,omitempty"`
   112  	RxQueues   uint8                     `binapi:"u8,name=rx_queues" json:"rx_queues,omitempty"`
   113  	TxQueues   uint8                     `binapi:"u8,name=tx_queues" json:"tx_queues,omitempty"`
   114  	ID         uint32                    `binapi:"u32,name=id" json:"id,omitempty"`
   115  	SocketID   uint32                    `binapi:"u32,name=socket_id" json:"socket_id,omitempty"`
   116  	RingSize   uint32                    `binapi:"u32,name=ring_size" json:"ring_size,omitempty"`
   117  	BufferSize uint16                    `binapi:"u16,name=buffer_size" json:"buffer_size,omitempty"`
   118  	NoZeroCopy bool                      `binapi:"bool,name=no_zero_copy" json:"no_zero_copy,omitempty"`
   119  	HwAddr     ethernet_types.MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"`
   120  	Secret     string                    `binapi:"string[24],name=secret" json:"secret,omitempty"`
   121  }
   122  
   123  func (m *MemifCreate) Reset()               { *m = MemifCreate{} }
   124  func (*MemifCreate) GetMessageName() string { return "memif_create" }
   125  func (*MemifCreate) GetCrcString() string   { return "b1b25061" }
   126  func (*MemifCreate) GetMessageType() api.MessageType {
   127  	return api.RequestMessage
   128  }
   129  
   130  func (m *MemifCreate) Size() (size int) {
   131  	if m == nil {
   132  		return 0
   133  	}
   134  	size += 4     // m.Role
   135  	size += 4     // m.Mode
   136  	size += 1     // m.RxQueues
   137  	size += 1     // m.TxQueues
   138  	size += 4     // m.ID
   139  	size += 4     // m.SocketID
   140  	size += 4     // m.RingSize
   141  	size += 2     // m.BufferSize
   142  	size += 1     // m.NoZeroCopy
   143  	size += 1 * 6 // m.HwAddr
   144  	size += 24    // m.Secret
   145  	return size
   146  }
   147  func (m *MemifCreate) Marshal(b []byte) ([]byte, error) {
   148  	if b == nil {
   149  		b = make([]byte, m.Size())
   150  	}
   151  	buf := codec.NewBuffer(b)
   152  	buf.EncodeUint32(uint32(m.Role))
   153  	buf.EncodeUint32(uint32(m.Mode))
   154  	buf.EncodeUint8(m.RxQueues)
   155  	buf.EncodeUint8(m.TxQueues)
   156  	buf.EncodeUint32(m.ID)
   157  	buf.EncodeUint32(m.SocketID)
   158  	buf.EncodeUint32(m.RingSize)
   159  	buf.EncodeUint16(m.BufferSize)
   160  	buf.EncodeBool(m.NoZeroCopy)
   161  	buf.EncodeBytes(m.HwAddr[:], 6)
   162  	buf.EncodeString(m.Secret, 24)
   163  	return buf.Bytes(), nil
   164  }
   165  func (m *MemifCreate) Unmarshal(b []byte) error {
   166  	buf := codec.NewBuffer(b)
   167  	m.Role = MemifRole(buf.DecodeUint32())
   168  	m.Mode = MemifMode(buf.DecodeUint32())
   169  	m.RxQueues = buf.DecodeUint8()
   170  	m.TxQueues = buf.DecodeUint8()
   171  	m.ID = buf.DecodeUint32()
   172  	m.SocketID = buf.DecodeUint32()
   173  	m.RingSize = buf.DecodeUint32()
   174  	m.BufferSize = buf.DecodeUint16()
   175  	m.NoZeroCopy = buf.DecodeBool()
   176  	copy(m.HwAddr[:], buf.DecodeBytes(6))
   177  	m.Secret = buf.DecodeString(24)
   178  	return nil
   179  }
   180  
   181  // Create memory interface response
   182  //   - retval - return value for request
   183  //   - sw_if_index - software index of the newly created interface
   184  //
   185  // MemifCreateReply defines message 'memif_create_reply'.
   186  // Deprecated: the message will be removed in the future versions
   187  type MemifCreateReply struct {
   188  	Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
   189  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   190  }
   191  
   192  func (m *MemifCreateReply) Reset()               { *m = MemifCreateReply{} }
   193  func (*MemifCreateReply) GetMessageName() string { return "memif_create_reply" }
   194  func (*MemifCreateReply) GetCrcString() string   { return "5383d31f" }
   195  func (*MemifCreateReply) GetMessageType() api.MessageType {
   196  	return api.ReplyMessage
   197  }
   198  
   199  func (m *MemifCreateReply) Size() (size int) {
   200  	if m == nil {
   201  		return 0
   202  	}
   203  	size += 4 // m.Retval
   204  	size += 4 // m.SwIfIndex
   205  	return size
   206  }
   207  func (m *MemifCreateReply) Marshal(b []byte) ([]byte, error) {
   208  	if b == nil {
   209  		b = make([]byte, m.Size())
   210  	}
   211  	buf := codec.NewBuffer(b)
   212  	buf.EncodeInt32(m.Retval)
   213  	buf.EncodeUint32(uint32(m.SwIfIndex))
   214  	return buf.Bytes(), nil
   215  }
   216  func (m *MemifCreateReply) Unmarshal(b []byte) error {
   217  	buf := codec.NewBuffer(b)
   218  	m.Retval = buf.DecodeInt32()
   219  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   220  	return nil
   221  }
   222  
   223  // Create memory interface
   224  //   - role - role of the interface in the connection (master/slave)
   225  //   - mode - interface mode
   226  //   - rx_queues - number of rx queues (only valid for slave)
   227  //   - tx_queues - number of tx queues (only valid for slave)
   228  //   - id - 32bit integer used to authenticate and match opposite sides
   229  //     of the connection
   230  //   - socket_id - socket filename id to be used for connection
   231  //     establishment
   232  //   - ring_size - the number of entries of RX/TX rings
   233  //   - buffer_size - size of the buffer allocated for each ring entry
   234  //   - no_zero_copy - if true, disable zero copy
   235  //   - use_dma - if true, use dma accelerate memory copy
   236  //   - hw_addr - interface MAC address
   237  //   - secret - optional, default is "", max length 24
   238  //
   239  // MemifCreateV2 defines message 'memif_create_v2'.
   240  type MemifCreateV2 struct {
   241  	Role       MemifRole                 `binapi:"memif_role,name=role" json:"role,omitempty"`
   242  	Mode       MemifMode                 `binapi:"memif_mode,name=mode" json:"mode,omitempty"`
   243  	RxQueues   uint8                     `binapi:"u8,name=rx_queues" json:"rx_queues,omitempty"`
   244  	TxQueues   uint8                     `binapi:"u8,name=tx_queues" json:"tx_queues,omitempty"`
   245  	ID         uint32                    `binapi:"u32,name=id" json:"id,omitempty"`
   246  	SocketID   uint32                    `binapi:"u32,name=socket_id" json:"socket_id,omitempty"`
   247  	RingSize   uint32                    `binapi:"u32,name=ring_size" json:"ring_size,omitempty"`
   248  	BufferSize uint16                    `binapi:"u16,name=buffer_size" json:"buffer_size,omitempty"`
   249  	NoZeroCopy bool                      `binapi:"bool,name=no_zero_copy" json:"no_zero_copy,omitempty"`
   250  	UseDma     bool                      `binapi:"bool,name=use_dma" json:"use_dma,omitempty"`
   251  	HwAddr     ethernet_types.MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"`
   252  	Secret     string                    `binapi:"string[24],name=secret" json:"secret,omitempty"`
   253  }
   254  
   255  func (m *MemifCreateV2) Reset()               { *m = MemifCreateV2{} }
   256  func (*MemifCreateV2) GetMessageName() string { return "memif_create_v2" }
   257  func (*MemifCreateV2) GetCrcString() string   { return "8c7de5f7" }
   258  func (*MemifCreateV2) GetMessageType() api.MessageType {
   259  	return api.RequestMessage
   260  }
   261  
   262  func (m *MemifCreateV2) Size() (size int) {
   263  	if m == nil {
   264  		return 0
   265  	}
   266  	size += 4     // m.Role
   267  	size += 4     // m.Mode
   268  	size += 1     // m.RxQueues
   269  	size += 1     // m.TxQueues
   270  	size += 4     // m.ID
   271  	size += 4     // m.SocketID
   272  	size += 4     // m.RingSize
   273  	size += 2     // m.BufferSize
   274  	size += 1     // m.NoZeroCopy
   275  	size += 1     // m.UseDma
   276  	size += 1 * 6 // m.HwAddr
   277  	size += 24    // m.Secret
   278  	return size
   279  }
   280  func (m *MemifCreateV2) Marshal(b []byte) ([]byte, error) {
   281  	if b == nil {
   282  		b = make([]byte, m.Size())
   283  	}
   284  	buf := codec.NewBuffer(b)
   285  	buf.EncodeUint32(uint32(m.Role))
   286  	buf.EncodeUint32(uint32(m.Mode))
   287  	buf.EncodeUint8(m.RxQueues)
   288  	buf.EncodeUint8(m.TxQueues)
   289  	buf.EncodeUint32(m.ID)
   290  	buf.EncodeUint32(m.SocketID)
   291  	buf.EncodeUint32(m.RingSize)
   292  	buf.EncodeUint16(m.BufferSize)
   293  	buf.EncodeBool(m.NoZeroCopy)
   294  	buf.EncodeBool(m.UseDma)
   295  	buf.EncodeBytes(m.HwAddr[:], 6)
   296  	buf.EncodeString(m.Secret, 24)
   297  	return buf.Bytes(), nil
   298  }
   299  func (m *MemifCreateV2) Unmarshal(b []byte) error {
   300  	buf := codec.NewBuffer(b)
   301  	m.Role = MemifRole(buf.DecodeUint32())
   302  	m.Mode = MemifMode(buf.DecodeUint32())
   303  	m.RxQueues = buf.DecodeUint8()
   304  	m.TxQueues = buf.DecodeUint8()
   305  	m.ID = buf.DecodeUint32()
   306  	m.SocketID = buf.DecodeUint32()
   307  	m.RingSize = buf.DecodeUint32()
   308  	m.BufferSize = buf.DecodeUint16()
   309  	m.NoZeroCopy = buf.DecodeBool()
   310  	m.UseDma = buf.DecodeBool()
   311  	copy(m.HwAddr[:], buf.DecodeBytes(6))
   312  	m.Secret = buf.DecodeString(24)
   313  	return nil
   314  }
   315  
   316  // Create memory interface response
   317  //   - retval - return value for request
   318  //   - sw_if_index - software index of the newly created interface
   319  //
   320  // MemifCreateV2Reply defines message 'memif_create_v2_reply'.
   321  type MemifCreateV2Reply struct {
   322  	Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
   323  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   324  }
   325  
   326  func (m *MemifCreateV2Reply) Reset()               { *m = MemifCreateV2Reply{} }
   327  func (*MemifCreateV2Reply) GetMessageName() string { return "memif_create_v2_reply" }
   328  func (*MemifCreateV2Reply) GetCrcString() string   { return "5383d31f" }
   329  func (*MemifCreateV2Reply) GetMessageType() api.MessageType {
   330  	return api.ReplyMessage
   331  }
   332  
   333  func (m *MemifCreateV2Reply) Size() (size int) {
   334  	if m == nil {
   335  		return 0
   336  	}
   337  	size += 4 // m.Retval
   338  	size += 4 // m.SwIfIndex
   339  	return size
   340  }
   341  func (m *MemifCreateV2Reply) Marshal(b []byte) ([]byte, error) {
   342  	if b == nil {
   343  		b = make([]byte, m.Size())
   344  	}
   345  	buf := codec.NewBuffer(b)
   346  	buf.EncodeInt32(m.Retval)
   347  	buf.EncodeUint32(uint32(m.SwIfIndex))
   348  	return buf.Bytes(), nil
   349  }
   350  func (m *MemifCreateV2Reply) Unmarshal(b []byte) error {
   351  	buf := codec.NewBuffer(b)
   352  	m.Retval = buf.DecodeInt32()
   353  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   354  	return nil
   355  }
   356  
   357  // Delete memory interface
   358  //   - sw_if_index - software index of the interface to delete
   359  //
   360  // MemifDelete defines message 'memif_delete'.
   361  type MemifDelete struct {
   362  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   363  }
   364  
   365  func (m *MemifDelete) Reset()               { *m = MemifDelete{} }
   366  func (*MemifDelete) GetMessageName() string { return "memif_delete" }
   367  func (*MemifDelete) GetCrcString() string   { return "f9e6675e" }
   368  func (*MemifDelete) GetMessageType() api.MessageType {
   369  	return api.RequestMessage
   370  }
   371  
   372  func (m *MemifDelete) Size() (size int) {
   373  	if m == nil {
   374  		return 0
   375  	}
   376  	size += 4 // m.SwIfIndex
   377  	return size
   378  }
   379  func (m *MemifDelete) Marshal(b []byte) ([]byte, error) {
   380  	if b == nil {
   381  		b = make([]byte, m.Size())
   382  	}
   383  	buf := codec.NewBuffer(b)
   384  	buf.EncodeUint32(uint32(m.SwIfIndex))
   385  	return buf.Bytes(), nil
   386  }
   387  func (m *MemifDelete) Unmarshal(b []byte) error {
   388  	buf := codec.NewBuffer(b)
   389  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   390  	return nil
   391  }
   392  
   393  // MemifDeleteReply defines message 'memif_delete_reply'.
   394  type MemifDeleteReply struct {
   395  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   396  }
   397  
   398  func (m *MemifDeleteReply) Reset()               { *m = MemifDeleteReply{} }
   399  func (*MemifDeleteReply) GetMessageName() string { return "memif_delete_reply" }
   400  func (*MemifDeleteReply) GetCrcString() string   { return "e8d4e804" }
   401  func (*MemifDeleteReply) GetMessageType() api.MessageType {
   402  	return api.ReplyMessage
   403  }
   404  
   405  func (m *MemifDeleteReply) Size() (size int) {
   406  	if m == nil {
   407  		return 0
   408  	}
   409  	size += 4 // m.Retval
   410  	return size
   411  }
   412  func (m *MemifDeleteReply) Marshal(b []byte) ([]byte, error) {
   413  	if b == nil {
   414  		b = make([]byte, m.Size())
   415  	}
   416  	buf := codec.NewBuffer(b)
   417  	buf.EncodeInt32(m.Retval)
   418  	return buf.Bytes(), nil
   419  }
   420  func (m *MemifDeleteReply) Unmarshal(b []byte) error {
   421  	buf := codec.NewBuffer(b)
   422  	m.Retval = buf.DecodeInt32()
   423  	return nil
   424  }
   425  
   426  // Memory interface details structure
   427  //   - sw_if_index - index of the interface
   428  //   - hw_addr - interface MAC address
   429  //   - id - id associated with the interface
   430  //   - role - role of the interface in the connection (master/slave)
   431  //   - mode - interface mode
   432  //   - zero_copy - zero copy flag present
   433  //   - socket_id - id of the socket filename used by this interface
   434  //     to establish new connections
   435  //   - ring_size - the number of entries of RX/TX rings
   436  //   - buffer_size - size of the buffer allocated for each ring entry
   437  //   - flags - interface_status flags
   438  //   - if_name - name of the interface
   439  //
   440  // MemifDetails defines message 'memif_details'.
   441  type MemifDetails struct {
   442  	SwIfIndex  interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   443  	HwAddr     ethernet_types.MacAddress      `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"`
   444  	ID         uint32                         `binapi:"u32,name=id" json:"id,omitempty"`
   445  	Role       MemifRole                      `binapi:"memif_role,name=role" json:"role,omitempty"`
   446  	Mode       MemifMode                      `binapi:"memif_mode,name=mode" json:"mode,omitempty"`
   447  	ZeroCopy   bool                           `binapi:"bool,name=zero_copy" json:"zero_copy,omitempty"`
   448  	SocketID   uint32                         `binapi:"u32,name=socket_id" json:"socket_id,omitempty"`
   449  	RingSize   uint32                         `binapi:"u32,name=ring_size" json:"ring_size,omitempty"`
   450  	BufferSize uint16                         `binapi:"u16,name=buffer_size" json:"buffer_size,omitempty"`
   451  	Flags      interface_types.IfStatusFlags  `binapi:"if_status_flags,name=flags" json:"flags,omitempty"`
   452  	IfName     string                         `binapi:"string[64],name=if_name" json:"if_name,omitempty"`
   453  }
   454  
   455  func (m *MemifDetails) Reset()               { *m = MemifDetails{} }
   456  func (*MemifDetails) GetMessageName() string { return "memif_details" }
   457  func (*MemifDetails) GetCrcString() string   { return "da34feb9" }
   458  func (*MemifDetails) GetMessageType() api.MessageType {
   459  	return api.ReplyMessage
   460  }
   461  
   462  func (m *MemifDetails) Size() (size int) {
   463  	if m == nil {
   464  		return 0
   465  	}
   466  	size += 4     // m.SwIfIndex
   467  	size += 1 * 6 // m.HwAddr
   468  	size += 4     // m.ID
   469  	size += 4     // m.Role
   470  	size += 4     // m.Mode
   471  	size += 1     // m.ZeroCopy
   472  	size += 4     // m.SocketID
   473  	size += 4     // m.RingSize
   474  	size += 2     // m.BufferSize
   475  	size += 4     // m.Flags
   476  	size += 64    // m.IfName
   477  	return size
   478  }
   479  func (m *MemifDetails) Marshal(b []byte) ([]byte, error) {
   480  	if b == nil {
   481  		b = make([]byte, m.Size())
   482  	}
   483  	buf := codec.NewBuffer(b)
   484  	buf.EncodeUint32(uint32(m.SwIfIndex))
   485  	buf.EncodeBytes(m.HwAddr[:], 6)
   486  	buf.EncodeUint32(m.ID)
   487  	buf.EncodeUint32(uint32(m.Role))
   488  	buf.EncodeUint32(uint32(m.Mode))
   489  	buf.EncodeBool(m.ZeroCopy)
   490  	buf.EncodeUint32(m.SocketID)
   491  	buf.EncodeUint32(m.RingSize)
   492  	buf.EncodeUint16(m.BufferSize)
   493  	buf.EncodeUint32(uint32(m.Flags))
   494  	buf.EncodeString(m.IfName, 64)
   495  	return buf.Bytes(), nil
   496  }
   497  func (m *MemifDetails) Unmarshal(b []byte) error {
   498  	buf := codec.NewBuffer(b)
   499  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   500  	copy(m.HwAddr[:], buf.DecodeBytes(6))
   501  	m.ID = buf.DecodeUint32()
   502  	m.Role = MemifRole(buf.DecodeUint32())
   503  	m.Mode = MemifMode(buf.DecodeUint32())
   504  	m.ZeroCopy = buf.DecodeBool()
   505  	m.SocketID = buf.DecodeUint32()
   506  	m.RingSize = buf.DecodeUint32()
   507  	m.BufferSize = buf.DecodeUint16()
   508  	m.Flags = interface_types.IfStatusFlags(buf.DecodeUint32())
   509  	m.IfName = buf.DecodeString(64)
   510  	return nil
   511  }
   512  
   513  // Dump all memory interfaces
   514  // MemifDump defines message 'memif_dump'.
   515  type MemifDump struct{}
   516  
   517  func (m *MemifDump) Reset()               { *m = MemifDump{} }
   518  func (*MemifDump) GetMessageName() string { return "memif_dump" }
   519  func (*MemifDump) GetCrcString() string   { return "51077d14" }
   520  func (*MemifDump) GetMessageType() api.MessageType {
   521  	return api.RequestMessage
   522  }
   523  
   524  func (m *MemifDump) Size() (size int) {
   525  	if m == nil {
   526  		return 0
   527  	}
   528  	return size
   529  }
   530  func (m *MemifDump) Marshal(b []byte) ([]byte, error) {
   531  	if b == nil {
   532  		b = make([]byte, m.Size())
   533  	}
   534  	buf := codec.NewBuffer(b)
   535  	return buf.Bytes(), nil
   536  }
   537  func (m *MemifDump) Unmarshal(b []byte) error {
   538  	return nil
   539  }
   540  
   541  // Create or remove named socket file for memif interfaces
   542  //   - is_add - 0 = remove, 1 = add association
   543  //   - socket_id - non-0 32-bit integer used to identify a socket file
   544  //   - socket_filename - filename of the socket to be used for connection
   545  //     establishment; id 0 always maps to default "/var/vpp/memif.sock";
   546  //     no socket filename needed when is_add == 0.
   547  //
   548  // MemifSocketFilenameAddDel defines message 'memif_socket_filename_add_del'.
   549  // Deprecated: the message will be removed in the future versions
   550  type MemifSocketFilenameAddDel struct {
   551  	IsAdd          bool   `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   552  	SocketID       uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"`
   553  	SocketFilename string `binapi:"string[108],name=socket_filename" json:"socket_filename,omitempty"`
   554  }
   555  
   556  func (m *MemifSocketFilenameAddDel) Reset()               { *m = MemifSocketFilenameAddDel{} }
   557  func (*MemifSocketFilenameAddDel) GetMessageName() string { return "memif_socket_filename_add_del" }
   558  func (*MemifSocketFilenameAddDel) GetCrcString() string   { return "a2ce1a10" }
   559  func (*MemifSocketFilenameAddDel) GetMessageType() api.MessageType {
   560  	return api.RequestMessage
   561  }
   562  
   563  func (m *MemifSocketFilenameAddDel) Size() (size int) {
   564  	if m == nil {
   565  		return 0
   566  	}
   567  	size += 1   // m.IsAdd
   568  	size += 4   // m.SocketID
   569  	size += 108 // m.SocketFilename
   570  	return size
   571  }
   572  func (m *MemifSocketFilenameAddDel) Marshal(b []byte) ([]byte, error) {
   573  	if b == nil {
   574  		b = make([]byte, m.Size())
   575  	}
   576  	buf := codec.NewBuffer(b)
   577  	buf.EncodeBool(m.IsAdd)
   578  	buf.EncodeUint32(m.SocketID)
   579  	buf.EncodeString(m.SocketFilename, 108)
   580  	return buf.Bytes(), nil
   581  }
   582  func (m *MemifSocketFilenameAddDel) Unmarshal(b []byte) error {
   583  	buf := codec.NewBuffer(b)
   584  	m.IsAdd = buf.DecodeBool()
   585  	m.SocketID = buf.DecodeUint32()
   586  	m.SocketFilename = buf.DecodeString(108)
   587  	return nil
   588  }
   589  
   590  // MemifSocketFilenameAddDelReply defines message 'memif_socket_filename_add_del_reply'.
   591  // Deprecated: the message will be removed in the future versions
   592  type MemifSocketFilenameAddDelReply struct {
   593  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   594  }
   595  
   596  func (m *MemifSocketFilenameAddDelReply) Reset() { *m = MemifSocketFilenameAddDelReply{} }
   597  func (*MemifSocketFilenameAddDelReply) GetMessageName() string {
   598  	return "memif_socket_filename_add_del_reply"
   599  }
   600  func (*MemifSocketFilenameAddDelReply) GetCrcString() string { return "e8d4e804" }
   601  func (*MemifSocketFilenameAddDelReply) GetMessageType() api.MessageType {
   602  	return api.ReplyMessage
   603  }
   604  
   605  func (m *MemifSocketFilenameAddDelReply) Size() (size int) {
   606  	if m == nil {
   607  		return 0
   608  	}
   609  	size += 4 // m.Retval
   610  	return size
   611  }
   612  func (m *MemifSocketFilenameAddDelReply) Marshal(b []byte) ([]byte, error) {
   613  	if b == nil {
   614  		b = make([]byte, m.Size())
   615  	}
   616  	buf := codec.NewBuffer(b)
   617  	buf.EncodeInt32(m.Retval)
   618  	return buf.Bytes(), nil
   619  }
   620  func (m *MemifSocketFilenameAddDelReply) Unmarshal(b []byte) error {
   621  	buf := codec.NewBuffer(b)
   622  	m.Retval = buf.DecodeInt32()
   623  	return nil
   624  }
   625  
   626  // Create or remove named socket file for memif interfaces
   627  //   - is_add - 0 = remove, 1 = add association
   628  //   - socket_id - non-0 32-bit integer used to identify a socket file
   629  //     ~0 means autogenerate
   630  //   - socket_filename - filename of the socket to be used for connection
   631  //     establishment; id 0 always maps to default "/var/vpp/memif.sock";
   632  //     no socket filename needed when is_add == 0.
   633  //     socket_filename starting with '@' will create an abstract socket
   634  //     in the given namespace
   635  //
   636  // MemifSocketFilenameAddDelV2 defines message 'memif_socket_filename_add_del_v2'.
   637  type MemifSocketFilenameAddDelV2 struct {
   638  	IsAdd          bool   `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   639  	SocketID       uint32 `binapi:"u32,name=socket_id,default=4294967295" json:"socket_id,omitempty"`
   640  	SocketFilename string `binapi:"string[],name=socket_filename" json:"socket_filename,omitempty"`
   641  }
   642  
   643  func (m *MemifSocketFilenameAddDelV2) Reset() { *m = MemifSocketFilenameAddDelV2{} }
   644  func (*MemifSocketFilenameAddDelV2) GetMessageName() string {
   645  	return "memif_socket_filename_add_del_v2"
   646  }
   647  func (*MemifSocketFilenameAddDelV2) GetCrcString() string { return "34223bdf" }
   648  func (*MemifSocketFilenameAddDelV2) GetMessageType() api.MessageType {
   649  	return api.RequestMessage
   650  }
   651  
   652  func (m *MemifSocketFilenameAddDelV2) Size() (size int) {
   653  	if m == nil {
   654  		return 0
   655  	}
   656  	size += 1                         // m.IsAdd
   657  	size += 4                         // m.SocketID
   658  	size += 4 + len(m.SocketFilename) // m.SocketFilename
   659  	return size
   660  }
   661  func (m *MemifSocketFilenameAddDelV2) Marshal(b []byte) ([]byte, error) {
   662  	if b == nil {
   663  		b = make([]byte, m.Size())
   664  	}
   665  	buf := codec.NewBuffer(b)
   666  	buf.EncodeBool(m.IsAdd)
   667  	buf.EncodeUint32(m.SocketID)
   668  	buf.EncodeString(m.SocketFilename, 0)
   669  	return buf.Bytes(), nil
   670  }
   671  func (m *MemifSocketFilenameAddDelV2) Unmarshal(b []byte) error {
   672  	buf := codec.NewBuffer(b)
   673  	m.IsAdd = buf.DecodeBool()
   674  	m.SocketID = buf.DecodeUint32()
   675  	m.SocketFilename = buf.DecodeString(0)
   676  	return nil
   677  }
   678  
   679  // Create memory interface socket file response
   680  //   - retval - return value for request
   681  //   - socket_id - non-0 32-bit integer used to identify a socket file
   682  //
   683  // MemifSocketFilenameAddDelV2Reply defines message 'memif_socket_filename_add_del_v2_reply'.
   684  type MemifSocketFilenameAddDelV2Reply struct {
   685  	Retval   int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
   686  	SocketID uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"`
   687  }
   688  
   689  func (m *MemifSocketFilenameAddDelV2Reply) Reset() { *m = MemifSocketFilenameAddDelV2Reply{} }
   690  func (*MemifSocketFilenameAddDelV2Reply) GetMessageName() string {
   691  	return "memif_socket_filename_add_del_v2_reply"
   692  }
   693  func (*MemifSocketFilenameAddDelV2Reply) GetCrcString() string { return "9f29bdb9" }
   694  func (*MemifSocketFilenameAddDelV2Reply) GetMessageType() api.MessageType {
   695  	return api.ReplyMessage
   696  }
   697  
   698  func (m *MemifSocketFilenameAddDelV2Reply) Size() (size int) {
   699  	if m == nil {
   700  		return 0
   701  	}
   702  	size += 4 // m.Retval
   703  	size += 4 // m.SocketID
   704  	return size
   705  }
   706  func (m *MemifSocketFilenameAddDelV2Reply) Marshal(b []byte) ([]byte, error) {
   707  	if b == nil {
   708  		b = make([]byte, m.Size())
   709  	}
   710  	buf := codec.NewBuffer(b)
   711  	buf.EncodeInt32(m.Retval)
   712  	buf.EncodeUint32(m.SocketID)
   713  	return buf.Bytes(), nil
   714  }
   715  func (m *MemifSocketFilenameAddDelV2Reply) Unmarshal(b []byte) error {
   716  	buf := codec.NewBuffer(b)
   717  	m.Retval = buf.DecodeInt32()
   718  	m.SocketID = buf.DecodeUint32()
   719  	return nil
   720  }
   721  
   722  // Memory interface details structure
   723  //   - socket_id - u32 used to identify the given socket filename
   724  //   - socket_filename - corresponding NUL terminated socket filename
   725  //
   726  // MemifSocketFilenameDetails defines message 'memif_socket_filename_details'.
   727  type MemifSocketFilenameDetails struct {
   728  	SocketID       uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"`
   729  	SocketFilename string `binapi:"string[108],name=socket_filename" json:"socket_filename,omitempty"`
   730  }
   731  
   732  func (m *MemifSocketFilenameDetails) Reset()               { *m = MemifSocketFilenameDetails{} }
   733  func (*MemifSocketFilenameDetails) GetMessageName() string { return "memif_socket_filename_details" }
   734  func (*MemifSocketFilenameDetails) GetCrcString() string   { return "7ff326f7" }
   735  func (*MemifSocketFilenameDetails) GetMessageType() api.MessageType {
   736  	return api.ReplyMessage
   737  }
   738  
   739  func (m *MemifSocketFilenameDetails) Size() (size int) {
   740  	if m == nil {
   741  		return 0
   742  	}
   743  	size += 4   // m.SocketID
   744  	size += 108 // m.SocketFilename
   745  	return size
   746  }
   747  func (m *MemifSocketFilenameDetails) Marshal(b []byte) ([]byte, error) {
   748  	if b == nil {
   749  		b = make([]byte, m.Size())
   750  	}
   751  	buf := codec.NewBuffer(b)
   752  	buf.EncodeUint32(m.SocketID)
   753  	buf.EncodeString(m.SocketFilename, 108)
   754  	return buf.Bytes(), nil
   755  }
   756  func (m *MemifSocketFilenameDetails) Unmarshal(b []byte) error {
   757  	buf := codec.NewBuffer(b)
   758  	m.SocketID = buf.DecodeUint32()
   759  	m.SocketFilename = buf.DecodeString(108)
   760  	return nil
   761  }
   762  
   763  // Dump the table of socket ids and corresponding filenames
   764  // MemifSocketFilenameDump defines message 'memif_socket_filename_dump'.
   765  type MemifSocketFilenameDump struct{}
   766  
   767  func (m *MemifSocketFilenameDump) Reset()               { *m = MemifSocketFilenameDump{} }
   768  func (*MemifSocketFilenameDump) GetMessageName() string { return "memif_socket_filename_dump" }
   769  func (*MemifSocketFilenameDump) GetCrcString() string   { return "51077d14" }
   770  func (*MemifSocketFilenameDump) GetMessageType() api.MessageType {
   771  	return api.RequestMessage
   772  }
   773  
   774  func (m *MemifSocketFilenameDump) Size() (size int) {
   775  	if m == nil {
   776  		return 0
   777  	}
   778  	return size
   779  }
   780  func (m *MemifSocketFilenameDump) Marshal(b []byte) ([]byte, error) {
   781  	if b == nil {
   782  		b = make([]byte, m.Size())
   783  	}
   784  	buf := codec.NewBuffer(b)
   785  	return buf.Bytes(), nil
   786  }
   787  func (m *MemifSocketFilenameDump) Unmarshal(b []byte) error {
   788  	return nil
   789  }
   790  
   791  func init() { file_memif_binapi_init() }
   792  func file_memif_binapi_init() {
   793  	api.RegisterMessage((*MemifCreate)(nil), "memif_create_b1b25061")
   794  	api.RegisterMessage((*MemifCreateReply)(nil), "memif_create_reply_5383d31f")
   795  	api.RegisterMessage((*MemifCreateV2)(nil), "memif_create_v2_8c7de5f7")
   796  	api.RegisterMessage((*MemifCreateV2Reply)(nil), "memif_create_v2_reply_5383d31f")
   797  	api.RegisterMessage((*MemifDelete)(nil), "memif_delete_f9e6675e")
   798  	api.RegisterMessage((*MemifDeleteReply)(nil), "memif_delete_reply_e8d4e804")
   799  	api.RegisterMessage((*MemifDetails)(nil), "memif_details_da34feb9")
   800  	api.RegisterMessage((*MemifDump)(nil), "memif_dump_51077d14")
   801  	api.RegisterMessage((*MemifSocketFilenameAddDel)(nil), "memif_socket_filename_add_del_a2ce1a10")
   802  	api.RegisterMessage((*MemifSocketFilenameAddDelReply)(nil), "memif_socket_filename_add_del_reply_e8d4e804")
   803  	api.RegisterMessage((*MemifSocketFilenameAddDelV2)(nil), "memif_socket_filename_add_del_v2_34223bdf")
   804  	api.RegisterMessage((*MemifSocketFilenameAddDelV2Reply)(nil), "memif_socket_filename_add_del_v2_reply_9f29bdb9")
   805  	api.RegisterMessage((*MemifSocketFilenameDetails)(nil), "memif_socket_filename_details_7ff326f7")
   806  	api.RegisterMessage((*MemifSocketFilenameDump)(nil), "memif_socket_filename_dump_51077d14")
   807  }
   808  
   809  // Messages returns list of all messages in this module.
   810  func AllMessages() []api.Message {
   811  	return []api.Message{
   812  		(*MemifCreate)(nil),
   813  		(*MemifCreateReply)(nil),
   814  		(*MemifCreateV2)(nil),
   815  		(*MemifCreateV2Reply)(nil),
   816  		(*MemifDelete)(nil),
   817  		(*MemifDeleteReply)(nil),
   818  		(*MemifDetails)(nil),
   819  		(*MemifDump)(nil),
   820  		(*MemifSocketFilenameAddDel)(nil),
   821  		(*MemifSocketFilenameAddDelReply)(nil),
   822  		(*MemifSocketFilenameAddDelV2)(nil),
   823  		(*MemifSocketFilenameAddDelV2Reply)(nil),
   824  		(*MemifSocketFilenameDetails)(nil),
   825  		(*MemifSocketFilenameDump)(nil),
   826  	}
   827  }