是否有可能获得任何种类的独特的标识符的Infiniband交换机,特定的Linux机器连接到?

我试图确定哪个Infiniband网卡连接到哪个交换机,其方式与此问题非常相似。

但是,提出的解决scheme并不适用于Mellanox Infiniband交换机,而且我还找不到任何替代scheme。

是否有标准的方法来查询特定机器连接到的Infiniband开关的标识符?

Linux或MTNIC驱动程序的MLNX_EN应安装在您的Linux机器上。 比使用'ethtool'或'mstflint'命令如下:

ethtool -i eth2驱动程序:mlnx_en(MT_0DD0120009_CX3)<—这是PSID版本:2.1.6(2014年2月)固件版本:2.30.8000总线信息:0000:1a:00.0 mstflint:1.获取设备在PCI总线上的位置:
Ipci ……. 04:00.0 InfiniBand:Mellanox Technologies MT4099 [ConnectX-3 VPI FDR,IB(56Gb / s)和40GigE; PCIe3.0 x8 8GT / s; RoHS R6]。 2.获取产品的PSID,input:> mstflint -d 04:00.0●图像types:FS2 FW版本:2.30.8000设备ID:4099芯片版本:A1说明:节点端口1端口2系统映像GUID:0002c90307e25050 0002c90307e25051
MACs:0002c9e25750 0002c9e25751
VSD:N / A
PSID:MT_1090120019

以下Mellanox支持页面: http : //www.mellanox.com/page/firmware_HCA_FW_identification

也许你可以使用ibnetdiscover infiniband-diags包中的ibnetdiscover工具。 它打印出InfiniBandnetworking拓扑,包括交换机和哪个主机端口连接到哪个交换机端口。

你问的是infiniband ,所以任何以太网相关的工具(就像你链接到的其他问题所描述的一样,或者在这里的一个答案中描述的)是无关紧要的。

infiniband中交换机的ID是它的GUID。

运行ibhosts以获取您在子网中拥有的所有HCA的列表。 运行ibswitches以获取您在子网中拥有的所有交换机的列表。

现在,如果您想要获得完整的拓扑,请ibnetdiscoverbuild议运行ibnetdiscover。

如果你的问题更具体,比如在这个特定的Linux机器上连接到这个网卡的第一个端口(在infiniband中称为“HCA”)的交换机GUID是什么,你可以用smpquery工具直接查询这个交换机。

按如下所示运行它: smpquery -D NodeInfo 0,1

运行smpquery -h获取更多的使用信息。