17 #include <infiniband/verbs.h>
23 #ifndef DABC_MemoryPool
63 bool OpenVerbs(
bool withmulticast =
false,
const char* devicename = 0,
int ibport = -1);
82 bool OpenVerbs(
bool withmulticast =
false,
const char* devicename = 0,
int ibport = -1);
96 struct ibv_ah*
CreateAH(uint32_t dest_lid);
99 struct ibv_ah*
CreateMAH(ibv_gid& mgid, uint32_t mlid);
126 throw dabc::Exception(
"Memory pool structure should not be changed at all");
#define DABC_REFERENCE(RefClass, ParentClass, T)
bool CheckChangeCounter(unsigned &cnt)
Check if memory pool structure was changed since last call, do not involves memory pool mutex.
Base class for most of the DABC classes.
Reference on the arbitrary object
Object * GetObject() const
Return pointer on the object.
Reference to verbs::Context
struct ibv_ah * CreateAH(uint32_t dest_lid)
dabc::Reference RegisterPool(dabc::MemoryPool *pool)
bool OpenVerbs(bool withmulticast=false, const char *devicename=0, int ibport=-1)
struct ibv_pd * pd() const
struct ibv_ah * CreateMAH(ibv_gid &mgid, uint32_t mlid)
int ManageMulticast(int action, ibv_gid &mgid, uint16_t &mlid)
struct ibv_context * context() const
int GetGidIndex(ibv_gid *lookgid)
Context for all VERBS operations.
struct ibv_context * fContext
struct ibv_device_attr fDeviceAttr
static bool fThreadSafeVerbs
bool OpenVerbs(bool withmulticast=false, const char *devicename=0, int ibport=-1)
struct ibv_port_attr fPortAttr
Interface class to opensm.
Reference on verbs::PoolRegistry
Registry object for memory pool.
PoolRegistry(ContextRef ctx, dabc::MemoryPool *pool)
unsigned fLastChangeCounter
virtual void ObjectDestroyed(dabc::Object *obj)
Method called by the manager when registered dependent object is destroyed Should be used in user cla...
virtual void ObjectCleanup()
User method to cleanup object content before it will be destroyed Main motivation is to release any r...
dabc::MemoryPool * GetPool() const
uint32_t GetLkey(unsigned id)
Support of InfiniBand verbs.