Networking ESXi Driver User Manual

nmxcli Management Tools

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

Command

Purpose

Required options

list

List all Mellanox uplinks with PCI, MAC, driver/FW version, WoL support

—

info

General information about one uplink

-u <vmnicX>

state

Uplink state (enabled/disabled/promisc/…)

-u

timeouts

Uplink timeout configuration, in milliseconds

-u

Command

Purpose

info

Link status, duplex, speed, port type, auto-negotiation, transceiver, advertised link modes

Command

Purpose

get

Rx/Tx usecs and frames, adaptive Rx/Tx state, sample interval

adaptive get

Low/high packet-rate thresholds and their Rx/Tx usecs and frames

Command

Purpose

all

All private ring statistics

activeRx

Active RX queue-oriented statistics

Command

Purpose

query

Flow counters: created / destroyed / in-use. -u optional (all uplinks if omitted)

clean

Reset the flow counters. Note: results may become momentarily inconsistent

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

enable / disable

Turn the protocol on or off

query

Show whether the protocol is enabled

get

Show all tuning parameters

set

Change one or more tuning parameters

Plus:

Command

Purpose

statistics get

ECN counters

statistics clear

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.

Command

Purpose

enable

Enable the sniffer, including RDMA traffic

disable

Disable the sniffer

query

Show current sniffer state

Command

Purpose

tracer enable / disable

Turn FW tracing on/off for an uplink

tracer state

Tracer state plus counters (printed/excluded logs, events, errors, lost events, buffer overruns). -u optional

resource menu

List the available FW resource-dump segments. -i <index> narrows to one entry

resource dump

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).

Command

Purpose

list

All RSS engines on the uplink

priQ

One RSS engine, selected by primary OS/VMK queue ID (-q)

Command

Purpose

list

All DVX VFs on the uplink

Command

Purpose

setAdminState

Set the E-Switch admin state for all VF vports (-z 0 = UP, -z 1 = AUTO). The PF is left unchanged

Command

Purpose

dumpVmk

Connection-tracking objects in VMkernel format

dumpHw

Connection-tracking objects in hardware format

Both dump everything by default; -i <hw-id> dumps a single object.

esxcli mellanox nvconfig

Command

Purpose

profile

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: