]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
document ability to disable MACAddressPolicy 1467/head
authorJacob Keller <jacob.keller@gmail.com>
Mon, 5 Oct 2015 21:14:45 +0000 (14:14 -0700)
committerJacob Keller <jacob.keller@gmail.com>
Mon, 5 Oct 2015 22:55:25 +0000 (15:55 -0700)
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 <jacob.keller@gmail.com>
man/systemd.link.xml
src/udev/net/link-config.c
src/udev/net/link-config.h

index b630ef7a17ed7b2eb6c9133e2931a25f7ec3d9cf..1f6a16a7fab2b412551f8087687946f58bfb34c3 100644 (file)
                 <literal>locally administered</literal> bits set.</para>
               </listitem>
             </varlistentry>
+            <varlistentry>
+              <term><literal>none</literal></term>
+              <listitem>
+                <para>Keeps the MAC address assigned by the kernel.</para>
+              </listitem>
+            </varlistentry>
           </variablelist>
         </listitem>
       </varlistentry>
index 63e54db56eba3ba77c4feb36db38cce00ac0f7eb..4b8c5053a4f25f8e7362c09707604723770a8068 100644 (file)
@@ -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);
index 9875057e84705e99d06aac4439b49bb42005d830..c52db2ce5549f044d1daf7ccdcb3d269e6c03c05 100644 (file)
@@ -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;