【RDMA】mlxconfig修改和查询网卡(固件)配置--驱动工具
目录
简介
工具要求
语法
例子和参数
例子
更多参数
其他工具和查询
简介
mlxconfig 工具允许用户在不重新烧录固件的情况下更改某些设备配置。
配置在重启后仍然保留。
默认情况下,mlxconfig 显示将在下次启动时加载的配置。对于第五代设备,还可以查询默认配置以及当前运行的固件所使用的配置。
属于mft工具套件的一个工具,固件工具 Firmware Tools (MFT):https://blog.csdn.net/bandaoyu/article/details/142427579
语法
# mlxconfig [Options] <commands> [Parameters]
例子和参数
官网示例:Using mlxconfig - https://docs.nvidia.com/networking/display/mftv4250/using+mlxconfig
例子
查询网卡固件具体名称,固件介绍与各种软件上的详细信息
mlxconfig -d {device bus id} query
示例:mlxconfig -d 0000
:86
:00.0
q
修改网卡的工作模式(IB/ETH 参数)
mlxconfig -d {device bus id} set LINK_TYPE_P1=2 #Ethernet模式
mlxconfig -d {device bus id} set LINK_TYPE_P1=1 #IB模式
实例:mlxconfig -d /dev/mst/mt4119_pciconf0 set LINK_TYPE_P1=1 LINK_TYPE_P2=1
设置 SR-IOV 参数
mlxconfig -d {device bus id} set [SRIOV_EN=<0|1>] [NUM_OF_VFS=<NUM>]
实例:mlxconfig -d /dev/mst/mt4115_pciconf0 set SRIOV_EN=1
NUM_OF_VFS=8
设置预启动设置
有关预启动可配置参数的完整描述,请参考“预启动设置”下的支持的配置及其参数。
示例:在端口2上将VLAN ID配置为3
mlxconfig -d /dev/mst/mt4119_pciconf0 set BOOT_VLAN=3
在远程管理交换机中拆分端口
分路电缆是NVIDIA的一项独特功能,它将一个物理的四通道HDR或NDR端口分成两个双通道端口。这极大地增加了用户的灵活性,可以根据网络的具体需求,将NVIDIA交换机与双通道和四通道接口组合使用。所有系统端口都可以分成两个通道端口。分割一个端口会改变该端口的标记。
详情见官网说明:https://docs.nvidia.com/networking/display/mftv4250/using+mlxconfig
mlxconfig Raw配置文件
mlxconfig allows applying raw configuration file for a pre-set configuration. Raw configuration files are intended for advanced users. This document does not cover the generation of such files.
Set the raw configuration file:
mlxconfig -f ./tlv_file.conf -d /dev/mst/mt4115_pciconf1 set_raw
接口与模块相关
显示当前链路状态,网卡支持速率(IB或ETH),线缆支持速率,以及当前连接opcode与故障提示
mlxlink -d {device bus id}
显示当前PCIE链路信息
mlxlink -d <device_id> --port_type pCIE -e
显示当前模块详细信息
mlxlink -d {device bus id} -m
参考:https://blog.csdn.net/aosudh/article/details/134302085
https://docs.nvidia.com/networking/display/mftv4250/using+mlxconfig
更多参数
-d|--dev <device> | Performs operation for a specified mst device. |
-b|--db <filename> | Use a specific database file. |
-f|--file <conf.file> | Raw configuration file. Raw配置文件 |
-h|--help | Displays help message. 显示帮助 |
-v|--version | Displays version info. 显示版本 |
-e|-enable_verbosity | Show default and current configurations. Note: For 5th generation (Group II) devices, the --enable_verbosity option works with ConnectX-4 firmware v12.14.0016 and above for querying the default configurations, and with ConnectX-4 firmware v12.17.1010 and above for querying the current configurations. 显示默认和当前配置。 注意:对于第五代(组 II)设备,–enable_verbosity 选项与 ConnectX-4 固件 v12.14.0016 及以上版本配合使用,以查询默认配置,与 ConnectX-4 固件 v12.17.1010 及以上版本配合使用,以查询当前配置。 |
-y|--yes | Answers yes in prompt. 在提示时自动回复yes |
-a|--all_attrs | Show all attributes in the XML template. 显示 XML 模板中的所有属性。 |
-p|--private_key | pem file for private key. 私钥的 pem 文件。 |
-u|--key_uuid | keypair uuid. 密钥对 UUID。 |
-eng|--openssl_engine | OpenSSL engine name. OpenSSL 引擎名称。 |
-k|--open_ssl_key_id | OpenSSL key identifier OpenSSL 密钥标识符。 |
--aws_hsm | Sign in 3S environment. 在 3S 环境中登录。 |
-l|--private_key_label | Private key label to use for 3S HSM sign. 用于 3S HSM 签名的私钥标签 |
-t|--device_type <switch/hca/linkx> | Specify the device type. 指定设备类型。 |
-s|--session_id | Specify the session id for token keep alive session. 指定令牌保持会话的会话 ID。 |
-st|--session_time | Specify session time for token keep alive session. 指定令牌保持会话的会话时间。 |
-tkn|--token_type | Specify token type. 指定令牌类型。 |
--sign_algorithm | Specify a signature algorithm from the following: RSA4k, RSA3k or ECDSA256. 指定签名算法:RSA4k、RSA3k 或 ECDSA256。 |
--nested_token | Include challenge response for ArcusE. 包含 ArcusE 的挑战响应。 |
clear_semaphore | Clear the tool’s semaphore 清除工具的信号量 |
i[show_confs] | Display information about all configurations 显示所有配置的信息。 |
q[uery] | Queries the supported configurations. Note: Query command will query a single device if a device is specified. Otherwise, it will query all devices on the machine. 查询支持的配置。注意:如果指定了设备,查询命令将查询单个设备;否则,将查询机器上的所有设备。 |
r[eset] | Resets configurations to their default value 恢复默认配置 |
s[et] | Sets configurations to a specific device 设置特定设备的配置 |
set_raw | Sets raw configuration file (5th generation/Group II devices only) 设置raw配置文件(仅适用于第五代/组 II 设备)。 |
get_raw | Gets raw configuration file (5th generation/Group II devices only) 获取raw配置文件(仅适用于第五代/组 II 设备) |
backup | Backs up configurations to a file (only 5th generation (Group II) devices). Use set_raw command to restore file. 将配置备份到文件(仅适用于第五代(组 II)设备)。使用 set_raw 命令恢复文件。 |
gen_tlvs_file | Generate a List of all TLVs. TLVs output file name must be specified 生成所有 TLV 的列表。必须指定 TLVs 输出文件名。 |
g[en_xml_template] | Generate an XML template. TLVs input file name and XML output file name must be specified 生成 XML 模板。必须指定 TLVs 输入文件名和 XML 输出文件名。 |
xml2raw | Generate a Raw file from an XML file. XML input file name and raw output file name must be specified 从 XML 文件生成raw文件。必须指定 XML 输入文件名和raw输出文件名。 |
raw2xml | Generate an XML file from a Raw file. raw input file name and XML output file name must be specified 从 Raw 文件生成 XML 文件。必须指定原始输入文件名和 XML 输出文件名 |
xml2bin | Generate binary configuration dump file from XML file. XML input file name and bin output file name must be specified. 从 XML 文件生成二进制配置转储文件。必须指定 XML 输入文件名和 bin 输出文件名。 |
create_conf | Generate configuration file from XML file. XML input file name and bin output file name must be specified. 从XML文件生成配置文件。必须指定 XML 输入文件名和 bin 输出文件名。 |
apply | Apply a configuration file, that was created with create_conf command. bin input file name must be specified. 应用使用 create_conf 命令创建的配置文件。必须指定二进制输入文件名。 |
challenge_request | Send a token challenge request to the device. Token type must be specified. 向设备发送令牌质询请求。必须指定令牌类型 |
remote_token_keep_alive | Start a remote token session for a specified time. session id must be specified. 启动指定时间的远程令牌会话。必须指定会话 ID。 |
token_supported | Query which tokens are supported. 查询支持哪些令牌。 |
query_token_session | Query the status of a token session. 查询令牌会话的状态。 |
end_token_session | End an active token session. 结束一个活动的令牌会话。 |
© Copyright 2023, NVIDIA. Last updated on Jan 17, 2024.
工具获取
安装mellanox的ofed驱动包中的mft包
【RDMA】固件工具 Firmware Tools (MFT)和用法-CSDN博客
https://network.nvidia.com/products/adapter-software/firmware-tools/
工具要求
需要安装并启用 OFED/WinOF 驱动程序(针对 ConnectX-3 和 ConnectX-3 Pro)。
通过 PCI 接口访问设备(pciconf/pci_cr)。
对于以下适配器卡,要求使用以下固件版本:
- ConnectX®-3/ConnectX-3 Pro:v2.31.5000 或更高版本
- Connect-IB®:v10.10.6000 或更高版本
支持的设备:
适配器卡:ConnectX-3/ConnectX-3 Pro/Connect-IB/ConnectX-4/ConnectX-4 Lx/ConnectX-5/ConnectX-5 Ex/ConnectX-6/ConnectX-6 Dx/ConnectX-6 Lx/ConnectX-7/NVIDIA BlueField®/NVIDIA BlueField-2/NVIDIA BlueField-3
交换机:Switch-IB/Switch-IB 2/Spectrum™/Spectrum-2/Spectrum-3/Spectrum-4/Quantum/Quantum-2
已启用设备配置更改。
其他工具和查询
原文链接:https://blog.csdn.net/aosudh/article/details/134302085
网卡基本状态相关
查看mst工具版本,与查看网卡device bus id与端口号
mst status -v
需要修改的mac地址 sg 修改网卡的mac地址,详情看另一篇专栏
flint -d {device bus id} -mac
修改网卡的工作模式
mlxconfig -d {device bus id} set LINK_TYPE_P1=2 Ethernet模式
mlxconfig -d {device bus id} set LINK_TYPE_P1=1 IB模式
网卡固件相关
查询网卡固件具体名称,固件介绍与各种软件上的详细信息
mlxconfig -d {device bus id} query
查询所有网卡的详细固件介绍与固件版本
mlxfwmanager
固件压测工具,详情见 mlxfwstress -h
mlxfwstress
备份网卡固件
flint -d {设备名称} ri {备份出来的固件的文件名称}
刷写网卡固件
flint -d {设备名称} -i {固件文件} --allow_psid_change b
接口与模块相关
显示当前链路状态,网卡支持速率(IB或ETH),线缆支持速率,以及当前连接opcode与故障提示
mlxlink -d {device bus id}
显示当前PCIE链路信息
mlxlink -d <device_id> --port_type pCIE -e
显示当前模块详细信息
mlxlink -d {device bus id} -m
mlxlink 详细用法,可以更改接口速率,状态,与读取或写入线缆eeprom
get info of <device>, <port_number> :
mlxlink -d <device> -p <port_number>
get info of <device>, <port_number> and BER Counters:
mlxlink -d <device> -p <port_number> -c
get info of <device>, <port_number> and Transmitter Parameters:
mlxlink -d <device> -p <port_number> --show_serdes_tx
Configure Port State :
mlxlink -d <device> -p <port_number> --port_state UP
Configure Port Speeds :
mlxlink -d <device> -p <port_number> --speeds 25G,50G,100G
Configure FEC :
mlxlink -d <device> -p <port_number> --fec RS
Configure Port for Physical Test Mode :
mlxlink -d <device> -p <port_number> --test_mode EN (--rx_prbs PRBS31 --rx_rate 25G --tx_prbs PRBS7 --tx_rate 10G)
Perform PRBS Tuning :
mlxlink -d <device> -p <port_number> --test_mode TU
Cable operations :
mlxlink -d <device> --cable options
Dump cable EEPROM pages :
mlxlink -d <device> --cable --dump
Get cable DDM info :
mlxlink -d <device> --cable --ddm
Read from cable :
mlxlink -d <device> --cable --read --page <page number> --offset <bytes offset> --length <number of bytes>
Write to cable :
mlxlink -d <device> --cable --write <bytes separated by comma> --page <page number> --offset <bytes offset>
Configure Transmitter Parameters (on lane, to database):
mlxlink -d <device> -p <port_number> --serdes_tx <polarity>,<ob_tap0>,<ob_tap1>,<ob_tap2>,<ob_bias>,<ob_preemp_mode> (--serdes_tx_lane <lane number>) (--database)
Configure Transmitter Parameters for 16nm devices:
mlxlink -d <device> -p <port_number> --serdes_tx <pre_2_tap>,<pre_tap>,<main_tap>,<post_tap>,<ob_m2lp>,<ob_amp>
线缆iic读取工具,显示线缆简单eeprom信息
mlxcables
添加并对所有线缆进行命名与显示
mst cable add
mst status -v
显示DAC或者光模块的制造商信息,光功率,模块功耗
mlxcables -d {线缆所处的设备对模块orDAC的命名}
对光模块进行全部测试
mlxcables -d {线缆所处的设备对模块orDAC的命名} -DDM
读取线缆或模块的全部eeprom参数
mlxcables -d {线缆所处的设备对模块orDAC的命名} --read_all_regs