英语法语西班牙语

Ad


OnWorks 网站图标

ibdmsh - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 ibdmsh

这是 ibdmsh 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


IBDMSH IB 数据模型 - 扩展的 TCL 外壳

商品描述


IBDMSH 是一个 TCL shell,扩展了 IB 数据模型的接口。 使用这个外壳
您将编写直接访问 IB 数据模型对象和函数的 TCL 代码。

以下小节提供了这些对象和 API 的详细定义。

国际商业发展管理委员会 常量


Node 类型

节点对象类型字段使用以下常量

[常量:int] $IB_UNKNOWN_NODE_TYPE = IB_UNKNOWN_NODE_TYPE

[常量:int] $IB_SW_NODE = IB_SW_NODE

[常量:int] $IB_CA_NODE = IB_CA_NODE

历史记录 冗长

以下常量用作全局变量的参数位
$FabricUtilsVerboseLevel

[常量:int] $FABU_LOG_NONE = 0x0

[常量:int] $FABU_LOG_ERROR = 0x1

[常量:int] $FABU_LOG_INFO = 0x2

[常量:int] $FABU_LOG_VERBOSE = 0x4

国际商业发展管理委员会 全球


日志级别:设置为 FABU_LOG* 值

[全局:int] $FabricUtilsVerboseLevel

国际商业发展管理委员会 对象


本节描述了 IBDM 公开的各种对象类型。

IBDM 公开了它的一些内部对象。 各种返回的对象标识符
函数调用根据以下规则格式化:

面料: 面料:

系统:系统: :

系统端口: 系统端口: : :

节点: 节点: :

端口: 端口: : /

IBDM 对象是标准的 Swig-Tcl 对象。 因此,它们有两种用途:
变量,对象。

变量/指针:
对于每个对象属性,都提供了“get”和“set”方法。
方法的格式为: _ _ .
“set”方法仅适用于读/写属性。

示例:
设置节点 [ibdm_get_nodes]
设置节点 [lindex $nodes 0]
IBNode_numPorts_get $节点

对象:
给定一个对象指针,可以将其转换为 Tcl“对象”
使用以下命令:
-这个

一旦宣布可以结合使用
使用标准的“configure”和“cget”命令。

示例(继上一个之后):
IBFabric VaTech -这个 $fabric
VaTech cget -NodeByName

删除一个对象符号(并启用它到另一个对象符号的映射)
指针)使用:
改名“”
例如:
重命名 VaTech ""

国际港务局

以下是 IB Port 类的不同字段和方法,它们描述了一个
IB 设备(芯片)物理端口。

[会员数据:返回IBPort *] -p_remotePort
连接在链路另一端的端口

[ 成员数据:返回 IBSysPort * ] -p_sysPort
连接到的系统端口(如果有)

[会员数据:返回IBNode *] -p_node
端口所属的节点。

[ 成员数据:返回 int ] -num
物理端口由编号标识。

[成员数据:返回无符号整数] -base_lid
分配给端口的底盖。

[ 会员数据:返回 IBLinkWidth * ] -width
端口的链路宽度

[会员数据:返回IBLinkSpeed * ] -speed
端口的链路速度

[成员数据:返回无符号整数] -counter1
各种算法使用的通用值

[ 构造函数:返回 IBPort * ] IBPort 名称 p_nodePtr 编号
IBPort 构造函数

[成员:返回 new_uint64_t] guid_get
获取端口的guid

[成员:返回无效] guid_set guid
修改端口的guid

[ 成员:返回 new_string ] getName
获取端口名称:一个设备端口连接到系统端口(前面板)返回
前面板端口名称。

[会员:返回无效]连接p_otherPort?宽度? ?速度?
将端口连接到另一个具有可选宽度和速度参数的节点端口

[成员:返回整数]断开连接
断开端口。 成功返回0

节点

IB Node类代表单个IB设备(芯片)

[ 成员数据:返回字符串 * ] -name
节点名称(芯片的实例名称)

