User Manual
Driver FeaturesRev 2.1-1.0.6
Mellanox Technologies
100
• ports/<n>/admin_guids/<n> where 0 <= n <= 127 (allows examining or changing the
administrative state of a given GUID>
• ports/<n>/pkeys/<n> where 0 <= n <= 126 (displays the contents of the physical pkey
table)
• <pci id> directories - one for Dom0 and one per guest. Here, you may see the map-
ping between virtual and physical pkey indices, and the virtual to physical gid 0.
Currently, the GID mapping cannot be modified, but the pkey virtual to physical mapping can .
These directories have the structure:
• <pci_id>/port/<m>/gid_idx/0 where m = 1..2 (this is read-only)
and
• <pci_id>/port/<m>/pkey_idx/<n>, where m = 1..2 and n = 0..126
For instructions on configuring pkey_idx, please see below.
4.13.7.2.2Configuring an Alias GUID (under ports/<n>/admin_guids)
Step 1. Determine the GUID index of the PCI Virtual Function that you want to pass through to a
guest.
For example, if you want to pass through PCI function 02:00.3 to a certain guest, you ini-
tially need to see which GUID index is used for this function.
To do so:
The value returned will present which guid index to modify on Dom0.
Step 2. Modify the physical GUID table via the admin_guids sysfs interface.
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.
cat /sys/class/infiniband/iov/0000:02:00.3/port/<port_num>/gid_idx/0
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)