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 -1; } printf("%d RDMA device(s) found:\n\n", num_devices); for (i = 0; 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 0; }