FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
rdma_mlx5dv.h File Reference
+ Include dependency graph for rdma_mlx5dv.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mlx5dv_cqe_t
 
struct  mlx5dv_mini_cqe_t
 
struct  mlx5dv_rwq_t
 

Macros

#define always_inline   static_always_inline
 
#define CQE_FLAG_L4_OK   10
 
#define CQE_FLAG_L3_OK   9
 
#define CQE_FLAG_L2_OK   8
 
#define CQE_FLAG_IP_FRAG   7
 
#define CQE_FLAG_L4_HDR_TYPE(f)   (((f) >> 4) & 7)
 
#define CQE_FLAG_L3_HDR_TYPE_SHIFT   (2)
 
#define CQE_FLAG_L3_HDR_TYPE_MASK   (3 << CQE_FLAG_L3_HDR_TYPE_SHIFT)
 
#define CQE_FLAG_L3_HDR_TYPE(f)   (((f) & CQE_FLAG_L3_HDR_TYPE_MASK) >> CQE_FLAG_L3_HDR_TYPE_SHIFT)
 
#define CQE_FLAG_L3_HDR_TYPE_IP4   1
 
#define CQE_FLAG_L3_HDR_TYPE_IP6   2
 
#define CQE_FLAG_IP_EXT_OPTS   1
 
#define foreach_cqe_rx_field
 

Functions

 STATIC_ASSERT_SIZEOF (mlx5dv_cqe_t, 64)
 
static u32 mlx5_get_u32 (void *start, int offset)
 
static u64 mlx5_get_u64 (void *start, int offset)
 
static void mlx5_set_u32 (void *start, int offset, u32 value)
 
static void mlx5_set_u64 (void *start, int offset, u64 value)
 
static void mlx5_set_bits (void *start, int offset, int first, int last, u32 value)
 
static u32 mlx5_get_bits (void *start, int offset, int first, int last)
 

Macro Definition Documentation

◆ always_inline

#define always_inline   static_always_inline

Definition at line 23 of file rdma_mlx5dv.h.

◆ CQE_FLAG_IP_EXT_OPTS

#define CQE_FLAG_IP_EXT_OPTS   1

Definition at line 36 of file rdma_mlx5dv.h.

◆ CQE_FLAG_IP_FRAG

#define CQE_FLAG_IP_FRAG   7

Definition at line 29 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L2_OK

#define CQE_FLAG_L2_OK   8

Definition at line 28 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L3_HDR_TYPE

#define CQE_FLAG_L3_HDR_TYPE (   f)    (((f) & CQE_FLAG_L3_HDR_TYPE_MASK) >> CQE_FLAG_L3_HDR_TYPE_SHIFT)

Definition at line 33 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L3_HDR_TYPE_IP4

#define CQE_FLAG_L3_HDR_TYPE_IP4   1

Definition at line 34 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L3_HDR_TYPE_IP6

#define CQE_FLAG_L3_HDR_TYPE_IP6   2

Definition at line 35 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L3_HDR_TYPE_MASK

#define CQE_FLAG_L3_HDR_TYPE_MASK   (3 << CQE_FLAG_L3_HDR_TYPE_SHIFT)

Definition at line 32 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L3_HDR_TYPE_SHIFT

#define CQE_FLAG_L3_HDR_TYPE_SHIFT   (2)

Definition at line 31 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L3_OK

#define CQE_FLAG_L3_OK   9

Definition at line 27 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L4_HDR_TYPE

#define CQE_FLAG_L4_HDR_TYPE (   f)    (((f) >> 4) & 7)

Definition at line 30 of file rdma_mlx5dv.h.

◆ CQE_FLAG_L4_OK

#define CQE_FLAG_L4_OK   10

Definition at line 26 of file rdma_mlx5dv.h.

◆ foreach_cqe_rx_field

#define foreach_cqe_rx_field
Value:
_(0x1c, 26, 26, l4_ok) \
_(0x1c, 25, 25, l3_ok) \
_(0x1c, 24, 24, l2_ok) \
_(0x1c, 23, 23, ip_frag) \
_(0x1c, 22, 20, l4_hdr_type) \
_(0x1c, 19, 18, l3_hdr_type) \
_(0x1c, 17, 17, ip_ext_opts) \
_(0x1c, 16, 16, cv) \
_(0x2c, 31, 0, byte_cnt) \
_(0x30, 63, 0, timestamp) \
_(0x38, 31, 24, rx_drop_counter) \
_(0x38, 23, 0, flow_tag) \
_(0x3c, 31, 16, wqe_counter) \
_(0x3c, 15, 8, signature) \
_(0x3c, 7, 4, opcode) \
_(0x3c, 3, 2, cqe_format) \
_(0x3c, 1, 1, sc) \
_(0x3c, 0, 0, owner)
f64 timestamp
Definition: vpe_types.api:27

Definition at line 73 of file rdma_mlx5dv.h.

Function Documentation

◆ mlx5_get_bits()

static u32 mlx5_get_bits ( void *  start,
int  offset,
int  first,
int  last 
)
inlinestatic

Definition at line 137 of file rdma_mlx5dv.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mlx5_get_u32()

static u32 mlx5_get_u32 ( void *  start,
int  offset 
)
inlinestatic

Definition at line 97 of file rdma_mlx5dv.h.

+ Here is the caller graph for this function:

◆ mlx5_get_u64()

static u64 mlx5_get_u64 ( void *  start,
int  offset 
)
inlinestatic

Definition at line 103 of file rdma_mlx5dv.h.

+ Here is the caller graph for this function:

◆ mlx5_set_bits()

static void mlx5_set_bits ( void *  start,
int  offset,
int  first,
int  last,
u32  value 
)
inlinestatic

Definition at line 121 of file rdma_mlx5dv.h.

+ Here is the call graph for this function:

◆ mlx5_set_u32()

static void mlx5_set_u32 ( void *  start,
int  offset,
u32  value 
)
inlinestatic

Definition at line 109 of file rdma_mlx5dv.h.

+ Here is the caller graph for this function:

◆ mlx5_set_u64()

static void mlx5_set_u64 ( void *  start,
int  offset,
u64  value 
)
inlinestatic

Definition at line 115 of file rdma_mlx5dv.h.

◆ STATIC_ASSERT_SIZEOF()

STATIC_ASSERT_SIZEOF ( mlx5dv_cqe_t  ,
64   
)