mirror of
https://git.proxmox.com/git/systemd
synced 2026-01-21 12:36:02 +00:00
138 lines
18 KiB
HTML
138 lines
18 KiB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.link</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
|
||
a.headerlink {
|
||
color: #c60f0f;
|
||
font-size: 0.8em;
|
||
padding: 0 4px 0 4px;
|
||
text-decoration: none;
|
||
visibility: hidden;
|
||
}
|
||
|
||
a.headerlink:hover {
|
||
background-color: #c60f0f;
|
||
color: white;
|
||
}
|
||
|
||
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
|
||
visibility: visible;
|
||
}
|
||
</style><a href="index.html">Index </a>·
|
||
<a href="systemd.directives.html">Directives </a>·
|
||
<a href="../python-systemd/index.html">Python </a>·
|
||
<a href="../libudev/index.html">libudev </a>·
|
||
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="systemd.link"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.link — Network device configuration</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename"><em class="replaceable"><code>link</code></em>.link</code></p></div><div class="refsect1"><a name="idm214174005280"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>Network link configuration is performed by the <span class="command"><strong>net_setup_link</strong></span>
|
||
udev builtin.</p><p>The link files are read from the files located in the
|
||
system network directory <code class="filename">/usr/lib/systemd/network</code>,
|
||
the volatile runtime network directory <code class="filename">/run/systemd/network</code>,
|
||
and the local administration network directory <code class="filename">/etc/systemd/network</code>.
|
||
Link files must have the extension <code class="filename">.link</code>; other extensions are ignored.
|
||
All link files are collectively sorted and processed in lexical order,
|
||
regardless of the directories in which they live. However, files with
|
||
identical filenames replace each other. Files in <code class="filename">/etc</code>
|
||
have the highest priority, files in <code class="filename">/run</code> take precedence
|
||
over files with the same name in <code class="filename">/usr/lib</code>. This can be
|
||
used to override a system-supplied link file with a local file if needed;
|
||
a symlink in <code class="filename">/etc</code> with the same name as a link file in
|
||
<code class="filename">/usr/lib</code>, pointing to <code class="filename">/dev/null</code>,
|
||
disables the link file entirely.</p><p>The link file contains a "<code class="literal">[Match]</code>" section, which
|
||
determines if a given link file may be applied to a given device; and a
|
||
"<code class="literal">[Link]</code>" section specifying how the device should be
|
||
configured. The first (in lexical order) of the link files that matches
|
||
a given device is applied.</p><p>A link file is said to match a device if each of the entries in the
|
||
"<code class="literal">[Match]</code>" section matches, or if the section is empty.
|
||
The following keys are accepted:</p><div class="variablelist"><dl class="variablelist"><dt id="MACAddress="><span class="term"><code class="varname">MACAddress=</code></span><a class="headerlink" title="Permalink to this term" href="#MACAddress=">¶</a></dt><dd><p>The hardware address.</p></dd><dt id="Path="><span class="term"><code class="varname">Path=</code></span><a class="headerlink" title="Permalink to this term" href="#Path=">¶</a></dt><dd><p>The persistent path, as exposed by the
|
||
udev property "<code class="literal">ID_PATH</code>". May
|
||
contain shell style globs.</p></dd><dt id="Driver="><span class="term"><code class="varname">Driver=</code></span><a class="headerlink" title="Permalink to this term" href="#Driver=">¶</a></dt><dd><p>The driver currently bound to the device,
|
||
as exposed by the udev property "<code class="literal">DRIVER</code>"
|
||
of its parent device, or if that is not set, the
|
||
driver as exposed by "<code class="literal">ethtool -i</code>"
|
||
of the device itself.</p></dd><dt id="Type="><span class="term"><code class="varname">Type=</code></span><a class="headerlink" title="Permalink to this term" href="#Type=">¶</a></dt><dd><p>The device type, as exposed by the udev
|
||
property "<code class="literal">DEVTYPE</code>".</p></dd><dt id="Host="><span class="term"><code class="varname">Host=</code></span><a class="headerlink" title="Permalink to this term" href="#Host=">¶</a></dt><dd><p>Matches against the hostname or machine
|
||
ID of the host. See "<code class="literal">ConditionHost=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.</p></dd><dt id="Virtualization="><span class="term"><code class="varname">Virtualization=</code></span><a class="headerlink" title="Permalink to this term" href="#Virtualization=">¶</a></dt><dd><p>Checks whether the system is executed in
|
||
a virtualized environment and optionally test
|
||
whether it is a specific implementation. See
|
||
"<code class="literal">ConditionVirtualization=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.</p></dd><dt id="KernelCommandLine="><span class="term"><code class="varname">KernelCommandLine=</code></span><a class="headerlink" title="Permalink to this term" href="#KernelCommandLine=">¶</a></dt><dd><p>Checks whether a specific kernel command
|
||
line option is set (or if prefixed with the
|
||
exclamation mark unset). See
|
||
"<code class="literal">ConditionKernelCommandLine=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.</p></dd><dt id="Architecture="><span class="term"><code class="varname">Architecture=</code></span><a class="headerlink" title="Permalink to this term" href="#Architecture=">¶</a></dt><dd><p>Checks whether the system is running on a
|
||
specific architecture. See
|
||
"<code class="literal">ConditionArchitecture=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.</p></dd></dl></div><p>The "<code class="literal">[Link]</code>" section accepts the following
|
||
keys:</p><div class="variablelist"><dl class="variablelist"><dt id="Description="><span class="term"><code class="varname">Description=</code></span><a class="headerlink" title="Permalink to this term" href="#Description=">¶</a></dt><dd><p>A description of the device.</p></dd><dt id="Alias="><span class="term"><code class="varname">Alias=</code></span><a class="headerlink" title="Permalink to this term" href="#Alias=">¶</a></dt><dd><p>The "<code class="literal">ifalias</code>" is set to
|
||
this value.</p></dd><dt id="MACAddressPolicy="><span class="term"><code class="varname">MACAddressPolicy=</code></span><a class="headerlink" title="Permalink to this term" href="#MACAddressPolicy=">¶</a></dt><dd><p>The policy by which the MAC address
|
||
should be set. The available policies are:
|
||
</p><div class="variablelist"><dl class="variablelist"><dt id="persistent"><span class="term">"<code class="literal">persistent</code>"</span><a class="headerlink" title="Permalink to this term" href="#persistent">¶</a></dt><dd><p>If the hardware has a persistent
|
||
MAC address, as most hardware should,
|
||
and if it is used by the kernel, nothing
|
||
is done. Otherwise, a new MAC address
|
||
is generated which is guaranteed to be
|
||
the same on every boot for the given
|
||
machine and the given device, but which
|
||
is otherwise random.</p></dd><dt id="random"><span class="term">"<code class="literal">random</code>"</span><a class="headerlink" title="Permalink to this term" href="#random">¶</a></dt><dd><p>If the kernel is using a random MAC
|
||
address, nothing is done. Otherwise, a new
|
||
address is randomly generated each time the
|
||
device appears, typically at boot.</p></dd></dl></div></dd><dt id="MACAddress="><span class="term"><code class="varname">MACAddress=</code></span><a class="headerlink" title="Permalink to this term" href="#MACAddress=">¶</a></dt><dd><p>The MAC address to use, if no
|
||
"<code class="literal">MACAddressPolicy=</code>"
|
||
is specified.</p></dd><dt id="NamePolicy="><span class="term"><code class="varname">NamePolicy=</code></span><a class="headerlink" title="Permalink to this term" href="#NamePolicy=">¶</a></dt><dd><p>An ordered, space-separated list of
|
||
policies by which the interface name should
|
||
be set. "<code class="literal">NamePolicy</code>" may be
|
||
disabled by specifying
|
||
"<code class="literal">net.ifnames=0</code>" on the kernel
|
||
commandline. 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 "<code class="literal">ID_NET_NAME</code>",
|
||
which is, by default, used by a udev rule to set
|
||
"<code class="literal">NAME</code>". The available policies
|
||
are:</p><div class="variablelist"><dl class="variablelist"><dt id="database"><span class="term">"<code class="literal">database</code>"</span><a class="headerlink" title="Permalink to this term" href="#database">¶</a></dt><dd><p>The name is set based on entries in
|
||
the udev's Hardware Database with the key
|
||
"<code class="literal">ID_NET_NAME_FROM_DATABASE</code>".
|
||
</p></dd><dt id="onboard"><span class="term">"<code class="literal">onboard</code>"</span><a class="headerlink" title="Permalink to this term" href="#onboard">¶</a></dt><dd><p>The name is set based on information given by
|
||
the firmware for on-board devices, as exported by
|
||
the udev property "<code class="literal">ID_NET_NAME_ONBOARD</code>".
|
||
</p></dd><dt id="slot"><span class="term">"<code class="literal">slot</code>"</span><a class="headerlink" title="Permalink to this term" href="#slot">¶</a></dt><dd><p>The name is set based on information given by
|
||
the firmware for hot-plug devices, as exported by
|
||
the udev property "<code class="literal">ID_NET_NAME_SLOT</code>".
|
||
</p></dd><dt id="path"><span class="term">"<code class="literal">path</code>"</span><a class="headerlink" title="Permalink to this term" href="#path">¶</a></dt><dd><p>The name is set based on the device's physical
|
||
location, as exported by the udev property
|
||
"<code class="literal">ID_NET_NAME_PATH</code>".</p></dd><dt id="mac"><span class="term">"<code class="literal">mac</code>"</span><a class="headerlink" title="Permalink to this term" href="#mac">¶</a></dt><dd><p>The name is set based on the device's
|
||
persistent MAC address, as exported by the udev
|
||
property "<code class="literal">ID_NET_NAME_MAC</code>".</p></dd></dl></div></dd><dt id="Name="><span class="term"><code class="varname">Name=</code></span><a class="headerlink" title="Permalink to this term" href="#Name=">¶</a></dt><dd><p>The interface name to use in case all the
|
||
policies specified in
|
||
<code class="varname">NamePolicy=</code> fail, or in case
|
||
<code class="varname">NamePolicy=</code> is missing or
|
||
disabled.</p></dd><dt id="MTUBytes="><span class="term"><code class="varname">MTUBytes=</code></span><a class="headerlink" title="Permalink to this term" href="#MTUBytes=">¶</a></dt><dd><p>The maximum transmission unit in bytes to
|
||
set for the device. The usual suffixes K, M, G,
|
||
are supported and are understood to the base of
|
||
1024.</p></dd><dt id="BitsPerSecond="><span class="term"><code class="varname">BitsPerSecond=</code></span><a class="headerlink" title="Permalink to this term" href="#BitsPerSecond=">¶</a></dt><dd><p>The speed to set for the device, the
|
||
value is rounded down to the nearest Mbps.
|
||
The usual suffixes K, M, G, are supported and
|
||
are understood to the base of 1000.</p></dd><dt id="Duplex="><span class="term"><code class="varname">Duplex=</code></span><a class="headerlink" title="Permalink to this term" href="#Duplex=">¶</a></dt><dd><p>The duplex mode to set for the device.
|
||
The accepted values are "<code class="literal">half</code>"
|
||
and "<code class="literal">full</code>".</p></dd><dt id="WakeOnLan="><span class="term"><code class="varname">WakeOnLan=</code></span><a class="headerlink" title="Permalink to this term" href="#WakeOnLan=">¶</a></dt><dd><p>The Wake-on-LAN policy to set for the
|
||
device. The supported values are:</p><div class="variablelist"><dl class="variablelist"><dt id="phy"><span class="term">"<code class="literal">phy</code>"</span><a class="headerlink" title="Permalink to this term" href="#phy">¶</a></dt><dd><p>Wake on PHY activity.</p></dd><dt id="magic"><span class="term">"<code class="literal">magic</code>"</span><a class="headerlink" title="Permalink to this term" href="#magic">¶</a></dt><dd><p>Wake on receipt of a magic packet.
|
||
</p></dd><dt id="off"><span class="term">"<code class="literal">off</code>"</span><a class="headerlink" title="Permalink to this term" href="#off">¶</a></dt><dd><p>Never wake.</p></dd></dl></div></dd></dl></div></div><div class="refsect1"><a name="idm214169472160"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example">¶</a></h2><div class="example"><a name="idm214169471520"></a><p class="title"><b>Example 1. /etc/systemd/network/wireless.link</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
MACAddress=12:34:56:78:9a:bc
|
||
Driver=brcmsmac
|
||
Path=pci-0000:02:00.0-*
|
||
Type=wlan
|
||
Virtualization=no
|
||
Host=my-laptop
|
||
Architecture=x86-64
|
||
|
||
[Link]
|
||
Name=wireless0
|
||
MTUBytes=1450
|
||
BitsPerSecond=10M
|
||
WakeOnLan=magic
|
||
MACAddress=cb:a9:87:65:43:21</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214169469744"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
|
||
<a href="systemd-udevd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-udevd.service</span>(8)</span></a>,
|
||
<a href="udevadm.html"><span class="citerefentry"><span class="refentrytitle">udevadm</span>(8)</span></a>
|
||
</p></div></div></body></html>
|