mlxprivhost enables the user to restrict the hosts from managing the device in case the BlueField DPU is in a Zero Trust environment, and the host cannot be considered “trusted”.
mlxprivhost is supported in Linux only.
mlxprivhost is not supported in ESXi 7.0.
This utility is supported in BlueField devices only.
- Restrict configuration takes effect immediately, but disabling/enabling RShim requires power cycle
- A zero-trust (restricted) host will not be able to perform operations that can compromise the DPU, such as:
- Port ownership – the host cannot assign itself as port owner
- Hardware counters – the host does not have access to hardware counters
- Tracer functionality is blocked
- RShim interface is blocked
- FW flash is restricted
- For Multi-host systems, the tool is compatible with firmware versions starting from xx.31.10xx and later
|-h, --help||Shows this help message and exit|
|-v, --version||Shows program's version number and exit|
|-d <dev>, --device <dev>||Device to work with.|
When TRUE, the host does not have an RSHIM function to access the embedded CPU registers (power cycle is required to apply changes)
|--disable_tracer||When TRUE, the host will not be allowed to own the Tracer (requires FW reset to be applied)|
|--disable_counter_rd||When TRUE, the host will not be allowed to read Physical port counters (requires FW reset to be applied)|
|--disable_port_owner||When TRUE, the host will not be allowed to be Port Owner (requires FW reset to be applied)|
|r,restrict||Set all external hosts as zero-trust (restricted) except of the one that called the command|
|p,privilege||Set all external hosts privileged except the one that called the command|
From external HOST: query the status of the host
From Embedded ARM CPU: query the status of all external hosts.
|-f, --full||Run with query command for high verbosity level - valid from embedded ARM CPU only.|
Example of mlxprivhost:
Enabling Zero-Trust host (Full Host Restriction - Embedded ARM CPU Only):
Disabling Zero-Trust host restriction (Embedded ARM CPU Only):
Query the status of the host\hosts (the full flag valid for embedded ARM CPU Only):