Identifiers for the PCI function

On IBM Z®, PCI functions are identified by general PCI identifiers, but also by identifiers that are specific to z/Architecture®.

Identifiers specific to z/Architecture

The following identifiers are specific to z/Architecture hardware systems.
FID
Function IDs (FIDs) are 8-digit hexadecimal values that uniquely identify PCI functions within the scope of the IBM Z or LinuxONE hardware system. Many interfaces drop leading zeros from FIDs.

FIDs are assigned in the hardware configuration and persist across PORs. A KVM or z/VM® hypervisor can map the FID of the hardware to a different FID in a guest.

To set a PCI function online or offline in Linux®, you must know its FID.

UID
User defined identifiers (UIDs) are four-digit hexadecimal values that identify PCI functions within the scope of an LPAR or DPM partition.
The hardware administrator can assign UIDs in the hardware configuration. The hardware configuration of the partition must enforce UID uniqueness to rule out multiple PCI functions with the same UID within the partition.
UID uniqueness is always enforced in DPM partitions. For traditional LPARs, the hardware administrator must set the UID uniqueness option in the LPAR configuration. For more details, see UID uniqueness.
PCHID
The physical channel identifier (PCHID) is the physical address of a channel path in the hardware. For the RoCE Express® adapters, all PCI functions of the same adapter have the same PCHID. The Network Express adapter offers two PCHIDs with one PCHID per port

Generic PCI identifiers

The following identifiers are commonly used for PCI devices, across various hardware platforms.

PCI ID
The PCI ID is the function address that identifies the PCI function in the PCI stack.
For Linux on IBM® Z with a unique UID, the PCI ID has this format: <UID>:00:<device>.<function>. All elements of the function address represent aspects of the logical PCI topology. The <device>.<function> part is usually 00.0.
A PCI ID function with a non unique UID has this format: <domain>:00:<device>.<function>. For <domain>, consecutive numbers, starting from 0000, are assigned to the functions.
In some cases for NETD PCI functions, the <device>.<function> attributes can be non zero and match the cards internal PCI topology. These PCI function addresses are similar to general PCI function addresses as seen on architectures like x86.
The lspci command lists PCI devices by PCI ID.
IB device name
The name that the InfiniBand (IB) device driver uses for the PCI function. Because RDMA is based on the IB communications standard, some terms that are used in the RDMA context refer to IB.

Depending on your environment, the UID, FID, or both, can be used in the naming scheme of your network interfaces, see Network interface names.