From: Tom Gundersen Date: Tue, 25 Feb 2014 15:56:15 +0000 (+0100) Subject: man: split out systemd.link(5) from udev(7) X-Git-Tag: v211~209 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=1ff28eaee33d9d0cee46bd176b6d6f8805c95036 man: split out systemd.link(5) from udev(7) --- diff --git a/Makefile-man.am b/Makefile-man.am index aad3f444d..cb6ed94ed 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -100,6 +100,7 @@ MANPAGES += \ man/systemd.time.7 \ man/systemd.timer.5 \ man/systemd.unit.5 \ + man/systemd.link.5 \ man/telinit.8 \ man/tmpfiles.d.5 \ man/udev.7 \ @@ -1467,6 +1468,7 @@ EXTRA_DIST += \ man/systemd.time.xml \ man/systemd.timer.xml \ man/systemd.unit.xml \ + man/systemd.link.xml \ man/systemd.xml \ man/telinit.xml \ man/timedatectl.xml \ diff --git a/man/systemd-networkd.service.xml b/man/systemd-networkd.service.xml index df5ca3640..758583223 100644 --- a/man/systemd-networkd.service.xml +++ b/man/systemd-networkd.service.xml @@ -63,7 +63,7 @@ To configure low-level link settings independently of networks, see - udev7 + systemd.link5 . Network configurations applied before networkd is started diff --git a/man/systemd.link.xml b/man/systemd.link.xml new file mode 100644 index 000000000..c1176ba17 --- /dev/null +++ b/man/systemd.link.xml @@ -0,0 +1,383 @@ + + + + + + + + + systemd.link + systemd + + + + Developer + Tom + Gundersen + + + + + + systemd.link + 5 + + + + systemd.link + Network device configuration + + + + link.link + + + + Description + + Network link configuration is performed by the net_setup_link + udev builtin. + + 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. + + 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. + + 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: + + + + MACAddress= + + The hardware address. + + + + Path= + + The persistent path, as exposed by the + udev property ID_PATH. May + contain shell style globs. + + + + Driver= + + 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. + + + + Type= + + The device type, as exposed by the udev + property DEVTYPE. + + + + Host= + + Matches against the hostname or machine + ID of the host. See ConditionHost= in + systemd.unit5 + for details. + + + + Virtualization= + + Checks whether the system is executed in + a virtualized environment and optionally test + whether it is a specific implementation. See + ConditionVirtualization= in + systemd.unit5 + for details. + + + + KernelCommandLine= + + Checks whether a specific kernel command + line option is set (or if prefixed with the + exclamation mark unset). See + ConditionKernelCommandLine= in + systemd.unit5 + for details. + + + + Architecture= + + Checks whether the system is running on a + specific architecture. See + ConditionArchitecture= in + systemd.unit5 + for details. + + + + + The [Link] section accepts the following + keys: + + + + Description= + + A description of the device. + + + + Alias= + + The ifalias is set to + this value. + + + + MACAddressPolicy= + + The policy by which the MAC address + should be set. The available policies are: + + + + + persistent + + If the hardware has a persistent + MAC address, as most hardware should, + and this 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. + + + + random + + 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. + + + + + + + MACAddress= + + The MAC address to use, if no + MACAddressPolicy= + is specified. + + + + NamePolicy= + + 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: + + + + database + + The name is set based on entries in + the udev's Hardware Database with the key + ID_NET_NAME_FROM_DATABASE + . + + + + onboard + + 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 + . + + + + slot + + 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 + . + + + + path + + The name is set based on the device's physical + location, as exported by the udev property + ID_NET_NAME_PATH. + + + + mac + + The name is set based on the device's + persistent MAC address, as exported by the udev + property ID_NET_NAME_MAC. + + + + + + + Name= + + The interface name to use in case all the + policies specified in + NamePolicy= fail, or in case + NamePolicy= is missing or + disabled. + + + + MTUBytes= + + 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. + + + + BitsPerSecond= + + 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. + + + + Duplex= + + The duplex mode to set for the device. + The accepted values are half + and full. + + + + WakeOnLan= + + The Wake-on-LAN policy to set for the + device. The supported values are: + + + + phy + + Wake on PHY activity. + + + + magic + + Wake on receipt of a magic packet + + + + + off + + Never wake. + + + + + + + + + + Example + + /etc/systemd/network/wireless.link + + [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 + + + + + See Also + + + systemd-udevd.service8 + , + + udevadm8 + + + + + diff --git a/man/udev.xml b/man/udev.xml index 95b37fd0c..4e5f8f00a 100644 --- a/man/udev.xml +++ b/man/udev.xml @@ -307,8 +307,11 @@ NAME - The name to use for a network interface. The name of a device node - cannot be changed by udev, only additional symlinks can be created. + The name to use for a network interface. See + systemd.link5 + for a higher-level mechanism for setting the interface name. + The name of a device node cannot be changed by udev, only additional + symlinks can be created. @@ -759,284 +762,6 @@ During runtime only the binary database is used. - Network Link Configuration - Network link configuration is performed by the net_setup_link - udev builtin. - - 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. - - 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. - - 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: - - - - MACAddress= - - The hardware address. - - - - - Path= - - The persistent path, as exposed by the udev property ID_PATH. - May contain shell style globs. - - - - Driver= - - 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. - - - - Type= - - The device type, as exposed by the udev property DEVTYPE. - - - - Host= - - Matches against the hostname or machine ID of the - host. See ConditionHost= in - systemd.unit5 - for details. - - - - Virtualization= - - Checks whether the system is executed in a virtualized - environment and optionally test whether it is a specific - implementation. See ConditionVirtualization= in - systemd.unit5 - for details. - - - - KernelCommandLine= - - Checks whether a specific kernel command line option is - set (or if prefixed with the exclamation mark unset). See - ConditionKernelCommandLine= in - systemd.unit5 - for details. - - - - Architecture= - - Checks whether the system is running on a specific - architecture. See ConditionArchitecture= in - systemd.unit5 - for details. - - - - - The [Link] section accepts the following keys: - - - - Description= - - A description of the device. - - - - Alias= - - The ifalias is set to this value. - - - - MACAddressPolicy= - - The policy by which the MAC address should be set. The - available policies are: - - - - persistent - - If the hardware has a persistent MAC address, as most - hardware should, and this 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. - - - - - random - - 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. - - - - - - - - MACAddress= - - The MAC address to use, if no MACAddressPolicy= - is specified. - - - - - NamePolicy= - - 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: - - - - database - - The name is set based on entries in the Hardware - Database with the key - ID_NET_NAME_FROM_DATABASE. - - - - - onboard - - 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. - - - - - slot - - 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. - - - - - path - - The name is set based on the device's physical location, - as exported by the udev property - ID_NET_NAME_PATH. - - - - - mac - - The name is set based on the device's persistent MAC - address, as exported by the udev property - ID_NET_NAME_MAC. - - - - - - - - Name= - - The interface name to use in case all the policies specified - in NamePolicy= fail, or in case - NamePolicy= is missing or disabled. - - - - - MTUBytes= - - 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. - - - - BitsPerSecond= - - 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. - - - - Duplex= - - The duplex mode to set for the device. The accepted values - are half and full. - - - - - WakeOnLan= - - The Wake-on-LAN policy to set for the device. The supported - values are: - - - - phy - - Wake on PHY activity. - - - - magic - - Wake on receipt of a magic packet. - - - - off - - Never wake. - - - - - - - - See Also @@ -1046,6 +771,9 @@ udevadm8 + + systemd.link5 +