RoCE interfaces on IBM Z lose their IP settings after updating to RHEL 8.7 or later

Solution Unverified - Updated -

Environment

You use RoCE devices on the IBM Z platform and are updating from RHEL 8.6 or earlier to RHEL 8.7 or later.

Issue

If you update from RHEL 8.6 or earlier to RHEL 8.7 or later, RoCE interfaces on the IBM Z platform that are enumerated by a unique identifier (UID) lose their IP settings due to an unexpected change of the network interface names.

Resolution

Apply one of the following options:

Option 1: After the update, reconfigure the system to use the predictable interface names

Note: The affected interfaces are not connected until you update the device names in the NetworkManager profiles.

After the update to RHEL 8.7 or later, manually update the connection profile to use the new device names:

  1. Identify the new device names:

    # ip link show
    
  2. Set the connection.interface-name property in the connection profile to the new device name:

    # nmcli connection modify <profile_name> connection.interface-name "<new_roce_device_name>"
    
  3. Reactivate the connection profile:

    # nmcli connection up <profile_name>
    

Option 2: Before the update, switch to predictable interface names

Before you update to RHEL 8.7 or later, configure predictable device names for RoCE interfaces that are enumerated by UID. For details, see Determining a predictable RoCE device name on the IBM Z platform.

Option 3: Before the update, hard-code using unpredictable RoCE interface names

Note: You cannot upgrade the system to RHEL 9 as long as this workaround is in place.

Before you update to RHEL 8.7 or later, configure udev to not apply the new naming scheme and continue using unpredictable device names:

  1. Create the /etc/systemd/network/98-rhel87-s390x.link file with the following content:

    [Match]
    Architecture=s390x
    KernelCommandLine=!net.naming-scheme=rhel-8.7
    
    [Link]
    NamePolicy=kernel database slot path
    AlternativeNamesPolicy=database slot path
    MACAddressPolicy=persistent
    
  2. Reboot the system.

  3. Update to RHEL 8.7 or later.

Root Cause

In RHEL 8.6 and earlier, on the IBM Z platform, the udev device manager assigned unpredictable device names to RoCE interfaces that were enumerated by a UID. However, in RHEL 8.7 and later, udev assigns predictable device names with the eno prefix to these interfaces.

If you update from RHEL 8.6 or earlier to 8.7 or later, these UID-enumerated interfaces have new names and no longer match the device names in NetworkManager connection profiles. Consequently, after the update, these interfaces have no IP configuration.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments