From: Tom Gundersen Date: Fri, 6 Feb 2015 07:36:17 +0000 (+0100) Subject: udev: net_setup - clarify reason for failure of persistent mac address policy X-Git-Tag: v219~129 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=1c25683e0f40c6169676cc44fa1897082597feec;p=elogind.git udev: net_setup - clarify reason for failure of persistent mac address policy --- diff --git a/man/systemd.link.xml b/man/systemd.link.xml index 2cfe7107f..d5c8b9968 100644 --- a/man/systemd.link.xml +++ b/man/systemd.link.xml @@ -216,7 +216,10 @@ nothing is done. Otherwise, a new MAC address is generated which is guaranteed to be the same on every boot for the given machine and the given device, but - which is otherwise random. + which is otherwise random. This feature depends on ID_NET_NAME_* + properties existing for the link, on hardware where these + properties are not set the generation of a persistent mac address + will fail. diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index ad5b95635..8b3dc45d4 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -438,9 +438,10 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, case MACPOLICY_PERSISTENT: if (mac_is_random(device)) { r = get_mac(device, false, &generated_mac); - if (r == -ENOENT) + if (r == -ENOENT) { + log_warning_errno(r, "Could not generate persistent MAC address for %s: %m", old_name); break; - else if (r < 0) + } else if (r < 0) return r; mac = &generated_mac; } @@ -448,9 +449,10 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, case MACPOLICY_RANDOM: if (!mac_is_random(device)) { r = get_mac(device, true, &generated_mac); - if (r == -ENOENT) + if (r == -ENOENT) { + log_warning_errno(r, "Could not generate random MAC address for %s: %m", old_name); break; - else if (r < 0) + } else if (r < 0) return r; mac = &generated_mac; }