[ 成员数据:返回 IBNodeType ] -type
$IB_SW_NODE 或 $IB_CA_NODE

[成员数据:返回 uint16_t * ] -devId
节点的设备ID

[成员数据:返回 uint16_t * ] -revId
设备修订 ID。

[会员数据:返回 uint16_t * ] -vendId
设备供应商 ID。

[ 成员数据:返回字符串 * ] - 属性
任意属性的逗号分隔字符串 k=v

[会员数据:返回 uint8_t ] -rank
节点的等级(0是根)

[会员数据:返回IBSystem *] -p_system
我们属于什么系统

[ 成员数据:返回 IBFabric * ] -p_fabric
我们属于什么面料。

[成员数据:返回无符号整数] -numPorts
物理端口数

[ 成员数据:返回 vec_pport * ] -Ports
所有端口的向量

[ 成员数据:返回 vec_vec_byte * ] -MinHopsTable
从每个端口到每个目标 LID 所需的跳数表

[成员数据:返回 vec_byte * ] -LFT
此节点的 LFT(仅适用于交换机)是目标端口的长向量 -
索引是 LID

[成员:返回 new_uint64_t] guid_get
获取节点 GUID

[成员:返回无效] guid_set guid
设置节点 GUID

[ 构造函数:返回 IBNode * ] IBNode 名称 n p_fab p_sys t np
承包商

[成员:返回IBPort *] makePort num
按编号创建新端口(如果需要)返回端口指针

[成员:返回IBPort *] getPort num
通过数字 num = 1..N 获取端口:

[成员:返回无效] setHops p_port 盖子跳数
设置给定端口的最小跳数(* 是全部)盖子对

[ 成员:返回 int ] getHops p_port 盖子
获取为给定端口或所有端口定义的最小跳数

[ 成员:返回 IBPort * ] getFirstMinHopPort 盖子
扫描节点端口并找到第一个到盖子最小跳的端口

[成员:返回无效] setLFTPortForLid 盖子端口号
为给定的 LID 设置线性转发表

[ 成员:返回 int ] getLFTPortForLid 盖子
获取给定 LID 的 LFT

[成员:返回无效] repHopTable
转储节点的最小跳表

系统端口

IBSysPort 类代表系统前面板或后面板上的 IB 插头

[ 成员数据:返回字符串 * ] -name
端口的前面板名称(silk)

[ 成员数据:返回 IBSysPort * ] -p_remoteSysPort
如果连接另一端系统端口

[会员数据:返回IBSystem *] -p_system
它所属的系统

[会员数据:返回IBPort *] -p_nodePort
它连接到的节点端口。

[ 构造函数:返回 IBSysPort * ] IBSysPort 名称 n p_sys
构造函数

[会员:返回无效]连接p_otherSysPort?宽度? ?速度?
连接两个 SysPort

[成员:返回整数]断开连接
断开 SysPort(和端口)。 成功返回0

IB系统

IBSystem 类代表整个机箱

[ 成员数据:返回字符串 * ] -name
系统的“主机”名称

[ 成员数据:返回字符串 * ] -type
什么是Cougar、Buffalo、MTS2400等类型的对应的IBNL文件
应该存在 - 定义此系统类型

[ 成员数据:返回 IBFabric * ] -p_fabric
系统所属的结构

[ 成员数据:返回 map_str_pnode * ] -NodeByName
按名称提供节点指针

[ 成员数据:返回 map_str_psysport * ] -PortByName
按名称提供指向 SysPort 的指针的映射

[ 构造函数:返回 IBSystem * ] IBSystem 名称 n p_fab t
承包商

[成员:返回 new_uint64_t] guid_get
获取系统镜像GUID

[成员:返回无效] guid_set guid
设置系统镜像 GUID

[成员:返回IBSysPort *] makeSysPort pName
确保我们定义了端口(如果没有就定义它)

[成员:返回IBPort *] getSysPortNodePortByName sysPortName
按名称获取给定 sys 端口的节点端口

