uint64_t ibv_get_device_guid(struct ibv_device *device);
描述
函数返回RDMA 设备的 GUID(The Global Unique IDentifier)
GUID:设备的供应商在制造过程中分配给设备,是唯一的,被用作RDMA设备的标识。
注意:从RDMA设备的GUID的前缀,可以知道设备的供应商。
参数(struct ibv_device *device)
参数为函数ibv_get_device_list()返回的可用RDMA设备数组中的一项。
返回结果
返回成功:设备GUID的网络字节序
返回失败:0
例子
显示当前电脑所有已存在RDMA设备的GUID号
#include <stdio.h>
#include <infiniband/verbs.h>
#include "utils.h" int main(void)
{
struct ibv_device **device_list;
int num_devices;
int i; device_list = ibv_get_device_list(&num_devices);
if (!device_list) {
fprintf(stderr, "Error, ibv_get_device_list() failed\n");
return -;
} printf("%d RDMA device(s) found:\n\n", num_devices); for (i = ; i < num_devices; ++ i) {
printf("RDMA device[%d]: name=%s, GUID=0x%016Lx\n", i,
ibv_get_device_name(device_list[i]),
ntohll(ibv_get_device_guid(device_list[i])));
} ibv_free_device_list(device_list); return ;
}