1
0
mirror of https://github.com/systemd/systemd synced 2024-07-09 04:26:06 +00:00
Commit Graph

14 Commits

Author SHA1 Message Date
Yu Watanabe
b90eda90ae Reapply "network: add "mac" to alternatives name policy by default"
This reverts commit 152c8946b3.

The kernel patch
https://lore.kernel.org/linux-usb/20240605153340.25694-1-gmazyland@gmail.com/
is now in net-next branch, and will be hopefully merged soon.

Note that Debian's 73-usb-net-by-mac.link now also supports the kernel patch:
c1afbb2dc2

So, hopefully, the change is ready. Let's reapply it.
2024-06-12 18:05:09 +02:00
Zbigniew Jędrzejewski-Szmek
152c8946b3
Revert "network: add "mac" to alternatives name policy by default" (#33227)
This reverts commit 0f5a529217.

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.
2024-06-06 17:35:46 +01:00
Mike Yuan
66ec03061a
network: suggest using "networkctl edit" instead of copying manually 2024-04-23 20:02:19 +08:00
Lennart Poettering
0f5a529217 network: add "mac" to alternatives name policy by default
Alternative names are basically free, hence add "mac" there too, to make
it easier to see what names could be used as primary options too.
2024-04-22 22:44:20 +02:00
Zbigniew Jędrzejewski-Szmek
3fe96b6c32 network: change license of examples to MIT-0
Arguably, CC0 is just fine for examples since they are not code. But it's
easier to be consistent and just use MIT-0 for all "documentation". Thus,
the license is changed similarly code examples under man/.

Based on 'git shortlog -ns network/*' and 'git log -p', the following folks
should ack this:
  Zbigniew Jędrzejewski-Szmek
  Lennart Poettering
  Tom Gundersen
  Yu Watanabe
  Daan De Meyer
  Marc-André Lureau
2022-10-26 08:39:34 +02:00
Zbigniew Jędrzejewski-Szmek
418e1f2892 network: license all config files as CC0
Same justification as the previous commit.

$ for i in network/*-*; do git blame $i;done | less
shows that those files were written by Tom Gundersen, Lennart Poettering, Yu
Watanabe, me, and Marc-André Lureau.
2022-01-12 16:05:59 +01:00
Yu Watanabe
db9ecf0501 license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
Yu Watanabe
49f5cbe924 network: set AlternativeNamesPolicy= in 99-default.link 2019-12-17 15:44:48 +09:00
Yu Watanabe
84ea567eb4 udev,network: warn when .link or .network file has no [Match] section
Closes #12098.
2019-04-25 08:41:10 +02:00
Zbigniew Jędrzejewski-Szmek
3907446f02 link-config: add "keep" policy and use it by default
If "keep" policy is specified, and the interface has a name that is
NET_NAME_USER or NET_NAME_RENAMED, we stop processing rules. "keep" should
probably be specified either first or last depending on the preference.

This partially reimplements 55b6530baa, in the
sense that if the "keep" policy is not specified, and if the interface has
a NamingPolicy, it will be renamed, even if it had a name previously.
So this breaks backwards compatibility in this case, but that's more in line
with what users expect.

Closes #9006.
2019-01-17 13:56:02 +01:00
Zbigniew Jędrzejewski-Szmek
d9215cd838 Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
Tom Gundersen
04b67d4925 udev: link_setup - respect kernel name assign policy
Newer kernels export meta-information about the origin of an ifname. Respect this
from the ifname rename logic. We do not rename any interfaces that was originally
named by userspace, nor once which have already been renamed from userspace.

Moreover, we optionally do not (the default) rename interfaces which the kernel
claims to have named in a predictable way.
2014-08-08 13:30:15 +02:00
Tom Gundersen
e51660ae56 udev: net-config - allow interface names to be set from the hwdb 2014-02-19 23:29:51 +01:00
Tom Gundersen
9dc670ea76 network: move configuration to /etc/systemd/network
This is private configuraiton, so let's not pollute the namespace (and hence make Debian happy :) ).
2013-10-29 14:17:57 +01:00