There are no reviews yet. Be the first to send feedback to the community and the maintainers!
Mellanox Technologies - www.mellanox.com **************************************** MSTFLINT Package - Firmware Burning and Diagnostics Tools 1) Overview This package contains a burning tool and diagnostic tools for Mellanox manufactured HCA/NIC cards. It also provides access to the relevant source code. Please see the file LICENSE for licensing details. This package is based on a subset of the Mellanox Firmware Tools (MFT) package. For a full documentation of the MFT package, please refer to the downloads page in Mellanox web site. ---------------------------------------------------------------------------- NOTES: As of mstflint-4.8.0 ./configure --enable-cs will be deprecated, instead need to use ./configure --enable-openssl which will enable all open SSL features including CS. As of mstflint-4.6.0 hca_self_test.ofed will not be a part of msflint package, it will be found in ofed-scripts provided by mellanox OFED package. This burning tool should be used only with Mellanox-manufactured HCA/NIC cards. Using it with cards manufactured by other vendors may be harmful to the cards (due to different configurations). Using the diagnostic tools is normally safe for all HCAs/NICs. ---------------------------------------------------------------------------- 2) Package Contents a) mstflint source code b) mflash lib This lib provides low level Flash access through Mellanox HCAs. c) mtcr lib (implemented in mtcr.h file) This lib enables access to HCA hardware registers. d) mstregdump utility This utility dumps hardware registers from Mellanox hardware for later analysis by Mellanox. e) mstvpd This utility dumps the on-card VPD. f) mstmcra This debug utility reads/writes a to/from the device configuration register space. g) mstconfig This tool sets or queries non-volatile configurable options for Mellanox HCAs. h) mstfwmanager Mellanox firmware update and query utility which scans the system for available Mellanox devices (only mst PCI devices) and performs the necessary firmware updates. i) mstreg The mlxreg utility allows users to obtain information regarding supported access registers, such as their fields and attributes. j) mstfwtrace The mstfwtrace utility extracts and prints trace messages generated by the firmware running on 5th generation devices iRISCs. This tool supports secure FW flow only. k) mstlink The mstlink tool is used to check and debug link status and issues related to them. 3) Installation a) Build the mstflint utility. This package is built using a standard autotools method. NOTE: if you are trying to build from the GitHub repository, need to run ./autogen.sh first. Example: > ./configure > make > make install - Run "configure --help" for custom configuration options. - Typically, root privileges are required to run "make install" b) Installation on DEB based OS. This package is using Debian package development tools. Example: > dpkg-buildpackage -uc -us > dpkg -i ../mstflint_<version>_<arch>.deb > dpkg -i ../mstflint-dkms_<version>_all.deb 4) Hardware Access Device Names The tools in this package require a device name in the command line. The device name is the identifier of the target CA. This section describes the device name formats and the HW access flow. a) The devices can be accessed by their PCI ID as displayed by lspci (bus:dev.fn). Example: # List all Mellanox devices > /sbin/lspci -d 15b3: 02:00.0 Ethernet controller: Mellanox Technologies MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s] (rev a0) # Use mstflint tool to query the firmware on this device > mstflint -d 02:00.0 q b) When the IB driver (mlx4 or mthca) is loaded, the devices can be accessed by their IB device name. Example: # List the IB devices > ibv_devinfo | grep hca_id hca_id: mlx4_0 # Use mstvpd tool to dump the VPD of this device > mstvpd mlx4_0 c) PCI configuration access In examples a and b above, the device is accessed via PCI Memory Mapping. The device can also be accessed by PCI configuration cycles. PCI configuration access is slower and less safe than memory access -- use it only if methods a and b above do not work. To force configuration access, use device names in the following format: /proc/bus/pci/<bus>/<dev.fn> Example: # List all Mellanox devices > /sbin/lspci -d 15b3: 02:00.0 Ethernet controller: Mellanox Technologies MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s] (rev a0) # Use mstregdump to dump HW registers, using PCI config cycles > mstregdump /proc/bus/pci/02/00.0 > crdump.log Note: Typically, you will need root privileges for hardware access d) Accessing a multi-function device: In some configuration, the CA device identifies as a multi-function device on PCI. E.G.: > /sbin/lspci -d 15b3: 07:00.0 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.1 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.2 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.3 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.4 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.5 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.6 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 07:00.7 Ethernet controller: Mellanox Technologies MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) These multiple "logical" devices are actually a single physical device, so firmware update or "physical" diagnostics should be run only on one of the functions. When the device driver is loaded, only the primary physical function of the device can be accessed. In Linux that would typically be function 0. This function can be accessed using memory mapping, as described in sub section a) above. E.G.: > mstflint -d 07:00.0 q When the device driver is not loaded, all the functions can be accessed using configuration cycles, as described in sub section c) above. It is recommended to use function 0 for FW update or diagnostics, E.G.: > mstflint -d /proc/bus/pci/07/00.0 q 5) Usage (mstflint): Read mstflint usage. Enter "./mstflint -h" for a short help message, or "./mstflint -hh" for a detailed help message. Obtaining firmware files: If you purchased your card from Mellanox Technologies, please use the Mellanox website (www.mellanox.com, under 'Firmware' downloads) to download the firmware for your card. If you purchased your card from a vendor other than Mellanox, get a specific firmware configuration (INI) file from your HCA card vendor and generate the binary image. Use mstflint to burn a device according to the burning instructions in "mstflint -hh" and in Mellanox web site firmware page. 6) Usage (mstregdump): An internal register dump is displayed to the standard output. Please store it in a file for analysis by Mellanox. Example: > mstregdump mthca0 > dumpfile 7) Usage (mstvpd): A VPD dump is displayed to the standard output. A list of keywords to dump can be supplied after the -- flag to apply an output filter. Examples: > mstvpd mlx4_0 ID: Hawk Dual Port PN: MNPH29C-XTR EC: X2 SN: MT1001X00749 V0: PCIe Gen2 x8 V1: N/A YA: N/A RW: > mstvpd mlx4_0 -- PN ID PN: MNPH29C-XTR ID: Hawk Dual Port 8) Usage (mstconfig): Read mstconfig usage. Enter "mstconfig -h" for a help message. 9) Usage (mstreg): Read mstconfig usage. Enter "mstreg -h" for a help message. 10) Usage (mstfwtrace): Read mstconfig usage. Enter "mstfwtrace -h" for a help message. 11) Usage (mstlink): Read mstconfig usage. Enter "mstlink -h" for a help message. 12) Problem Reporting: Please collect the following information when reporting issues: uname -a cat /etc/issue cat /proc/bus/pci/devices mstflint -vv lspci mstflint -d 02:00.0 v mstflint -d 02:00.0 q mstvpd 02:00.0
libvma
Linux user space library for network socket acceleration based on RDMA compatible network adaptorssockperf
Network Benchmarking UtilitySparkRDMA
This is archive of SparkRDMA project. The new repository with RDMA shuffle acceleration for Apache Spark is here: https://github.com/Nvidia/sparkucxnv_peer_memory
network-operator
Mellanox Network Operatork8s-rdma-shared-dev-plugin
mlxsw
nccl-rdma-sharp-plugins
RDMA and SHARP plugins for nccl libraryk8s-rdma-sriov-dev-plugin
Kubernetes Rdma SRIOV device plugingpu_direct_rdma_access
example code for using DC QP for providing RDMA READ and WRITE operations to remote GPU memorymlnx-tools
Mellanox userland tools and scriptsdocker-sriov-plugin
Docker networking plugin for SRIOV and passthrough interfacesrdmamap
RDMA library for mapping associate netdevice and character devicesib-kubernetes
libxlio
ofed-docker
linux-sysinfo-snapshot
Linux Sysinfo Snapshotscalablefunctions
All about Scalable functionsSAI-Implementation
This repository contains SAI implementation for Mellanox hardware.SAI-P4-BM
SwitchRouterSDK-interfaces
mkt
Mellanox Kernel developers Toolset (MKT)mlx_steering_dump
Mellanox Steering Dump Tool for SWS and HWS accelerationovs-tests
A collection of tests for the Open vSwitch HW offload.R4H
RDMA for HDFSbfb-build
BFB (BlueField boot stream and OS installer) build environmentufm_sdk_3.0
ibdump
scapy-ui
Scapy UI - Web based scapy toolsDCTrafficGen
Data Center Traffic Generator Libraryrshim-user-space
Linux based user-space RSHIM driver for the Mellanox BlueField SoCvnf_acceleration_example
nvidia-k8s-ipam
IPAM plugin for kuberneteshw_offload_api_examples
Examples of usage for Mellanox HW offloadspcx
Persistent Collectives X- A collective communication library for high performance, low cost persistent collectives over RDMA devices.hw-mgmt
rshim
BlueField RSHIM driverrdma_fc
Demonstration of flow control over RDMA fabricngc_multinode_perf
Performance tests for multinode NGC.Ready certificationipoib-cni
IP Over Infiniband (IPoIB) CNI Pluginpka
Mellanox BlueField PKA supportUDA
Unstructured Data Accelerator (RDMA) for Hadoop MapReducemlxdevm-go
mlxdevm library for for device management in go languagebfscripts
Collection of scripts used for BlueField SoC system management.k8s-images
devx
MT.ComB
Multi-Threaded (MT) Communication Benchmarkcontainer_tools
Few useful container orchestration, deployment tools when using RDMAkubernetes-ci
CI for Kubernetes with Mellanox featureslibpsample
config-tools
Mellanox Configuration tool for Linux Hosttls-af_ktls_tool
tls-offload
OVS
EC
!!! NOTICE: DEPRECATED !!! Java Erasure Coding NIC Offload library. For the C level EC offloads, use MLNX_OFED libraries and documentation.TFDeploy
TensorFlow deploy script to easily run on multiple serversNVMEoF-P2P
A fork of the Linux kernel for NVMEoF target driver using PCI P2P capabilities for full I/O path offloading.napalm
Network Automation and Programmability Abstraction Layer with Multivendor supportcontainerized-ovs-forwarder
bluefield-linux
Linux kernel to support Mellanox BlueField SoCskmtracker
Linux Kernel memory trackerbf-release
BlueField release files, configuration files and post-installation stepsmofed_dockerfiles
MOFED Docker filesdocker-nmos-cpp
wjh-linux
ALVS
Switch-SDK-drivers
Switch SDK Drivercontainer_scripts
Some container scriptsipmb-host
IPMB driver to send requests from the BlueField to the BMC on CentOSmlnx_lib
nic-configuration-operator
Nvidia Networking NIC Configuration Operator For Kubernetesmellanox-netdev-stdlib-mlnxos
MLNX_OS specific Provider code for "netdev-stdlib". Netdev provides a set of network resource abstractions for automating network device configuration using Puppetlibmlxdevm
Mellanox device management C libraryvirtio-emulation
dpdk-mlx4
DPDK.org tree with enhanced librte_pmd_mlx4sai_p4_compiler
mlnx-project-config
ATC
regex
network-operator-docs
NVIDIA Network Operator documentation sourcesnic-kernel
Nvidia NBU integration kernelDPDK-18.11-for-Ubuntu-18.04
nagios4mlnxos
Nagios Plugin for Mellanox's Switchesmeta-bluefield
NNT-Linux-driver
NNT Linux driver for MFT & MSTFLINT packagesOpenAI.recipe
Recommended configuration for large-scale setup - OpenAIKubespray-role-for-RDMA-shared-DP
ci-demo
libdpcp
doca-driver-build
ceilometer_sriov_counters
Plugin for Ceilometer SRIOV traffic countersmlnx-openstack
Puppet manifests for deploying Mellanox OpenStack pluginsQAT_Engine
iproute2
nic-feature-discovery
NVIDIA NIC feature discoveryeswitchd
mlx-strongswan
Mellanox version of strongswan cloned from strongswan-5.9.0.tar.gznginx_automation
This is simple Python automation for Nginx - VMA related activityipsec-offload
dpdk-utest
Love Open Source and this site? Check out how you can help us