FD.io VPP  v21.01
Vector Packet Processing
memif.h File Reference
+ Include dependency graph for memif.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  memif_msg_hello_t
 
struct  memif_msg_init_t
 
struct  memif_msg_add_region_t
 
struct  memif_msg_add_ring_t
 
struct  memif_msg_connect_t
 
struct  memif_msg_connected_t
 
struct  memif_msg_disconnect_t
 
struct  memif_msg_t
 
struct  memif_desc_t
 
struct  memif_ring_t
 

Macros

#define MEMIF_CACHELINE_SIZE   64
 
#define MEMIF_COOKIE   0x3E31F20
 
#define MEMIF_VERSION_MAJOR   2
 
#define MEMIF_VERSION_MINOR   0
 
#define MEMIF_VERSION   ((MEMIF_VERSION_MAJOR << 8) | MEMIF_VERSION_MINOR)
 
#define MEMIF_MSG_ADD_RING_FLAG_S2M   (1 << 0)
 
#define MEMIF_DESC_FLAG_NEXT   (1 << 0)
 
#define MEMIF_CACHELINE_ALIGN_MARK(mark)   uint8_t mark[0] __attribute__((aligned(MEMIF_CACHELINE_SIZE)))
 
#define MEMIF_RING_FLAG_MASK_INT   1
 

Typedefs

typedef enum memif_msg_type memif_msg_type_t
 
typedef uint16_t memif_region_index_t
 
typedef uint32_t memif_region_offset_t
 
typedef uint64_t memif_region_size_t
 
typedef uint16_t memif_ring_index_t
 
typedef uint32_t memif_interface_id_t
 
typedef uint16_t memif_version_t
 
typedef uint8_t memif_log2_ring_size_t
 

Enumerations

enum  memif_msg_type {
  MEMIF_MSG_TYPE_NONE = 0, MEMIF_MSG_TYPE_ACK = 1, MEMIF_MSG_TYPE_HELLO = 2, MEMIF_MSG_TYPE_INIT = 3,
  MEMIF_MSG_TYPE_ADD_REGION = 4, MEMIF_MSG_TYPE_ADD_RING = 5, MEMIF_MSG_TYPE_CONNECT = 6, MEMIF_MSG_TYPE_CONNECTED = 7,
  MEMIF_MSG_TYPE_DISCONNECT = 8, MEMIF_MSG_TYPE_NONE = 0, MEMIF_MSG_TYPE_ACK = 1, MEMIF_MSG_TYPE_HELLO = 2,
  MEMIF_MSG_TYPE_INIT = 3, MEMIF_MSG_TYPE_ADD_REGION = 4, MEMIF_MSG_TYPE_ADD_RING = 5, MEMIF_MSG_TYPE_CONNECT = 6,
  MEMIF_MSG_TYPE_CONNECTED = 7, MEMIF_MSG_TYPE_DISCONNECT = 8
}
 
enum  memif_ring_type_t { MEMIF_RING_S2M = 0, MEMIF_RING_M2S = 1, MEMIF_RING_S2M = 0, MEMIF_RING_M2S = 1 }
 
enum  memif_interface_mode_t {
  MEMIF_INTERFACE_MODE_ETHERNET = 0, MEMIF_INTERFACE_MODE_IP = 1, MEMIF_INTERFACE_MODE_PUNT_INJECT = 2, MEMIF_INTERFACE_MODE_ETHERNET = 0,
  MEMIF_INTERFACE_MODE_IP = 1, MEMIF_INTERFACE_MODE_PUNT_INJECT = 2, MEMIF_INTERFACE_MODE_ETHERNET = 0, MEMIF_INTERFACE_MODE_IP = 1,
  MEMIF_INTERFACE_MODE_PUNT_INJECT = 2
}
 

Macro Definition Documentation

◆ MEMIF_CACHELINE_ALIGN_MARK

#define MEMIF_CACHELINE_ALIGN_MARK (   mark)    uint8_t mark[0] __attribute__((aligned(MEMIF_CACHELINE_SIZE)))

Definition at line 162 of file memif.h.

◆ MEMIF_CACHELINE_SIZE

