конфигурация сетевого устройства (Network device configuration)
Параметры раздела Match (Match section options)
A link file is said to match a device if all matches specified by
the [Match] section are satisfied. When a link file does not
contain valid settings in [Match] section, then the file will
match all devices and systemd-udevd
warns about that. Hint: to
avoid the warning and to make it clear that all interfaces shall
be matched, add the following:
OriginalName=*
The following keys are accepted:
MACAddress=
A whitespace-separated list of hardware addresses. Use full
colon-, hyphen- or dot-delimited hexadecimal. See the example
below. This option may appear more than once, in which case
the lists are merged. If the empty string is assigned to this
option, the list of hardware addresses defined prior to this
is reset.
Example:
MACAddress=01:23:45:67:89:ab 00-11-22-33-44-55 AABB.CCDD.EEFF
PermanentMACAddress=
A whitespace-separated list of hardware's permanent
addresses. While MACAddress= matches the device's current MAC
address, this matches the device's permanent MAC address,
which may be different from the current one. Use full colon-,
hyphen- or dot-delimited hexadecimal. This option may appear
more than once, in which case the lists are merged. If the
empty string is assigned to this option, the list of hardware
addresses defined prior to this is reset.
Path=
A whitespace-separated list of shell-style globs matching the
persistent path, as exposed by the udev property ID_PATH.
Driver=
A whitespace-separated list of shell-style globs matching the
driver currently bound to the device, as exposed by the udev
property ID_NET_DRIVER of its parent device, or if that is
not set, the driver as exposed by ethtool -i
of the device
itself. If the list is prefixed with a "!", the test is
inverted.
Type=
A whitespace-separated list of shell-style globs matching the
device type, as exposed by networkctl list
. If the list is
prefixed with a "!", the test is inverted. Some valid values
are "ether", "loopback", "wlan", "wwan". Valid types are
named either from the udev "DEVTYPE" attribute, or "ARPHRD_"
macros in linux/if_arp.h, so this is not comprehensive.
Property=
A whitespace-separated list of udev property names with their
values after equals sign ("="). If multiple properties are
specified, the test results are ANDed. If the list is
prefixed with a "!", the test is inverted. If a value
contains white spaces, then please quote whole key and value
pair. If a value contains quotation, then please escape the
quotation with "\".
Example: if a .link file has the following:
Property=ID_MODEL_ID=9999 "ID_VENDOR_FROM_DATABASE=vendor name" "KEY=with \"quotation\""
then, the .link file matches only when an interface has all
the above three properties.
OriginalName=
A whitespace-separated list of shell-style globs matching the
device name, as exposed by the udev property "INTERFACE".
This cannot 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.
Host=
Matches against the hostname or machine ID of the host. See
ConditionHost= in systemd.unit(5) for details. When prefixed
with an exclamation mark ("!"), the result is negated. If an
empty string is assigned, then previously assigned value is
cleared.
Virtualization=
Checks whether the system is executed in a virtualized
environment and optionally test whether it is a specific
implementation. See ConditionVirtualization= in
systemd.unit(5) for details. When prefixed with an
exclamation mark ("!"), the result is negated. If an empty
string is assigned, then previously assigned value is
cleared.
KernelCommandLine=
Checks whether a specific kernel command line option is set.
See ConditionKernelCommandLine= in systemd.unit(5) for
details. When prefixed with an exclamation mark ("!"), the
result is negated. If an empty string is assigned, then
previously assigned value is cleared.
KernelVersion=
Checks whether the kernel version (as reported by uname -r
)
matches a certain expression. See ConditionKernelVersion= in
systemd.unit(5) for details. When prefixed with an
exclamation mark ("!"), the result is negated. If an empty
string is assigned, then previously assigned value is
cleared.
Architecture=
Checks whether the system is running on a specific
architecture. See ConditionArchitecture= in systemd.unit(5)
for details. When prefixed with an exclamation mark ("!"),
the result is negated. If an empty string is assigned, then
previously assigned value is cleared.
Firmware=
Checks whether the system is running on a machine with the
specified firmware. See ConditionFirmware= in systemd.unit(5)
for details. When prefixed with an exclamation mark ("!"),
the result is negated. If an empty string is assigned, then
previously assigned value is cleared.