[ 成员:返回 IBSysPort * ] getSysPort 名称
按名称获取系统端口

IB面料

表示由系统组成的整个 IB 子网

[ 成员数据:返回 map_str_pnode * ] -NodeByName
提供节点名称和指针对的列表

[ 成员数据:返回 map_str_psys * ] -SystemByName
提供系统名称和指针对的列表

[ 成员数据:返回 vec_pport * ] -PortByLid
提供系统端口名称和指针对的列表

[ 成员数据:返回 map_guid_pnode * ] -NodeByGuid
提供节点 guid 和节点指针对的列表

[ 会员数据:返回 map_guid_psys * ] -SystemByGuid
提供系统镜像 guid 和系统指针对的列表

[ 成员数据:返回 map_guid_pport * ] -PortByGuid
提供端口 guid 和端口指针对的列表

[成员数据:返回无符号整数] -minLid
跟踪使用的最小盖子。

[成员数据:返回无符号整数] -maxLid
跟踪使用的最大盖子。

[成员数据:返回无符号整数] -lmc
使用的 LMC 值

[成员:返回 IBNode *] makeNode n p_sys 类型 numPorts
按名称获取节点(创建一个不存在的节点)

[ 成员:返回 IBNode * ] getNode 名称
按名称获取节点

[ 成员:返回 list_pnode * ] getNodesByType 类型
返回匹配所需类型的节点指针列表

[ 成员:返回 IBSystem * ] makeGenericSystem 名称
创建一个新的通用系统 - 基本上是一个用于节点的空容器......

[成员:返回IBSystem *] makeSystem名称类型
创建一个新系统 - 类型必须有一个注册工厂。

[成员:返回IBSystem *] getSystem名称
按名称获取系统

[成员:返回IBSystem *] getSystemByGuid guid
通过其 guid 获取系统

[成员:返回IBNode *] getNodeByGuid guid
通过其 guid 获取节点

[成员:返回IBPort *] getPortByGuid guid
通过其 guid 获取端口

[会员:返回无效] addCable t1 n1 p1 t2 n2 p2 ?width? ?速度?
添加给定两组节点类型、节点名称和端口号的电缆。 可选
使用给定的宽度和速度进行连接

[成员:返回整数] parseCables fn
解析电缆文件并构建结构

[成员:返回整数] parseTopology fn
解析拓扑文件并构建结构

[成员:返回int] addLink type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1
devId1 rev1 desc1 Lid1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2
rev2 desc2 盖子2 portNum2?宽度? ?速度?
将链接添加到结构中 - 这将根据需要创建系统和节点。

[成员:返回整数] parseSubnetLinks fn
解析 OpenSM subnet.lst 文件并从中构建结构。

[成员:返回整数] parseFdbFile fn
解析 OpenSM FDB 转储文件并填写开关 LFT 表

[成员:返回整数] parseMCFdbFile fn
解析 OpenSM MCFDBs 文件并相应地设置 MFT 表

[成员:返回整数] parsePSLFile fn
解析 SL 映射文件的路径。 每行带有:src_node_guid DLID SL

由信用循环检查使用

[成员:返回整数] parseSLVLFile fn
解析 SLVL 表文件。 每行保存: sw_node_guid in_port out_port 0x(sl0)(sl1)
0x(sl2)(sl3)...

[成员:返回无效] setLidPort 盖子 p_port
设置盖子端口

[ 成员:返回 IBPort * ] getPortByLid 盖子
通过盖子获取端口

[ 返回 IBFabric * ] new_IBFabric
构建一个新的织物

[返回无效] delete_IBFabric p_fabric
破坏织物

国际商业发展管理委员会 主要工作内容


本节提供有关 IBDM 公开的功能的详细信息。 顺序如下
常规 IBDM 流程中的预期顺序。 他们都返回 0 成功。

子网路 实用工具

该文件包含一组要在子网上运行以模拟 OpenSM 初始化的实用程序
并分析结果:

