diff --git a/man/systemd.net-naming-scheme.xml b/man/systemd.net-naming-scheme.xml index 690e3d2c27..b2d78c95ab 100644 --- a/man/systemd.net-naming-scheme.xml +++ b/man/systemd.net-naming-scheme.xml @@ -592,6 +592,21 @@ + + + rhel-9.5 + + Never generate a slot name when a PCI bridge is detected. + + Since version "rhel-9.0", we have generated slot-based names + for PCI multifunction devices, because we assumed that it is enough to use function numbers + to distinguish between devices. However, name conflict can occur if these devices are not + children of the same PCI bridge, e.g. there are multiple PCI bridges in the same slot. + + + + + diff --git a/src/shared/netif-naming-scheme.c b/src/shared/netif-naming-scheme.c index e4d4c0ba88..149794e926 100644 --- a/src/shared/netif-naming-scheme.c +++ b/src/shared/netif-naming-scheme.c @@ -40,6 +40,7 @@ static const NamingScheme naming_schemes[] = { { "rhel-9.2", NAMING_RHEL_9_2 }, { "rhel-9.3", NAMING_RHEL_9_3 }, { "rhel-9.4", NAMING_RHEL_9_4 }, + { "rhel-9.5", NAMING_RHEL_9_5 }, { "rhel-10.0", NAMING_RHEL_10_0 }, /* … add more schemes here, as the logic to name devices is updated … */ diff --git a/src/shared/netif-naming-scheme.h b/src/shared/netif-naming-scheme.h index b0697c141e..a55bb0b1cb 100644 --- a/src/shared/netif-naming-scheme.h +++ b/src/shared/netif-naming-scheme.h @@ -80,6 +80,7 @@ typedef enum NamingSchemeFlags { NAMING_RHEL_9_2 = NAMING_RHEL_9_0, NAMING_RHEL_9_3 = NAMING_RHEL_9_0 | NAMING_SR_IOV_R, NAMING_RHEL_9_4 = NAMING_RHEL_9_3, + NAMING_RHEL_9_5 = NAMING_RHEL_9_4 & ~NAMING_BRIDGE_MULTIFUNCTION_SLOT, NAMING_RHEL_10_0 = NAMING_V255,