Bonding slaves by PCI bus order do not work after update to kernel >=4.8

This document (7023699) is provided subject to the disclaimer at the end of this document.

Environment


SUSE Linux Enterprise Server 12 Service Pack 4 (SLES 12 SP4)
SUSE Linux Enterprise Server 15

Situation

When bonding is in use on a Power PC system and PCI Bus ID naming is used for creating udev rules for bonding slaves, after a update to kernel >= 4.8.x it is noticed that the bonding device does not work anymore.
This can only happen if you update from <= SLES 12 SP3 to >= SLES 12 SP4
On new installations of SLES 12 SP4 or SLES 15 this will not be an issue.
 

Resolution

To change to the new PCI Bus ID naming it is needed to modify the udev rules for network devices ->  /etc/udev/rules.d/70-persistent-net.rules
 
Change the "KERNELS==" lines to the new PCI Bus ID
 
use following command to get the relation between new PCI Bus IDs and old PCI Bus IDs
 
OLD=0; echo -e "NEW\tOLD"; while read NEW ; do printf "%s\t%04x\n" $NEW $OLD ; ((OLD++)) ; done < <(find /sys/firmware/devicetree/base -type d -name "pci@*" -printf "%f\n" | grep -o '....$' | sort -f)

It is needed to remove any rules for the same device that has been created by MAC address after the system has been booted already to a kernel >= 4.8.x
 
Following script can be used to reorder the PCI IDs. It can be run after online update prior rebooting the system into new kernel or after update, however a reboot is required to apply the changes -> Script to reorder the PCI IDs .
 
If it is not possible for now to make this changes, a kernel update has been released to switch back to old PCI Bus ID naming.
Make sure kernel is >= 4.12.14-95.13.1 and use kernel parameter
disable_fixed_phb
ATTENTION: The kernel parameter fix will not be carried over to SLE15, so if there is a plan to update some time from SLE12 to SLE15, already consider changing to the new PCI Bus ID naming for flawless update.

Cause

The issue is caused by a change in upstream kernel >= 4.8 where the PCI numbering has been changed from sequential order, starting from 0000, to open firmware pci naming order.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7023699
  • Creation Date: 04-Feb-2019
  • Modified Date:06-Apr-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback@suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center