systemd/man/systemd.link.5
2014-07-11 02:23:25 +02:00

276 lines
7.0 KiB
Groff

'\" t
.TH "SYSTEMD\&.LINK" "5" "" "systemd 214" "systemd.link"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
systemd.link \- Network device configuration
.SH "SYNOPSIS"
.PP
\fIlink\fR\&.link
.SH "DESCRIPTION"
.PP
Network link configuration is performed by the
\fBnet_setup_link\fR
udev builtin\&.
.PP
The link files are read from the files located in the system network directory
/usr/lib/systemd/network, the volatile runtime network directory
/run/systemd/network, and the local administration network directory
/etc/systemd/network\&. Link files must have the extension
\&.link; 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
/etc
have the highest priority, files in
/run
take precedence over files with the same name in
/usr/lib\&. This can be used to override a system\-supplied link file with a local file if needed; a symlink in
/etc
with the same name as a link file in
/usr/lib, pointing to
/dev/null, disables the link file entirely\&.
.PP
The link file contains a
"[Match]"
section, which determines if a given link file may be applied to a given device; and a
"[Link]"
section specifying how the device should be configured\&. The first (in lexical order) of the link files that matches a given device is applied\&.
.PP
A link file is said to match a device if each of the entries in the
"[Match]"
section matches, or if the section is empty\&. The following keys are accepted:
.PP
\fIMACAddress=\fR
.RS 4
The hardware address\&.
.RE
.PP
\fIPath=\fR
.RS 4
The persistent path, as exposed by the udev property
"ID_PATH"\&. May contain shell style globs\&.
.RE
.PP
\fIDriver=\fR
.RS 4
The driver currently bound to the device, as exposed by the udev property
"DRIVER"
of its parent device, or if that is not set, the driver as exposed by
"ethtool \-i"
of the device itself\&.
.RE
.PP
\fIType=\fR
.RS 4
The device type, as exposed by the udev property
"DEVTYPE"\&.
.RE
.PP
\fIHost=\fR
.RS 4
Matches against the hostname or machine ID of the host\&. See
"ConditionHost="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
\fIVirtualization=\fR
.RS 4
Checks whether the system is executed in a virtualized environment and optionally test whether it is a specific implementation\&. See
"ConditionVirtualization="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
\fIKernelCommandLine=\fR
.RS 4
Checks whether a specific kernel command line option is set (or if prefixed with the exclamation mark unset)\&. See
"ConditionKernelCommandLine="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
\fIArchitecture=\fR
.RS 4
Checks whether the system is running on a specific architecture\&. See
"ConditionArchitecture="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
The
"[Link]"
section accepts the following keys:
.PP
\fIDescription=\fR
.RS 4
A description of the device\&.
.RE
.PP
\fIAlias=\fR
.RS 4
The
"ifalias"
is set to this value\&.
.RE
.PP
\fIMACAddressPolicy=\fR
.RS 4
The policy by which the MAC address should be set\&. The available policies are:
.PP
"persistent"
.RS 4
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\&.
.RE
.PP
"random"
.RS 4
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\&.
.RE
.RE
.PP
\fIMACAddress=\fR
.RS 4
The MAC address to use, if no
"MACAddressPolicy="
is specified\&.
.RE
.PP
\fINamePolicy=\fR
.RS 4
An ordered, space\-separated list of policies by which the interface name should be set\&.
"NamePolicy"
may be disabled by specifying
"net\&.ifnames=0"
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
"ID_NET_NAME", which is, by default, used by a udev rule to set
"NAME"\&. The available policies are:
.PP
"database"
.RS 4
The name is set based on entries in the udev\*(Aqs Hardware Database with the key
"ID_NET_NAME_FROM_DATABASE"\&.
.RE
.PP
"onboard"
.RS 4
The name is set based on information given by the firmware for on\-board devices, as exported by the udev property
"ID_NET_NAME_ONBOARD"\&.
.RE
.PP
"slot"
.RS 4
The name is set based on information given by the firmware for hot\-plug devices, as exported by the udev property
"ID_NET_NAME_SLOT"\&.
.RE
.PP
"path"
.RS 4
The name is set based on the device\*(Aqs physical location, as exported by the udev property
"ID_NET_NAME_PATH"\&.
.RE
.PP
"mac"
.RS 4
The name is set based on the device\*(Aqs persistent MAC address, as exported by the udev property
"ID_NET_NAME_MAC"\&.
.RE
.RE
.PP
\fIName=\fR
.RS 4
The interface name to use in case all the policies specified in
\fINamePolicy=\fR
fail, or in case
\fINamePolicy=\fR
is missing or disabled\&.
.RE
.PP
\fIMTUBytes=\fR
.RS 4
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\&.
.RE
.PP
\fIBitsPerSecond=\fR
.RS 4
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\&.
.RE
.PP
\fIDuplex=\fR
.RS 4
The duplex mode to set for the device\&. The accepted values are
"half"
and
"full"\&.
.RE
.PP
\fIWakeOnLan=\fR
.RS 4
The Wake\-on\-LAN policy to set for the device\&. The supported values are:
.PP
"phy"
.RS 4
Wake on PHY activity\&.
.RE
.PP
"magic"
.RS 4
Wake on receipt of a magic packet\&.
.RE
.PP
"off"
.RS 4
Never wake\&.
.RE
.RE
.SH "EXAMPLE"
.PP
\fBExample\ \&1.\ \&/etc/systemd/network/wireless.link\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[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
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
\fBsystemd-udevd.service\fR(8),
\fBudevadm\fR(8)