1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

man: clean up naming scheme description a bit

This is in preparation for later changes.  Let's change the documentation of
net.naming-scheme= to also say that it applies to MAC addresses. This commit
doesn't actually implement that though.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2019-06-17 09:21:57 +02:00
parent 4b381a9ef6
commit 2ebe027b44
2 changed files with 30 additions and 29 deletions

View File

@ -22,29 +22,30 @@
<refsect1> <refsect1>
<title>Description</title> <title>Description</title>
<para>Network interfaces may be renamed to give them predictable names when there's enough information to <para>Network interfaces names and MAC addresses may be generated based on certain stable interface
generate appropriate names and the use of certain types of names is configured. This page describes the attributes. This is possible when there is enough information about the device to generate those
first part, i.e. what possible names may be generated. Those names are generated by the attributes and the use of this information is configured. This page describes interface naming, i.e. what
possible names may be generated. Those names are generated by the
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
builtin <command>net_id</command> and exported as udev properties builtin <command>net_id</command> and exported as udev properties
(<varname>ID_NET_NAME_ONBOARD=</varname>, <varname>ID_NET_LABEL_ONBOARD=</varname>, (<varname>ID_NET_NAME_ONBOARD=</varname>, <varname>ID_NET_LABEL_ONBOARD=</varname>,
<varname>ID_NET_NAME_PATH=</varname>, <varname>ID_NET_NAME_SLOT=</varname>).</para> <varname>ID_NET_NAME_PATH=</varname>, <varname>ID_NET_NAME_SLOT=</varname>).</para>
<para>Names are derived from various device metadata attributes. Newer versions of udev take more of <para>Names and MAC addresses are derived from various stable device metadata attributes. Newer versions
these attributes into account, improving (and thus possibly changing) the names used for the same of udev take more of these attributes into account, improving (and thus possibly changing) the names and
devices. Differents version of the naming rules are called "naming schemes". The default naming scheme is addresses used for the same devices. Different versions of those generation rules are called "naming
chosen at compilation time. Usually this will be the latest implemented version, but it is also possible schemes". The default naming scheme is chosen at compilation time. Usually this will be the latest
to set one of the older versions to preserve compatibility. This may be useful for example for implemented version, but it is also possible to set one of the older versions to preserve
distributions, which may introduce new versions of systemd in stable releases without changing the naming compatibility. This may be useful for example for distributions, which may introduce new versions of
scheme. The naming scheme may also be overriden using the <varname>net.naming-scheme=</varname> kernel systemd in stable releases without changing the naming scheme. The naming scheme may also be overriden
command line switch, see using the <varname>net.naming-scheme=</varname> kernel command line switch, see
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
Available naming schemes are described below.</para> Available naming schemes are described below.</para>
<para>After the udev proprties have been generated, appropriate udev rules may be used to actually rename <para>After the udev proprties have been generated, appropriate udev rules may be used to actually rename
devices based on those properties. See the description of <varname>NamePolicy=</varname> in devices based on those properties. See the description of <varname>NamePolicy=</varname> and
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>. <varname>MACAddressPolicy=</varname> in
</para> <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
</refsect1> </refsect1>
<refsect1> <refsect1>
@ -288,7 +289,7 @@
<varlistentry> <varlistentry>
<term><constant>v240</constant></term> <term><constant>v240</constant></term>
<para>The <literal>ib</literal> prefix and stable names for infiniband devices are <listitem><para>The <literal>ib</literal> prefix and stable names for infiniband devices are
introduced. Previously those devices were not renamed.</para> introduced. Previously those devices were not renamed.</para>
<para>The ACPI index field (used in <varname>ID_NET_NAME_ONBOARD=</varname>) is now also used when <para>The ACPI index field (used in <varname>ID_NET_NAME_ONBOARD=</varname>) is now also used when
@ -301,22 +302,22 @@
configuration, even if they have been renamed already, if <constant>keep</constant> is not configuration, even if they have been renamed already, if <constant>keep</constant> is not
specified as the naming policy in the <filename noindex='true'>.link</filename> file. See specified as the naming policy in the <filename noindex='true'>.link</filename> file. See
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry> <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for a description of <varname>NamePolicy=</varname>.</para> for a description of <varname>NamePolicy=</varname>.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><constant>v243</constant></term> <term><constant>v243</constant></term>
<para>Support for netdevsim (simulated networking devices) was added. Previously those devices were <listitem><para>Support for renaming netdevsim (simulated networking) devices was added. Previously
not renamed.</para> those devices were not renamed.</para>
<para>Previously two-letter interface type prefix was prepended to <para>Previously two-letter interface type prefix was prepended to
<varname>ID_NET_LABEL_ONBOARD=</varname>. This is not done anymore.</para> <varname>ID_NET_LABEL_ONBOARD=</varname>. This is not done anymore.</para></listitem>
</varlistentry> </varlistentry>
</variablelist>
<para>Note that <constant>latest</constant> may be used to denote the latest scheme known (to this <para>Note that <constant>latest</constant> may be used to denote the latest scheme known (to this
particular version of systemd.</para> particular version of systemd.</para>
</variablelist>
</refsect1> </refsect1>
<refsect1> <refsect1>

View File

@ -22,12 +22,12 @@
* OS versions, but not fully stabilize them. */ * OS versions, but not fully stabilize them. */
typedef enum NamingSchemeFlags { typedef enum NamingSchemeFlags {
/* First, the individual features */ /* First, the individual features */
NAMING_SR_IOV_V = 1 << 0, /* Use "v" suffix for SR-IOV, see 609948c7043a40008b8299529c978ed8e11de8f6*/ NAMING_SR_IOV_V = 1 << 0, /* Use "v" suffix for SR-IOV, see 609948c7043a */
NAMING_NPAR_ARI = 1 << 1, /* Use NPAR "ARI", see 6bc04997b6eab35d1cb9fa73889892702c27be09 */ NAMING_NPAR_ARI = 1 << 1, /* Use NPAR "ARI", see 6bc04997b6ea */
NAMING_INFINIBAND = 1 << 2, /* Use "ib" prefix for infiniband, see 938d30aa98df887797c9e05074a562ddacdcdf5e */ NAMING_INFINIBAND = 1 << 2, /* Use "ib" prefix for infiniband, see 938d30aa98df */
NAMING_ZERO_ACPI_INDEX = 1 << 3, /* Use zero acpi_index field, see d81186ef4f6a888a70f20a1e73a812d6acb9e22f */ NAMING_ZERO_ACPI_INDEX = 1 << 3, /* Use zero acpi_index field, see d81186ef4f6a */
NAMING_ALLOW_RERENAMES = 1 << 4, /* Allow re-renaming of devices, see #9006 */ NAMING_ALLOW_RERENAMES = 1 << 4, /* Allow re-renaming of devices, see #9006 */
NAMING_NETDEVSIM = 1 << 5, /* Generate names for netdevsim devices, see eaa9d507d85509c8bf727356e3884ec54b0fc646 */ NAMING_NETDEVSIM = 1 << 5, /* Generate names for netdevsim devices, see eaa9d507d855 */
NAMING_LABEL_NOPREFIX = 1 << 6, /* Don't prepend ID_NET_LABEL_ONBOARD with interface type prefix */ NAMING_LABEL_NOPREFIX = 1 << 6, /* Don't prepend ID_NET_LABEL_ONBOARD with interface type prefix */
/* And now the masks that combine the features above */ /* And now the masks that combine the features above */