User Manual

Driver FeaturesRev 2.0-3.0.0
Mellanox Technologies
92
To configure the GUID at index <n> on port <port_num>:
Example:
Step 3. Read the administrative status of the GUID index.
To read the administrative status of GUID index
m on port n:
Step 4. Check the operational state of a GUID.
The values indicate what gids are actually configured on the firmware/hardware, and all the
entries are R/O.
Step 5. Compare the value you read under the "admin_guids" directory at that index with the value
under the
"gids" directory, to verify the change requested in Step 3 has been accepted by the
SM, and programmed into the hardware port GID table.
If the value under
admin_guids/<m> is different that the value under gids/<m>, the request is
still in progress.
4.13.7.2.3Partitioning IPoIB Communication using PKeys
PKeys are used to partition IPoIB communication between the Virtual Machines and the Dom0
by mapping a non-default full-membership PKey to virtual index 0, and mapping the default
PKey to a virtual pkey index other than zero.
The below describes how to set up two hosts, each with 2 Virtual Machines. Host-1/vm-1 will be
able to communicate via IPoIB only with Host2/vm1,and Host1/vm2 only with Host2/vm2.
In addition, Host1/Dom0 will be able to communicate only with Host2/Dom0 over ib0. vm1 and
vm2 will not be able to communicate with each other, nor with Dom0.
This is done by configuring the virtual-to-physical PKey mappings for all the VMs, such that at
virtual PKey index 0, both vm-1s will have the same pkey and both vm-2s will have the same
PKey (different from the vm-1's), and the Dom0's will have the default pkey (different from the
vm's pkeys at index 0).
OpenSM must be used to configure the physical Pkey tables on both hosts.
The physical Pkey table on both hosts (Dom0) will be configured by OpenSM to be:
The vm1's virt-to-physical PKey mapping will be:
cd /sys/class/infiniband/mlx4_0/iov/ports/<port_num>/admin_guids
echo <your desired guid> > n
cd /sys/class/infiniband/mlx4_0/iov/ports/1/admin_guids
echo
1
"0x002fffff8118" > 3
1. echo "0x0" means let the SM assign a value to that GUID
echo "0xffffffffffffffff" means delete that GUID
echo <any other value> means request the SM to assign this GUID to this index
cat /sys/class/infiniband/mlx4_0/iov/ports/<n>/admin_guids/<m>
/sys/class/infiniband/mlx4_0/iov/ports/<n>/gids (where n = 1 or 2)
index 0 = 0xffff
index 1 = 0xb000
index 2 = 0xb030
pkey_idx 0 = 1
pkey_idx 1 = 0