]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: say that .link NamePolicy= should be empty for Name= to take effect
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 8 Apr 2019 06:59:45 +0000 (08:59 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 8 Apr 2019 13:34:40 +0000 (15:34 +0200)
The description of NamePolicy= implied this, but didn't spell it out. It's a
very common use case, so let's add a bit of explanation and ehance the example
a bit.

Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1695894.

man/systemd.link.xml

index 7594c4996e997ecb812ab775bd1d9d3788376b8f..41e62ca05399afde6418049607cb12aa3fa8b232 100644 (file)
         <listitem>
           <para>An ordered, space-separated list of policies by which the interface name should be set.
           <varname>NamePolicy=</varname> may be disabled by specifying <option>net.ifnames=0</option> on the
-          kernel command line.  Each of the policies may fail, and the first successful one is used. The name
+          kernel command line. Each of the policies may fail, and the first successful one is used. The name
           is not set directly, but is exported to udev as the property <option>ID_NET_NAME</option>, which
-          is, by default, used by a udev rule to set <varname>NAME</varname>. The available policies are:
+          is, by default, used by a
+          <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+          rule to set <varname>NAME</varname>. The available policies are:
           </para>
 
           <variablelist>
       <varlistentry>
         <term><varname>Name=</varname></term>
         <listitem>
-          <para>The interface name to use in case all the
-          policies specified in
-          <varname>NamePolicy=</varname> fail, or in case
-          <varname>NamePolicy=</varname> is missing or
-          disabled.</para>
+          <para>The interface name to use. This option has lower precedence than
+          <varname>NamePolicy=</varname>, so for this setting to take effect, <varname>NamePolicy=</varname>
+          must either be unset, empty, disabled, or all policies configured there must fail. Also see the
+          example below with <literal>Name=dmz0</literal>.</para>
 
           <para>Note that specifying a name that the kernel might use for another
           interface (for example <literal>eth0</literal>) is dangerous because the
@@ -618,8 +619,7 @@ MACAddressPolicy=persistent</programlisting>
     <example>
       <title>/etc/systemd/network/10-dmz.link</title>
 
-      <para>This example assigns the fixed name
-      <literal>dmz0</literal> to the interface with the MAC address
+      <para>This example assigns the fixed name <literal>dmz0</literal> to the interface with the MAC address
       00:a0:de:63:7a:e6:</para>
 
       <programlisting>[Match]
@@ -627,6 +627,11 @@ MACAddress=00:a0:de:63:7a:e6
 
 [Link]
 Name=dmz0</programlisting>
+
+      <para><varname>NamePolicy=</varname> is not set, so <varname>Name=</varname> takes effect.
+      We use the <literal>10-</literal> prefix to order this file early in the list. Note that it
+      needs to before <literal>10-</literal>, i.e. it needs a numerical prefix, to have any effect
+      at all.</para>
     </example>
 
     <example>