#include <vlib/log.h>
#define foreach_rdma_device_flags \
- _(0, INITIALIZED, "initialized") \
- _(1, ERROR, "error") \
- _(2, ADMIN_UP, "admin-up") \
- _(3, VA_DMA, "vaddr-dma") \
- _(4, LINK_UP, "link-up") \
- _(5, SHARED_TXQ_LOCK, "shared-txq-lock") \
- _(6, ELOG, "elog") \
+ _(0, ERROR, "error") \
+ _(1, ADMIN_UP, "admin-up") \
+ _(2, LINK_UP, "link-up") \
+ _(3, PROMISC, "promiscuous")
enum
{
u32 size;
u32 n_enq;
struct ibv_cq *cq;
- struct ibv_qp *qp;
+ struct ibv_wq *wq;
} rdma_rxq_t;
typedef struct
rdma_rxq_t *rxqs;
rdma_txq_t *txqs;
- u8 hwaddr[6];
+ u8 *name;
+ mac_address_t hwaddr;
vlib_pci_addr_t pci_addr;
struct ibv_context *ctx;
struct ibv_pd *pd;
struct ibv_mr *mr;
+ struct ibv_qp *rx_qp;
+ struct ibv_rwq_ind_table *rx_rwq_ind_tbl;
struct ibv_flow *flow_ucast;
struct ibv_flow *flow_mcast;
typedef struct
{
u8 *ifname;
+ u8 *name;
+ u32 rxq_size;
+ u32 txq_size;
+ u32 rxq_num;
/* return */
int rv;