Skip to content

auto-default: honor ID_NET_AUTO_LINK_LOCAL_ONLY from udev rules

Íñigo Huguet requested to merge ih/env_ll into main

Summary

Systemd has started to add the udev property ID_NET_AUTO_LINK_LOCAL_ONLY to some devices to configure them as link-local only with networkd. Do the same from NM.

Also, check for this and NM_AUTO_DEFAULT_LINK_LOCAL_ONLY properties from nm-device so it can be used by other device types if we add auto-default connections to other than Ethernet devices.

Purpose

This property has the same meaning than ours NM_AUTO_DEFAULT_LINK_LOCAL_ONLY. It is a good idea to check for it because systemd will flag with it a higher number of devices, and we might consider it as the new "standard" at least for systemd based distros. See https://github.com/systemd/systemd/pull/29767.

Maintain NM_AUTO_DEFAULT_LINK_LOCAL_ONLY for compatibility reasons, and give it precedence over the systemd one. It is specific to NM and users could add it to overwrite a systemd's default without having to modify systemd files.

Test the presence of these properties from nm-device, but only if the device class has defined a "new_default_connection" method so the behaviour is identical as the current one, but will be used by future implementors of this method too, if we add any, and not only by Ethernet devices.

Checklist

Please read https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md before opening the merge request. In particular, check that:

  • the subject for all commits is concise and explicative
  • the message for all commits explains the reason for the change
  • the source is properly formatted
  • any relevant documentation is up to date
  • you have added unit tests if applicable

Merge request reports