[返回整数] ibdmAssignLids p_smNodePort ?lmc?
使用可选的 LMC 分配 LID(每个端口有多个 LID)

[返回整数] ibdmCalcMinHopTables p_fabric
计算并填充运行 OpenSM 风格路由所需的 MinHopTables。

[返回整数] ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex
按照 Up/Down 规则计算并填充 MinHopTables。

[返回整数] ibdmOsmRoute p_fabric
使用 OpenSM 样式路由路由结构

[返回整数] ibdmEnhancedRoute p_fabric
使用增强的 OpenSM 风格路由路由结构,更好地支持 LMC > 0

[返回 int] ibdmFatTreeRoute p_fabric rootNodes
使用仅适合全胖树的算法路由结构

[返回整数] ibdmFatTreeAnalysis p_fabric
分析面料,看它是否是一棵肥树,如果是,则将其布线

[返回整数] ibdmVerifyCAtoCARoutes p_fabric
确保所有 (H)CA 根据 LFT 设置相互连接

[返回整数] ibdmVerifyAllPaths p_fabric
确保所有交换机和 (H)CA 基于 LFT 相互连接
设置

[返回整数] ibdmAnalyzeLoops p_fabric
严格检查信用循环。 该算法进行了全面而准确的检查
但它对信用循环路径的报告很难解释。 如果你知道根源
树的(或树是对称的)最好使用
ibdmReportNonUpDownCa2CaPaths

[返回 list_pnode ] ibdmFindSymmetricalTreeRoots p_fabric
分析树的拓扑结构并根据树的对称性找到树的根

[返回 list_pnode ] ibdmFindRootNodesByMinHop p_fabric
基于 MinHopTable 找到树的根。 允许 5% 的不对称

[返回整数] ibdmRankFabricByRoots p_fabric rootNodes
给定根节点(名称)列表,对节点进行排名(root = 0)

[返回 int] ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes
分析路由以确保维护 Up/Down 规则

[返回 int] ibdmCheckMulticastGroups p_fabric
验证组播路由的连通性

[返回 int] ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes
分析组播路由以确保它遵守 Up/Down 规则

[返回整数] ibdmLinkCoverageAnalysis p_fabric rootNodes
为从一组源到目的地的传输准备一个时间表,以便
在每个阶段都没有过度订阅的链接,毕竟所有阶段
面料的链接被 excersized

追踪 实用工具

这些功能允许跟踪报告访问节点的路径

[返回整数] ibdmTraceDRPathRoute p_smNodePort drPathPortNums
从给定端口跟踪定向路由路径

[返回 int] ibdmTraceRouteByMinHops p_fabric 滑动 dlid
沿着 MinHop 从源 LID 到目标 LID 跟踪路径

[返回 int] ibdmTraceRouteByLFT p_fabric slid dlid hops p_nodesList
跟踪 LFT 更新跳数和节点列表变量后的路径

拓扑 匹配 实用工具

以下实用程序匹配两个结构,提供不匹配消息和
统一面料

[返回整数] ibdmMatchFabrics p_spec_fabric p_discovered_fabric anchorNodeName
锚端口号 锚端口Guid
将基于拓扑的结构与从 enchor 端口开始的发现结构相匹配

[返回整数] ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric
使用 ibdmMatchFabrics 匹配后,用信息填充“合并结构”
为匹配的节点合并

拥塞 分析 实用工具

提供跟踪和报告链接超额订阅的能力

[返回整数] ibdmCongInit p_fabric
初始化跟踪系统

[返回整数] ibdmCongCleanup p_fabric
清理计数器并释放

[返回整数] ibdmCongClear p_fabric
清理计数器

[返回 int] ibdmCongTrace p_fabric srcLid dstLid
跟踪更新链接使用信息的 LID 之间的路径

[返回整数] ibdmCongReport p_fabric
报告产生的拥塞信息

[返回整数] ibdmCongDump p_fabric
转储所有拥塞跟踪信息

使用 onworks.net 服务在线使用 ibdmsh


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad