User Manual
Rev 2.1-1.0.6
Mellanox Technologies
99
4.13.7.2 Virtual Function InfiniBand Ports
Each VF presents itself as an independent vHCA to the host, while a single HCA is observable
by the network which is unaware of the vHCAs. No changes are required by the InfiniBand sub-
system, ULPs, and applications to support SR-IOV, and vHCAs are interoperable with any exist-
ing (non-virtualized) IB deployments.
Sharing the same physical port(s) among multiple vHCAs is achieved as follows:
• Each vHCA port presents its own virtual GID table
The virtual GID table for the InfiniBand ports consists of a single entry (at index 0) that maps to a
unique index in the physical GID table. The vHCA of the PF maps to physical GID index 0. To obtain
GIDs for other vHCAs, alias GUIDs are requested from the SM. These GIDs are mapped to vHCAs
as follows:
• vHCA number x is assigned the GID/GUID at index x of the physical GID table.
• Each vHCA port presents its own virtual PKey table
The virtual PKey table (presented to a VF) is a mapping of selected indexes of the physical PKey
table. The host admin can control which PKey indexes are mapped to which virtual indexes using a
sysfs interface (see Section , on page 99). The physical PKey table may contain both full and partial
memberships of the same PKey to allow different membership types in different virtual tables.
• Each vHCA port has its own virtual port state
A vHCA port is up if the following conditions apply:
• The physical port is up
• The virtual GID table contains the GIDs requested by the host admin
• The SM has acknowledged the requested GIDs since the last time that the physical port
went up
• Other port attributes are shared, such as: GID prefix, LID, SM LID, LMC mask
To allow the host admin to control the virtual GID and PKey tables of vHCAs, a new sysfs 'iov'
sub-tree has been added under the PF InfiniBand device.
4.13.7.2.1SRIOV sysfs Administration Interfaces on the Hypervisor
Administration of GUIDs and PKeys is done via the sysfs interface in the Hypervisor (Dom0).
This interface is under:
Under this directory, the following subdirectories can be found:
•
ports - The actual (physical) port resource tables
Port GID tables:
• ports/<n>/gids/<n> where 0 <= n <= 127 (the physical port gids)
Only the PFs are set via this mechanism. The VFs inherit their port types from their asso-
ciated PF.
/sys/class/infiniband/<infiniband device>/iov