23 #ifndef MEMIF_CACHELINE_SIZE 24 #define MEMIF_CACHELINE_SIZE 64 27 #define MEMIF_COOKIE 0x3E31F20 28 #define MEMIF_VERSION_MAJOR 2 29 #define MEMIF_VERSION_MINOR 0 30 #define MEMIF_VERSION ((MEMIF_VERSION_MAJOR << 8) | MEMIF_VERSION_MINOR) 74 typedef struct __attribute__ ((packed))
77 memif_version_t min_version;
78 memif_version_t max_version;
79 memif_region_index_t max_region;
80 memif_ring_index_t max_m2s_ring;
81 memif_ring_index_t max_s2m_ring;
82 memif_log2_ring_size_t max_log2_ring_size;
85 typedef struct __attribute__ ((packed))
88 memif_interface_id_t
id;
94 typedef struct __attribute__ ((packed))
96 memif_region_index_t index;
97 memif_region_size_t
size;
100 typedef struct __attribute__ ((packed))
103 #define MEMIF_MSG_ADD_RING_FLAG_S2M (1 << 0) 104 memif_ring_index_t index;
105 memif_region_index_t region;
106 memif_region_offset_t
offset;
107 memif_log2_ring_size_t log2_ring_size;
108 uint16_t private_hdr_size;
111 typedef struct __attribute__ ((packed))
116 typedef struct __attribute__ ((packed))
121 typedef struct __attribute__ ((packed))
127 typedef struct __attribute__ ((packed, aligned (128)))
143 "Size of memif_msg_t must be 128");
149 typedef struct __attribute__ ((packed))
152 #define MEMIF_DESC_FLAG_NEXT (1 << 0) 153 memif_region_index_t region;
155 memif_region_offset_t
offset;
160 "Size of memif_dsct_t must be 16 bytes");
162 #define MEMIF_CACHELINE_ALIGN_MARK(mark) \ 163 uint8_t mark[0] __attribute__((aligned(MEMIF_CACHELINE_SIZE))) 170 #define MEMIF_RING_FLAG_MASK_INT 1 171 volatile uint16_t head;
173 volatile uint16_t tail;
uint16_t memif_ring_index_t
uint16_t memif_region_index_t
enum memif_msg_type memif_msg_type_t
vl_api_gre_tunnel_mode_t mode
vl_api_fib_path_type_t type
uint32_t memif_region_offset_t
uint8_t memif_log2_ring_size_t
uint32_t memif_interface_id_t
uint64_t memif_region_size_t
struct clib_bihash_value offset
template key/value backing page structure