【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

相关推荐
恒辉信达5 分钟前
hhdb客户端介绍(53)
数据库·mysql·hhdb·数据库可视化界面客户端
sone121385 分钟前
计算机网络(第8版)第四章 网络层(4.7.1~4.7.3)
服务器·网络·计算机网络
DO_Community18 分钟前
DigitalOcean Droplet 云服务器:新增自动扩展池功能
服务器
安科瑞刘鸿鹏22 分钟前
老旧小区用电安全保护装置#限流式防火保护器参数介绍#
运维·服务器·物联网·能源
Rain_Rong41 分钟前
linux检测硬盘
linux·运维·服务器
我曾经是个程序员1 小时前
鸿蒙学习记录之http网络请求
服务器·学习·http
0zxm1 小时前
06 - Django 视图view
网络·后端·python·django
真真-真真2 小时前
WebXR
linux·运维·服务器
指尖上跳动的旋律2 小时前
shell脚本定义特殊字符导致执行mysql文件错误的问题
数据库·mysql
轩辰~2 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议