ibv_get_device_guid()函数

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;
}

 

posted @ 2017-12-13 19:30  huststephen  阅读(437)  评论(0编辑  收藏  举报