]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Revert "network: add "mac" to alternatives name policy by default" (#33227)
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 6 Jun 2024 16:35:46 +0000 (18:35 +0200)
committerGitHub <noreply@github.com>
Thu, 6 Jun 2024 16:35:46 +0000 (17:35 +0100)
This reverts commit 0f5a529217f1327f020ab54deed09e6fae1f1fef.

As discussed in https://github.com/systemd/systemd/issues/33104,
that patch caused problems in Debian which has a udev drop-in with

  [Match]
  Path=*-usb-*

  [Link]
  NamePolicy=mac

The rename fails:
   eth0: Policy *mac* yields "enx00*".
   eth0: /usr/lib/udev/rules.d/80-net-setup-link.rules:11 NAME 'enx00*'
   eth0: /usr/lib/udev/rules.d/99-systemd.rules:69 RUN '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$
   eth0: sd-device: Created database file '/run/udev/data/n9' for '/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:01.0/0000:05:00.0/0000:
   eth0: Failed to rename network interface 9 from 'eth0' to 'enx00*': File exists
   eth0: sd-device: Created database file '/run/udev/data/n9' for '/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:01.0/0000:05:00.0/0000:
   eth0: Failed to process device, ignoring: File exists

Two network interfaces have the same MAC and it's not marked NET_ADDR_STOLEN.
In this case the conflict is very visible because it causes the rename to fail,
but it would also occur in other cases, for alternative names.

A patch has been submitted for r8152 to properly set NET_ADDR_STOLEN:
https://lore.kernel.org/linux-usb/20240605153340.25694-1-gmazyland@gmail.com/T/#u

Let's revert this now to avoid a regression. We can try again after the kernel
issue is resolved.

Closes https://github.com/systemd/systemd/issues/33104.

network/99-default.link

index 083dca48c9bc41087198a8a19a7281fa3a2dfccf..56030b62be17bec62ff3b34475e8489438b1a8cd 100644 (file)
@@ -11,5 +11,5 @@ OriginalName=*
 
 [Link]
 NamePolicy=keep kernel database onboard slot path
-AlternativeNamesPolicy=database onboard slot path mac
+AlternativeNamesPolicy=database onboard slot path
 MACAddressPolicy=persistent