ibv_query_gid_table 与 GID 的形成

发布时间:2026/10/8 19:35:21
ibv_query_gid_table 与 GID 的形成 ibv_query_gid_table是 RDMA 用户态库libibverbs中的一个函数用于一次性获取指定 RDMA 设备上下文中所有有效的GIDGlobal Identifier全局标识符表项。 函数原型#includeinfiniband/verbs.hssize_tibv_query_gid_table(structibv_context*context,structibv_gid_entry*entries,size_tmax_entries,uint32_tflags); 参数说明参数说明context要查询的 RDMA 设备上下文 (ibv_context)。entries指向ibv_gid_entry结构体数组的指针用于存放查询结果。max_entries数组的最大容量即最多能返回的条目数。flags额外标志位目前必须为0。 返回值成功返回实际读取到的有效 GID 条目数≤max_entries。失败返回一个负的 errno值。这个函数通过一次系统调用即可获取整个 GID 表相比逐个查询效率更高。 深挖 GID从构成到生成GID 是 RDMA 网络中的全局地址其本质是一个128 位的 IPv6 单播地址。它独立于 16 位的本地标识符LID因此子网重组不会影响 GID。 GID 的 128 位构成一个 GID 由两部分拼接而成高 64 位子网前缀 (Subnet Prefix)由架构管理员分配用于标识一个 IB 子网。在 RoCE 环境中这个前缀通常来自关联以太网设备的 IPv6 链路本地地址fe80::/64。低 64 位端口 GUID由设备制造商分配的、全球唯一的 EUI-64 标识符用于唯一标识一个 HCA 端口。注意在 IPoIB 环境中约定 GID 表索引 0 处的 GID 必须使用端口的 EUI-64 标识符来构造。⚙️ GID 的生成方式IB 与 RoCE 的差异GID 的生成机制因底层网络类型而异InfiniBand (IB) 网络子网管理器Subnet Manager, SM负责为每个端口分配 GID。通常子网管理员会配置一个全局唯一的 64 位子网前缀与端口的 GUID 组合成 GID。RoCE (RDMA over Converged Ethernet) 网络RoCE 的 GID 生成与主机操作系统的 IP 地址配置紧密相关。当在 RDMA 网卡对应的以太网设备上配置 IP 地址时内核会自动创建 GID 表项。IPv4 映射IPv4 地址会被映射为::ffff:a.b.c.d形式的 IPv6 地址。IPv6 地址直接使用配置的 IPv6 地址。默认 GID内核还会为每个 RoCE 端口生成一个基于 IPv6 链路本地地址的默认 GID即使网卡接口处于 down 状态该 GID 也存在用于支持环回。 GID 表索引与类型每个 RDMA 端口都有一张 GID 表表中的每个条目都有一个唯一的索引sgid_index范围 0-255。RoCE 中的重复条目由于 RoCE 有 v1 和 v2 两个版本驱动通常会为同一个 GID 值在表中创建两个条目它们值相同但类型GID type不同分别对应 RoCEv1 和 RoCEv2。查找方式应用程序如 NCCL在建立连接时需要指定使用哪个 GID 索引。在 RoCE 环境中必须明确指定正确的 GID 索引例如通过NCCL_IB_GID_INDEX环境变量否则可能选中无法跨节点路由的链路本地地址导致通信失败。️ 用户空间查看 GID 表在 Linux 系统中可以通过sysfs文件系统查看 GID 表的详细信息GID 值/sys/class/infiniband/device/ports/port/gids/indexGID 类型/sys/class/infiniband/device/ports/port/gid_attrs/types/index关联的网络设备/sys/class/infiniband/device/ports/port/gid_attrs/ndevs/index 总结ibv_query_gid_table是获取 RDMA 设备全局地址信息的核心接口。GID 作为 128 位的 IPv6 地址其生成在 IB 和 RoCE 网络中遵循不同路径但核心思想都是“64 位子网前缀 64 位端口 GUID”。理解 GID 的构成、生成机制及其在 RoCE 环境中与 IP 地址的关联是进行 RDMA 编程和网络故障排查的基础。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询