From 66d3752e812915a549ebee01769ee761c1495667 Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Mon, 5 Oct 2015 14:14:45 -0700 Subject: [PATCH] document ability to disable MACAddressPolicy While it is currently possible to either not set MACAddressPolicy or set it to a value different from "persistent" or "random", it is not obvious that a user can do so. Add a policy, "none", which simply retains kernel MAC addresses (same as not filling in the policy at all) and document it so that users are aware of this setting. Signed-off-by: Jacob Keller --- man/systemd.link.xml | 6 ++++++ src/udev/net/link-config.c | 4 +++- src/udev/net/link-config.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/man/systemd.link.xml b/man/systemd.link.xml index b630ef7..1f6a16a 100644 --- a/man/systemd.link.xml +++ b/man/systemd.link.xml @@ -233,6 +233,12 @@ locally administered bits set. + + none + + Keeps the MAC address assigned by the kernel. + + diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index 63e54db..4b8c505 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -460,6 +460,7 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, mac = &generated_mac; } break; + case MACPOLICY_NONE: default: mac = config->mac; } @@ -492,7 +493,8 @@ int link_get_driver(link_config_ctx *ctx, struct udev_device *device, char **ret static const char* const mac_policy_table[_MACPOLICY_MAX] = { [MACPOLICY_PERSISTENT] = "persistent", - [MACPOLICY_RANDOM] = "random" + [MACPOLICY_RANDOM] = "random", + [MACPOLICY_NONE] = "none" }; DEFINE_STRING_TABLE_LOOKUP(mac_policy, MACPolicy); diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h index 9875057..c52db2c 100644 --- a/src/udev/net/link-config.h +++ b/src/udev/net/link-config.h @@ -32,6 +32,7 @@ typedef struct link_config link_config; typedef enum MACPolicy { MACPOLICY_PERSISTENT, MACPOLICY_RANDOM, + MACPOLICY_NONE, _MACPOLICY_MAX, _MACPOLICY_INVALID = -1 } MACPolicy; -- 2.7.4