'\" t .TH "SYSTEMD\&.LINK" "5" "" "systemd 215" "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 /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 /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 /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\&. .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 \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 .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\&. .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)