当前位置: 首页 > news >正文

【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

                        

相关文章:

  • 到时间没回家又不接电话?如何迅速确定孩子的位置?
  • spark读取数据性能提升
  • 【YashanDB知识库】客户端字符集与数据库字符集兼容问题
  • node的控制流,异步,以及异常处理
  • 【机器学习】---神经架构搜索(NAS)
  • react crash course 2024(7) react router dom
  • langchain 记忆力(memory),让语言大模型拥有记忆
  • SQL_over_partition_by_order_by
  • Java数据库连接jdbc
  • 广东高校建设AIGC实验室时需要注意哪几个关键点?
  • [JavaEE] 网络编程----UDP / TCP 回显服务器
  • neo4j:ubuntu环境下的安装与使用
  • Spring Boot 点餐系统:餐饮界的技术革新
  • 【mac开发入坑指南】能让你的终端好用一万倍的神仙组合iTerm2 + oh-my-zsh
  • 【Rust练习】16.方法和关联函数
  • C++类中的特殊成员函数
  • create-react-app做的留言板
  • interface和setter,getter
  • Invalidate和postInvalidate的区别
  • JS专题之继承
  • SSH 免密登录
  • Tornado学习笔记(1)
  • 关于 Cirru Editor 存储格式
  • 排序算法之--选择排序
  • 微服务入门【系列视频课程】
  • 原生 js 实现移动端 Touch 滑动反弹
  • AI算硅基生命吗,为什么?
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​2021半年盘点,不想你错过的重磅新书
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ‌移动管家手机智能控制汽车系统
  • # include “ “ 和 # include < >两者的区别
  • #Java第九次作业--输入输出流和文件操作
  • #vue3 实现前端下载excel文件模板功能
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (11)MATLAB PCA+SVM 人脸识别
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (生成器)yield与(迭代器)generator
  • (五)activiti-modeler 编辑器初步优化
  • (一)SvelteKit教程:hello world
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • .JPG图片,各种压缩率下的文件尺寸
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 中的路径问题
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .NET 分布式技术比较
  • .net打印*三角形
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .Net环境下的缓存技术介绍
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [1525]字符统计2 (哈希)SDUT
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——