mirror of
https://git.proxmox.com/git/systemd
synced 2025-05-29 13:52:54 +00:00
294 lines
8.1 KiB
Groff
294 lines
8.1 KiB
Groff
'\" t
|
|
.TH "SYSTEMD\&.LINK" "5" "" "systemd 219" "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, as well as 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\&. Note that a default file
|
|
99\-default\&.link
|
|
is shipped by the system, any user\-supplied
|
|
\&.link
|
|
should hence have a lexically earlier name to be considered at all\&.
|
|
.SH "[MATCH] SECTION OPTIONS"
|
|
.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
|
|
\fIOriginalName=\fR
|
|
.RS 4
|
|
A whitespace\-separated list of shell\-style globs matching the device name, as exposed by the udev property "INTERFACE"\&. This can not be used to match on names that have already been changed from userspace\&. Caution is advised when matching on kernel\-assigned names, as they are known to be unstable between reboots\&.
|
|
.RE
|
|
.PP
|
|
\fIPath=\fR
|
|
.RS 4
|
|
A whitespace\-separated list of shell\-style globs matching the persistent path, as exposed by the udev property
|
|
"ID_PATH"\&.
|
|
.RE
|
|
.PP
|
|
\fIDriver=\fR
|
|
.RS 4
|
|
A whitespace\-separated list of shell\-style globs matching 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
|
|
A whitespace\-separated list of shell\-style globs matching 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
|
|
.SH "[LINK] SECTION OPTIONS"
|
|
.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\&. This feature depends on ID_NET_NAME_* properties existing for the link, on hardware where these properties are not set the generation of a persistent MAC address will fail\&.
|
|
.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 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
|
|
"ID_NET_NAME", which is, by default, used by a udev rule to set
|
|
"NAME"\&. If the name has already been set by userspace, no renaming is performed\&. The available policies are:
|
|
.PP
|
|
"kernel"
|
|
.RS 4
|
|
If the kernel claims that the name it has set for a device is predictable, then no renaming is performed\&.
|
|
.RE
|
|
.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),
|
|
\fBsystemd.netdev\fR(5),
|
|
\fBsystemd.network\fR(5)
|