mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
Revert "Always rename an interface to its name specified in config if no NamePolicy= is specified"
This reverts commit55b6530baa
. This commit description says "Always rename an interface to its name specified in config if no NamePolicy= is specified", but it does much more: 1. It completely changes the meaning of NamePolicy=kernel. Before, it meant that an interface with type==NAMEPOLICY_KERNEL would not be renamed. After, the kernel name only works as a fallback, if no policy matches. 2. The "if no NamePolicy= is specified" part is not true at all, the interface will be renamed according to the specified NamePolicy=. After55b6530baa
, the should_rename() function is named very misleadingly: it is only used to mean "respect kernel predictable name if no naming policy matches". Let's revert, and start with a clean slate. This fixes #11436.
This commit is contained in:
parent
850115b3a1
commit
ed30802324
@ -310,11 +310,16 @@ static bool should_rename(sd_device *device, bool respect_predictable) {
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
case NET_NAME_USER:
|
||||||
|
case NET_NAME_RENAMED:
|
||||||
|
/* these were already named by userspace, do not touch again */
|
||||||
|
return false;
|
||||||
case NET_NAME_PREDICTABLE:
|
case NET_NAME_PREDICTABLE:
|
||||||
/* the kernel claims to have given a predictable name */
|
/* the kernel claims to have given a predictable name */
|
||||||
if (respect_predictable)
|
if (respect_predictable)
|
||||||
return false;
|
return false;
|
||||||
_fallthrough_;
|
_fallthrough_;
|
||||||
|
case NET_NAME_ENUM:
|
||||||
default:
|
default:
|
||||||
/* the name is known to be bad, or of an unknown type */
|
/* the name is known to be bad, or of an unknown type */
|
||||||
return true;
|
return true;
|
||||||
@ -435,8 +440,12 @@ int link_config_apply(link_config_ctx *ctx, link_config *config,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!new_name && should_rename(device, respect_predictable))
|
if (should_rename(device, respect_predictable)) {
|
||||||
new_name = config->name;
|
/* if not set by policy, fall back manually set name */
|
||||||
|
if (!new_name)
|
||||||
|
new_name = config->name;
|
||||||
|
} else
|
||||||
|
new_name = NULL;
|
||||||
|
|
||||||
switch (config->mac_policy) {
|
switch (config->mac_policy) {
|
||||||
case MACPOLICY_PERSISTENT:
|
case MACPOLICY_PERSISTENT:
|
||||||
|
Loading…
Reference in New Issue
Block a user