Managing PNET IDs

PNET IDs represent a user-defined logical ID (name) of a physical network. The physical network represents the physical broadcast domain of a given network.

PNET IDs as hardware labels

Hardware administrators use PNET IDs within the hardware configuration to uniquely identify a physical layer 2 LAN fabric or physical broadcast domain. PNET IDs help to keep track of physical networks and the associated features, adapters, and ports.

PNET IDs must reflect networks that are in place through cabling and other network components. PNET IDs that are assigned to adapter ports, HiperSockets devices, and internal shared memory (ISM) devices can then be used by Linux® to optimize network traffic through these components.

On Linux, you can use the smc_chk -i command to display the PNET ID for a specific interface, or the smc_rnics command to display all your PCI functions with any PNET IDs that are assigned in the hardware configuration.

PNET IDs for associating network interfaces

Within a Linux instance, matching PNET IDs associate network interfaces.
SMC-R link groups
For PCI functions with matching PNET IDs, SMC-R automatically creates an SMC-R link group. The link group provides link failover for the RDMA traffic of SMC-R connections.
OSA interfaces
If the PNET ID of an OSA interface matches that of an SMC-R link group or individual PCI function, the OSA interface can be used as the TCP/IP connection that is needed to initialize an SMC-R connection. Alternatively, you can use the PCI functions TCP/IP support for this initialization. On Linux, an OSA interface is an option for initializing an SMC-R connection, but it is not required.

Because the same PCI function can simultaneously provide TCP/IP and SMC-R connections, a PCI function can initiate SMC-R connections without a PNET ID. An appropriate PNET ID is still useful to label the PCI function as part of a physical network.

SMC-D devices
If the PNET ID of an ISM device matches that of an SMC-R link group or individual PCI function, SMC-D becomes an option for connecting peers with the same PNET ID. SMC-D then is the preferred option, followed by SMC-R and TCP/IP. For more information about SMC-D, see Device Drivers, Features, and Commands.
HiperSockets Converged Interface (HSCI)
No PNET ID is required to create an HSCI interface. However, you cannot create an HSCI that combines a PCI function and a HiperSockets device with different PNET IDs, see Using a PCI function for HSCI connections.

PNET IDs on Linux

Linux uses the PNET IDs of the hardware configuration to support HSCI interfaces or create SMC-R link groups. If the hardware configuration does not include all PNET IDs that you need, you can supplement them in a software PNET table.

Use the smc_pnet command to assign a PNET IDs through a PNET table. For example, to assign a PNET ID NET01 to a PCI function with network interface eno0, issue this command:
# smc_pnet -a NET01 --interface eno0
Follow these guidelines for assigning PNET IDs:
  • Assure that the hardware does not already assign a PNET ID to the interface. If a PNET IDs is assigned in both the hardware configuration and in a PNET table, the PNET ID of the hardware configuration is used. Depending on your version of smc_rnics, you might get an error message if you try to assign a PNET ID to a PCI function for which one exists in the hardware configuration.

    Use the smc_rnics command to display your PCI functions with any PNET IDs that are assigned in the hardware configuration. As of smc-tools v1.8, the output also includes PNET IDs that are assigned through a PNET table.

    The smc_rnics output does not include PNET IDs of bonded interfaces. Bonded interfaces inherit the PNET IDs of their constituent interfaces if they have matching PNET IDs.

  • To avoid confusion, align your PNET IDs with the labeling scheme that is used in the hardware configuration.
  • Software PNET tables are intended to assign PNET IDs to entities that do not have a representation in the hardware configuration, for example to a MacVTap interface.

    You can also use PNET tables for testing connections, or when updating the hardware configuration would be too disruptive.

    PNET tables do not persist across reboots. Where possible, ensure that permanently required PNET IDs are assigned though the hardware configuration at the next opportunity.