Using mlxconfig to Set VPI Parameters
In order to set VPI parameters through mlxconfig, use the following command line:
# mlxconfig -d <device> set [LINK_TYPE_P1=<link_type>] [LINK_TYPE_P2=<link_type>]
Example: Configuring both ports as InfiniBand:
# mlxconfig -d /dev/mst/mt4103_pci_cr0 set LINK_TYPE_P1=1 LINK_TYPE_P2=1 Device #1: ---------- Device type: ConnectX3Pro PCI device: /dev/mst/mt4103_pci_cr0 Configurations: Next Boot New LINK_TYPE_P1 ETH(2) IB(1) LINK_TYPE_P2 ETH(2) IB(1) Apply new Configuration? ? (y/n) [n] : y Applying... Done! -I- Please reboot machine to load new configurations.
Using mlxconfig to Set SR-IOV Parameters
In order to set SR-IOV parameters through mlxconfig, use the following command line:
# mlxconfig -d <device> set [SRIOV_EN=<0|1>] [NUM_OF_VFS=<NUM>]
Example: Turning on SR-IOV and enabling 8 Virtual Functions per Physical Function:
# mlxconfig -d /dev/mst/mt4115_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=8 Device #1: ---------- Device type: ConnectX4 PCI device: /dev/mst/mt4115_pciconf0 Configurations: Next Boot New SRIOV_EN 0 1 NUM_OF_VFS 0 8 Apply new Configuration? ? (y/n) [n] : y Applying... Done! -I- Please reboot machine to load new configurations.
Using mlxconfig to Set Preboot Settings
For a full description of the preboot configurable parameters refer to Supported Configurations and their Parameters under "Preboot Settings".
Example: Enable boot option ROM on port 1, set boot retries to 3 and set the boot protocol to PXE.
# mlxconfig -d /dev/mst/mt4103_pciconf0 set BOOT_OPTION_ROM_EN_P1=1 BOOT_RETRY_CNT_P1=3 LEGACY_BOOT_PROTOCOL_P1=1 Device #1: ---------- Device type: ConnectX3Pro PCI device: /dev/mst/mt4103_pciconf0 Configurations: Next Boot New BOOT_OPTION_ROM_EN_P1 False(0) True(1) BOOT_RETRY_CNT_P1 0 3 LEGACY_BOOT_PROTOCOL_P1 2 1 Apply new Configuration? ? (y/n) [n] : y Applying... Done! -I- Please reboot machine to load new configurations.
Example: Configure VLAN ID to 3 on port 2
# mlxconfig -d /dev/mst/mt4103_pciconf0 set BOOT_VLAN_P2=3 Device #1: ---------- Device type: ConnectX3Pro PCI device: /dev/mst/mt4103_pciconf0 Configurations: Next Boot New BOOT_VLAN_P2 1 3 Apply new Configuration? ? (y/n) [n] : y Applying... Done! -I- Please reboot machine to load new configurations.
Using mlxconfig to Split a Port in a Remotely Managed Switch
The break-out cable is a unique Mellanox capability, where a single physical quad-lane QSFP port is divided into 2 dual-lane ports. It maximizes the flexibility of the end user to use the Mellanox switch with a combination of dual-lane and quad-lane interfaces according to the specific requirements of its network. All system ports may be split into 2-lane ports. Splitting a port changes the notation of that port from x/y to x/y/z with “x/y” indicating the previous notation of the port prior to the split and “z” indicating the number of the resulting sub-physical port (1,2). Each sub-physical port is then handled as an individual port. For example, splitting port 5 into 2 lanes gives the following new ports: 1/5/1 & 1/5/2.
Break-Out Cable
To enable the port split, the following actions are required:
Step 1. Set the Split Mode in a Remotely Managed Switch.
# mlxconfig -d <device>set SPLIT_MODE=1#
Example:
1# mlxconfig -d /dev/mst/mt54000_pciconf0 set SPLIT_MODE=1 Device #1: ---------- Device type: Quantum Name: N/A Description: N/A Device: /dev/mst/mt54000_pciconf0 Configurations: Next Boot New SPLIT_MODE NO_SPLIT_SUPPORT(0) SPLIT_2X(1)
To create a query for the Split Mode parameter using mlxconfig:
# mlxconfig -d <device> q SPLIT_MODE
Example:
# mlxconfig -d /dev/mst/mt54000_pciconf0 q SPLIT_MODE Device #1: ---------- Device type: Quantum Name: N/A Description: N/A Device: /dev/mst/mt54000_pciconf0 Configurations: Next Boot SPLIT_MODE SPLIT_2X(1)
Step 2. Split a Port in a Remotely Managed Switch.
To split a specific port for one or more ports of the lower ports (1-32) using mlxconfig:
# mlxconfig -d <device> set SPLIT_PORT_32_1[<port_num>/<port_range>]=1
To split a specific port for one or more ports of the higher ports (33-40) using mlxconfig:
# mlxconfig -d <device> set SPLIT_PORT_64_33[<port_num>/<port_range>]=1
Please note that although the command, is “set SPLIT_PORT_64_33”, it splits a specific port for one or more ports of the higher ports (33-40).
Please note that the first port is set as 0, e.g., [0], [0..31].
How to turn on the split port for the first port only:
mlxconfig -d /dev/mst/SW_MT54000_EVB-SX-1_L00_lid-0x0001 set SPLIT_PORT_32_1[0]=1
How to turn on the split port for the first 32 ports (range of ports):
mlxconfig -d /dev/mst/SW_MT54000_EVB-SX-1_L00_lid-0x0001 set SPLIT_PORT_32_1[0..31]=1
How to turn on the split port for the last 8 ports:
mlxconfig -d /dev/mst/SW_MT54000_EVB-SX-1_L00_lid-0x0001 set SPLIT_PORT_64_33 [0..7]=1
How to turn off the split port for port 40:
mlxconfig -d /dev/mst/SW_MT54000_EVB-SX-1_L00_lid-0x0001 set SPLIT_PORT_64_33 [7]=0
How to query the split port for the first 32 ports:
mlxconfig -d /dev/mst/SW_MT54000_EVB-SX-1_L00_lid-0x0001 query SPLIT_PORT_32_1[0..31]
To create a query for the split port parameter for one or more ports of the lower ports (1-32) using mlxconfig:
# mlxconfig -d <device> query SPLIT_PORT_32_1 [<port_num>/<port_range>]
To create a query for the split port for one or more ports of the higher ports (33-40) using mlxconfig:
# mlxconfig -d <device> query SPLIT_PORT_64_33 [<port_num>/<port_range>]
Step 3. Reboot the switch.
To disable the port split, the following actions are required:
Step 1. Disable the Split Ports in a Remotely Managed Switch:
To unsplit a specific port for one or more ports of the lower ports (1-32) using mlxconfig:
# mlxconfig -d <device> set SPLIT_PORT_32_1[<port_num>/<port_range>]=0
To unsplit a specific port for one or more ports of the higher ports (33-40) using mlxconfig:
# mlxconfig -d <device> set SPLIT_PORT_64_33[<port_num>/<port_range>]=0
Step 2. Disable the Split Mode in a Remotely Managed Switch.
# mlxconfig -d <device> set SPLIT_MODE=0