This function will be used by RDMAConnCM
Issue: 995322
Change-Id: I52b684e8bbac14c1070801b2ba470c7c0dfe40b9
Signed-off-by: Amir Vadai <amir@vadai.me>
return NULL;
}
+
+Device* DeviceList::get_device(const struct ibv_context *ctxt)
+{
+ ibv_device *device = ctxt->device;
+
+ assert(devices);
+ for (int i = 0; i < num; ++i) {
+ if (devices[i]->ctxt->device == device) {
+ return devices[i];
+ }
+ }
+
+ return NULL;
+}
+
int DeviceList::poll_tx(int num_entries, Device **d, ibv_wc *wc)
{
int n = 0;
~DeviceList();
Device* get_device(const char* device_name);
+ Device* get_device(const struct ibv_context *ctxt);
void uninit();
return device_list->get_device(device_name);
}
+Device *Infiniband::get_device(const struct ibv_context *ctxt)
+{
+ return device_list->get_device(ctxt);
+}
+
Infiniband::QueuePair::~QueuePair()
{
if (qp) {
void handle_pre_fork();
Device* get_device(const char* device_name);
+ Device* get_device(const struct ibv_context *ctxt);
int poll_tx(int n, Device **d, ibv_wc *wc);
int poll_rx(int n, Device **d, ibv_wc *wc);