#define MEMIF_CACHELINE_SIZE   64

Definition at line 24 of file memif.h.

◆ MEMIF_COOKIE

#define MEMIF_COOKIE   0x3E31F20

Definition at line 27 of file memif.h.

◆ MEMIF_DESC_FLAG_NEXT

#define MEMIF_DESC_FLAG_NEXT   (1 << 0)

Definition at line 152 of file memif.h.

◆ MEMIF_MSG_ADD_RING_FLAG_S2M

#define MEMIF_MSG_ADD_RING_FLAG_S2M   (1 << 0)

Definition at line 103 of file memif.h.

◆ MEMIF_RING_FLAG_MASK_INT

#define MEMIF_RING_FLAG_MASK_INT   1

Definition at line 170 of file memif.h.

◆ MEMIF_VERSION

#define MEMIF_VERSION   ((MEMIF_VERSION_MAJOR << 8) | MEMIF_VERSION_MINOR)

Definition at line 30 of file memif.h.

◆ MEMIF_VERSION_MAJOR

#define MEMIF_VERSION_MAJOR   2

Definition at line 28 of file memif.h.

◆ MEMIF_VERSION_MINOR

#define MEMIF_VERSION_MINOR   0

Definition at line 29 of file memif.h.

Typedef Documentation

◆ memif_interface_id_t

typedef uint32_t memif_interface_id_t

Definition at line 66 of file memif.h.

◆ memif_log2_ring_size_t

typedef uint8_t memif_log2_ring_size_t

Definition at line 68 of file memif.h.

◆ memif_msg_type_t

◆ memif_region_index_t

typedef uint16_t memif_region_index_t

Definition at line 62 of file memif.h.

◆ memif_region_offset_t

typedef uint32_t memif_region_offset_t

Definition at line 63 of file memif.h.

◆ memif_region_size_t

typedef uint64_t memif_region_size_t

Definition at line 64 of file memif.h.

◆ memif_ring_index_t

typedef uint16_t memif_ring_index_t

Definition at line 65 of file memif.h.

◆ memif_version_t

typedef uint16_t memif_version_t

Definition at line 67 of file memif.h.

Enumeration Type Documentation

◆ memif_interface_mode_t

Enumerator
MEMIF_INTERFACE_MODE_ETHERNET 
MEMIF_INTERFACE_MODE_IP 
MEMIF_INTERFACE_MODE_PUNT_INJECT 
MEMIF_INTERFACE_MODE_ETHERNET 
MEMIF_INTERFACE_MODE_IP 
MEMIF_INTERFACE_MODE_PUNT_INJECT 
MEMIF_INTERFACE_MODE_ETHERNET 
MEMIF_INTERFACE_MODE_IP 
MEMIF_INTERFACE_MODE_PUNT_INJECT 

Definition at line 55 of file memif.h.

◆ memif_msg_type

Enumerator
MEMIF_MSG_TYPE_NONE 
MEMIF_MSG_TYPE_ACK 
MEMIF_MSG_TYPE_HELLO 
MEMIF_MSG_TYPE_INIT 
MEMIF_MSG_TYPE_ADD_REGION 
MEMIF_MSG_TYPE_ADD_RING 
MEMIF_MSG_TYPE_CONNECT 
MEMIF_MSG_TYPE_CONNECTED 
MEMIF_MSG_TYPE_DISCONNECT 
MEMIF_MSG_TYPE_NONE 
MEMIF_MSG_TYPE_ACK 
MEMIF_MSG_TYPE_HELLO 
MEMIF_MSG_TYPE_INIT 
MEMIF_MSG_TYPE_ADD_REGION 
MEMIF_MSG_TYPE_ADD_RING 
MEMIF_MSG_TYPE_CONNECT 
MEMIF_MSG_TYPE_CONNECTED 
MEMIF_MSG_TYPE_DISCONNECT 

Definition at line 36 of file memif.h.

◆ memif_ring_type_t

Enumerator
MEMIF_RING_S2M 
MEMIF_RING_M2S 
MEMIF_RING_S2M 
MEMIF_RING_M2S 

Definition at line 49 of file memif.h.