|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
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))
85 typedef struct __attribute__ ((packed))
94 typedef struct __attribute__ ((packed))
100 typedef struct __attribute__ ((packed))
103 #define MEMIF_MSG_ADD_RING_FLAG_S2M (1 << 0)
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)
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;
@ MEMIF_MSG_TYPE_DISCONNECT
@ MEMIF_INTERFACE_MODE_IP
uint32_t memif_region_offset_t
vl_api_tunnel_mode_t mode
@ MEMIF_MSG_TYPE_CONNECTED
@ MEMIF_MSG_TYPE_ADD_RING
@ MEMIF_INTERFACE_MODE_PUNT_INJECT
@ MEMIF_MSG_TYPE_ADD_REGION
struct clib_bihash_value offset
template key/value backing page structure
uint32_t memif_interface_id_t
enum memif_msg_type memif_msg_type_t
uint16_t memif_region_index_t
uint8_t memif_log2_ring_size_t
uint16_t memif_ring_index_t
uint64_t memif_region_size_t
@ MEMIF_INTERFACE_MODE_ETHERNET
vl_api_fib_path_type_t type
vl_api_wireguard_peer_flags_t flags