【infiniband】rdma-core中的ibmad_port结构体

ibmad_port在rdma-core\libibmad\mad_internal.h文件中定义的结构体是:
struct ibmad_port {
    int port_id;        /* file descriptor returned by umad_open() */
    int class_agents[MAX_CLASS];    /* class2agent mapper */
    int timeout, retries;
    uint64_t smp_mkey;
};

主要字段含义:
- port_id: umad打开的文件描述符
- class_agents: 不同类到agent的映射数组
- timeout: 超时时间
- retries: 重试次数
- smp_mkey: SMP管理key
ibmad_port结构体中的smp_mkey字段中提到的SMP是指“Subnet Management Packet”(子网管理包)。
在 InfiniBand架构中,SMP是子网管理层用来管理和配置网络的一种控制报文。
SMP可以用于多种网络管理功能:
- 读取/设置交换机、端口和节点的配置信息
- 网络拓扑发现与构建子网管理树
- 路径记录查询
- 节点和端口状态获取
- 通知网络拓扑和状态变更等
smp_mkey字段用于指定一个特殊的SMP Management Key,该key可用于在网络中发送配置类SMP请求报文。
综上,ibmad作为网络管理接口,需要处理SMP报文,所以其端口信息结构体ibmad_port中会有smp_mkey字段,用于标识一个可发SMP请求的key。

你可能感兴趣的:(linux,编程,网络,linux,infiniband)