Overview
nmlxcli is the command-line management and diagnostics utility for NVIDIA native ESXi NIC drivers (nmlx5). It talks directly to the loaded kernel driver and lets the user:
-
Discover Mellanox uplinks and read their general, link, and status information
-
Read private (driver-level) statistics: rings, RX queues, flows, FW pages, HW tracer
-
Inspect RSS engines, DVX VFs, VPORTs, and connection-tracking objects
-
Configure ECN / RoCE congestion control
-
Enable/disable the port sniffer (including RDMA traffic)
-
Collect debug dumps: steering tables, FW resource dumps, CR dumps, FW tracer logs
-
Apply non-volatile device configuration (nvconfig) profiles
-
Set the E-Switch admin state for all SR-IOV VFs
The tool is installed at /opt/mellanox/bin/nmlxcli and is also registered as an esxcli plugin under the mellanox namespace (not all nmlxclioperations are available on esxcli).
Requirements: an ESXi host with the nmlx5 native driver loaded, and root privileges. If the driver isn't loaded or its version doesn't match the tool, nmlxcli reports a driver-compatibility error (and logs it to syslog).
Executing nmlxcli commands
esxcli mellanox <namespace/command>...
This is the supported, user-facing interface. The output is formatted, there’s built-in help (--help on any namespace), and input validation.
esxcli command reference
esxcli mellanox uplink
|
Command |
Purpose |
Required options |
|---|---|---|
|
|
List all Mellanox uplinks with PCI, MAC, driver/FW version, WoL support |
— |
|
|
General information about one uplink |
|
|
|
Uplink state (enabled/disabled/promisc/…) |
|
|
|
Uplink timeout configuration, in milliseconds |
|
esxcli mellanox uplink link
|
Command |
Purpose |
|---|---|
|
|
Link status, duplex, speed, port type, auto-negotiation, transceiver, advertised link modes |
esxcli mellanox uplink coalesce
|
Command |
Purpose |
|---|---|
|
|
Rx/Tx usecs and frames, adaptive Rx/Tx state, sample interval |
|
|
Low/high packet-rate thresholds and their Rx/Tx usecs and frames |
esxcli mellanox uplink stats
|
Command |
Purpose |
|---|---|
|
|
All private ring statistics |
|
|
Active RX queue-oriented statistics |
esxcli mellanox uplink flows stat
|
Command |
Purpose |
|---|---|
|
|
Flow counters: created / destroyed / in-use. |
|
|
Reset the flow counters. Note: results may become momentarily inconsistent |
esxcli mellanox uplink ecn
ECN (congestion control for RoCE) is managed per protocol. Two protocols exist:
-
rRoceRp— Reaction Point (the sender that reduces its rate on congestion notification) -
rRoceNp— Notification Point (the receiver that generates CNPs)
Each has the same verbs:
|
Command |
Purpose |
|---|---|
|
|
Turn the protocol on or off |
|
|
Show whether the protocol is enabled |
|
|
Show all tuning parameters |
|
|
Change one or more tuning parameters |
Plus:
|
Command |
Purpose |
|---|---|
|
|
ECN counters |
|
|
Reset ECN counters |
rRoceRp set parameters (all optional, all take integers) control the rate-reduction/recovery algorithm: --clamp-tgt-rate, --clamp-tgt-rate-after, --rpg-time-reset, --rpg-byte-reset, --rpg-threshold, --rpg-max-rate, --rpg-ai-rate, --rpg-hai-rate, --rpg-gd, --rpg-min-dec-fac, --rpg-min-rate, --rate-first-cnp, --dce-tcp-g, --dce-tcp-rtt, --rate-reduce-period, --init-alpha.
rRoceNp set parameters control CNP generation: --min-time-cnp, --cnp-dscp (0–63), --cnp-prio-mode (0 = use configured 802.1p priority, 1 = copy from received packet), --cnp-802-p-prio (0–7).
Run esxcli mellanox uplink ecn rRoceRp set --help for the per-parameter descriptions and valid ranges.
esxcli mellanox uplink sniffer
|
Command |
Purpose |
|---|---|
|
|
Enable the sniffer, including RDMA traffic |
|
|
Disable the sniffer |
|
|
Show current sniffer state |
esxcli mellanox uplink fw
|
Command |
Purpose |
|---|---|
|
|
Turn FW tracing on/off for an uplink |
|
|
Tracer state plus counters (printed/excluded logs, events, errors, lost events, buffer overruns). |
|
|
List the available FW resource-dump segments. |
|
|
Dump a FW resource segment to a file |
resource dump requires -u, -s <segment-type>, and -f <file-path>. Optional narrowing: -i/-j (indices), -o/-p (object counts), -v (VHCA ID).
esxcli mellanox uplink rss
|
Command |
Purpose |
|---|---|
|
|
All RSS engines on the uplink |
|
|
One RSS engine, selected by primary OS/VMK queue ID ( |
esxcli mellanox uplink dvx
|
Command |
Purpose |
|---|---|
|
|
All DVX VFs on the uplink |
esxcli mellanox uplink vfs
|
Command |
Purpose |
|---|---|
|
|
Set the E-Switch admin state for all VF vports ( |
esxcli mellanox uplink conntrack
|
Command |
Purpose |
|---|---|
|
|
Connection-tracking objects in VMkernel format |
|
|
Connection-tracking objects in hardware format |
Both dump everything by default; -i <hw-id> dumps a single object.
esxcli mellanox nvconfig
|
Command |
Purpose |
|---|---|
|
|
Apply a non-volatile configuration profile to a device |
Requires -x <sbdf> (PCI address, function must be 0) and -w <profile>:
-
0— DEFAULT: reset all configuration to factory defaults -
1— DPU: configure both host and embedded CPU on BlueField devices -
2— BF_AS_CX: configure a BlueField device to act as a plain NIC -
3— CX: configure a ConnectX device
Some profiles can only configure the currently-enabled PFs; in that case the tool tells you to re-apply the profile after a reboot to cover the remaining PFs.
Last updated: