DABC (Data Acquisition Backbone Core)  2.9.9
Public Member Functions | Protected Attributes | Static Protected Attributes
verbs::QueuePair Class Reference

Represent VERBS queue pair functionality. More...

#include <verbs/QueuePair.h>

Public Member Functions

bool AttachMcast (ibv_gid *mgid, uint16_t mlid)
 
bool Connect (uint16_t lid, uint32_t qpn, uint32_t psn, uint8_t src_path_bits=0)
 Connect QP to specified remote queue pair. More...
 
bool DetachMcast (ibv_gid *mgid, uint16_t mlid)
 
bool InitUD ()
 Initialize QP for unreliable datagram protocol. More...
 
bool is_ud () const
 
uint32_t local_psn () const
 
unsigned NumSendSegs () const
 
bool Post_Recv (struct ibv_recv_wr *rwr)
 
bool Post_Send (struct ibv_send_wr *swr)
 
struct ibv_qp * qp () const
 
uint32_t qp_num () const
 
ibv_qp_type qp_type () const
 
 QueuePair (ContextRef ctx, ibv_qp_type qp_type, ComplQueue *send_cq, int send_depth, int max_send_sge, ComplQueue *recv_cq, int recv_depth, int max_recv_sge)
 
uint16_t remote_lid () const
 
uint32_t remote_psn () const
 
uint32_t remote_qpn () const
 
virtual ~QueuePair ()
 

Protected Attributes

uint32_t f_local_psn
 number used in connection More...
 
struct ibv_qp * f_qp
 
uint16_t f_remote_lid
 
uint32_t f_remote_psn
 
uint32_t f_remote_qpn
 
ContextRef fContext
 
unsigned fNumSendSegs
 
ibv_qp_type fType
 

Static Protected Attributes

static uint32_t fQPCounter = 0
 

Detailed Description

Represent VERBS queue pair functionality.

Definition at line 37 of file QueuePair.h.

Constructor & Destructor Documentation

◆ QueuePair()

verbs::QueuePair::QueuePair ( ContextRef  ctx,
ibv_qp_type  qp_type,
ComplQueue send_cq,
int  send_depth,
int  max_send_sge,
ComplQueue recv_cq,
int  recv_depth,
int  max_recv_sge 
)

Definition at line 29 of file QueuePair.cxx.

◆ ~QueuePair()

verbs::QueuePair::~QueuePair ( )
virtual

Definition at line 104 of file QueuePair.cxx.

Member Function Documentation

◆ qp()

struct ibv_qp* verbs::QueuePair::qp ( ) const
inline

Definition at line 44 of file QueuePair.h.

◆ qp_type()

ibv_qp_type verbs::QueuePair::qp_type ( ) const
inline

Definition at line 46 of file QueuePair.h.

◆ is_ud()

bool verbs::QueuePair::is_ud ( ) const
inline

Definition at line 47 of file QueuePair.h.

◆ qp_num()

uint32_t verbs::QueuePair::qp_num ( ) const
inline

Definition at line 48 of file QueuePair.h.

◆ local_psn()

uint32_t verbs::QueuePair::local_psn ( ) const
inline

Definition at line 49 of file QueuePair.h.

◆ NumSendSegs()

unsigned verbs::QueuePair::NumSendSegs ( ) const
inline

Definition at line 51 of file QueuePair.h.

◆ Connect()

bool verbs::QueuePair::Connect ( uint16_t  lid,
uint32_t  qpn,
uint32_t  psn,
uint8_t  src_path_bits = 0 
)

Connect QP to specified remote queue pair.

Parameters
[in]lidLID of remote node
[in]qpnQP number of remote node
[in]psnadditional unique identifier of connection which should be established
[in]src_path_bitslow bits of source lid, used by QP. It is required when local HCA has multiple LID (LMC>0) and one want to use LID address other than default one.

Definition at line 141 of file QueuePair.cxx.

◆ InitUD()

bool verbs::QueuePair::InitUD ( )

Initialize QP for unreliable datagram protocol.

Definition at line 113 of file QueuePair.cxx.

◆ remote_lid()

uint16_t verbs::QueuePair::remote_lid ( ) const
inline

Definition at line 66 of file QueuePair.h.

◆ remote_qpn()

uint32_t verbs::QueuePair::remote_qpn ( ) const
inline

Definition at line 67 of file QueuePair.h.

◆ remote_psn()

uint32_t verbs::QueuePair::remote_psn ( ) const
inline

Definition at line 68 of file QueuePair.h.

◆ Post_Send()

bool verbs::QueuePair::Post_Send ( struct ibv_send_wr *  swr)

Definition at line 261 of file QueuePair.cxx.

◆ Post_Recv()

bool verbs::QueuePair::Post_Recv ( struct ibv_recv_wr *  rwr)

Definition at line 273 of file QueuePair.cxx.

◆ AttachMcast()

bool verbs::QueuePair::AttachMcast ( ibv_gid *  mgid,
uint16_t  mlid 
)

Definition at line 285 of file QueuePair.cxx.

◆ DetachMcast()

bool verbs::QueuePair::DetachMcast ( ibv_gid *  mgid,
uint16_t  mlid 
)

Definition at line 290 of file QueuePair.cxx.

Field Documentation

◆ fQPCounter

uint32_t verbs::QueuePair::fQPCounter = 0
staticprotected

Definition at line 77 of file QueuePair.h.

◆ fContext

ContextRef verbs::QueuePair::fContext
protected

Definition at line 79 of file QueuePair.h.

◆ fType

ibv_qp_type verbs::QueuePair::fType
protected

Definition at line 81 of file QueuePair.h.

◆ f_qp

struct ibv_qp* verbs::QueuePair::f_qp
protected

Definition at line 83 of file QueuePair.h.

◆ f_local_psn

uint32_t verbs::QueuePair::f_local_psn
protected

number used in connection

Definition at line 85 of file QueuePair.h.

◆ f_remote_lid

uint16_t verbs::QueuePair::f_remote_lid
protected

Definition at line 87 of file QueuePair.h.

◆ f_remote_qpn

uint32_t verbs::QueuePair::f_remote_qpn
protected

Definition at line 88 of file QueuePair.h.

◆ f_remote_psn

uint32_t verbs::QueuePair::f_remote_psn
protected

Definition at line 89 of file QueuePair.h.

◆ fNumSendSegs

unsigned verbs::QueuePair::fNumSendSegs
protected

Definition at line 91 of file QueuePair.h.


The documentation for this class was generated from the following files: