Hi matthew187,
Welcome, and thank you for posting your inquiry to the NVIDIA Developer Forums.
2 options exist - RDE and using a LiveCD/image with MFT installed (NVIDIA Firmware Tools (MFT))
LiveCD option:
- Boot into your LiveCD image which has MFT installed.
- Find your device, either with MST character device or PCIe address (
mst start && mst status -v, or lspci -d 15b3: respectively).
- You can use either the MST device name (IE: /dev/mst/mt4115_pciconf0), or the PCIe address for the next step.
- Invoke:
mlxconfig -d (device) s LINK_TYPE_P1=2
- Restart the system, or perform a function-level reset of the adapter with
mlxfwreset -d (device) r --yes
- Validate the configuration took effect with:
mlxconfig -d mlx5_0 -e q | grep 'Configurations\|LINK_TYPE'
Configurations: Default Current Next Boot
* LINK_TYPE_P1 IB(1) ETH(2) ETH(2)
Redfish/RDE
ConnectX adapters (from ConnectX-4 onwards) support interfacing with adapters via Redfish/RDE through the server BMC. The implementation is vendor-specific, and some vendors may not have support for this capability - you would need to engage with your server vendor to understand capability and use - but the general steps would be as follows (assuming your server BMC is at 10.7.118.14 and your credentials are ‘root/password’:
Step 1:
# curl -skL -u root:password -X PATCH -H "Content-Type: application/json" -d "{\"NetDevFuncType\": \"InfiniBand\"}" https://10.7.118.14/redfish/v1/Chassis/1/NetworkAdapters/DE082000/NetworkDeviceFunctions/0
{"NetDevFuncType":"InfiniBand"}
Step 2: (Note: Although this step may return an error, it is required)
# curl -skL -u root:password -X PATCH -H "Content-Type: application/json" -d "{\"NetDevFuncType\": \"InfiniBand\"}" https://10.7.118.14/redfish/v1/Chassis/1/NetworkAdapters/DE082000/NetworkDeviceFunctions/0/Settings
{"error":{"code":"iLO.0.10.ExtendedInfo","message":"See @Message.ExtendedInfo for more information.","@Message.ExtendedInfo":[{"MessageId":"Base.1.18.Success"}]}}
Step 3:
# curl -skL -u root:password https://10.7.118.14/redfish/v1/Chassis/1/NetworkAdapters/DE082000/NetworkDeviceFunctions/0/Settings
{"@odata.id":"/redfish/v1/Chassis/1/NetworkAdapters/DE082000/NetworkDeviceFunctions/0/Settings","@odata.type":"#NetworkDeviceFunction.v1_8_0.NetworkDeviceFunction","@odata.etag":"W\/\"A06F124C\"","@Redfish.SettingsApplyTime":{"ApplyTime":"OnReset"},"BootMode":"PXE","DeviceEnabled":true,"Ethernet":{"MACAddress":"58:a2:e1:05:f6:dc","MTUSize":1522,"PermanentMACAddress":"58:a2:e1:05:f6:dc","MTUSizeMaximum":10000},"Id":"0","Links":{"PhysicalNetworkPortAssignment":{"@odata.id":"/redfish/v1/Chassis/1/NetworkAdapters/DE082000/Ports/0"}},"MaxVirtualFunctions":127,"Name":"NetworkDeviceFunction","NetDevFuncCapabilities":["Ethernet","InfiniBand"],**"NetDevFuncType":"InfiniBand"** ,"Status":{"Health":"OK","HealthRollup":"OK","State":"Enabled"},"VirtualFunctionsEnabled":true,"AssignablePhysicalNetworkPorts":[{"@odata.id":"/redfish/v1/Chassis/1/NetworkAdapters/DE082000/Ports/0"}],"InfiniBand":{"MTUSize":null,"NodeGUID":"58a2:e103:0005:f6dc","PermanentNodeGUID":"58a2:e103:0005:f6dc","PermanentPortGUID":"58a2:e103:0005:f6dc","PermanentSystemGUID":"58a2:e103:0005:f6dc","PortGUID":"58a2:e103:0005:f6dc","SystemGUID":"58a2:e103:0005:f6dc"},"Metrics":{"@odata.id":"/redfish/v1/Chassis/1/NetworkAdapters/DE082000/NetworkDeviceFunctions/0/Metrics"},"SAVIEnabled":false}
Once the above steps are completed, you can confirm the change with the mlxconfig command:
# mlxconfig -d mlx5_0 -e q | grep 'Configurations\|LINK_TYPE'
Configurations: Default Current Next Boot
LINK_TYPE_P1 IB(1) IB(1) IB(1)
If you experience difficulties, and have a valid NVIDIA Enterprise Support entitlement, we highly recommend opening a support case so we can assist you further.
Thanks, and best regards,
NVIDIA Enterprise Experience