Eine Link-Datei wird als auf eine Schnittstelle passend angesehen, falls alle im Abschnitt »[Match]« festgelegten Treffer erfüllt sind. Wenn eine Link-Datei keine gültigen Einstellungen im Abschnitt »[Match]« enthält, dann wird die Datei auf alle Schnittstellen passen und systemd-udevd eine Warnung ausgeben. Tipp: Um die Warnung zu vermeiden und klarer darzustellen, dass auf alle Schnittstellen entsprochen werden sollen, fügen Sie Folgendes hinzu:
Die erste (in alphanumerischer Reihenfolge) der Link-Dateien, die auf eine festgelegte Schnittstelle passt, wird angewandt und alle späteren Dateien werden ignoriert, selbst falls sie auch passen. Die folgenden Schlüssel werden akzeptiert:
MACAddress=
Eine Leerraum-getrennte Liste von Hardware-Adressen. Die akzeptablen Formate sind:
colon-delimited hexadecimal
Jedes Feld muss ein Byte sein. Z.B. »12:34:56:78:90:ab« oder »AA:BB:CC:DD:EE:FF«.
Hinzugefügt in Version 250.
hyphen-delimited hexadecimal
Jedes Feld muss ein Byte sein. Z.B. »12-34-56-78-90-ab« oder »AA-BB-CC-DD-EE-FF«.
Hinzugefügt in Version 250.
dot-delimited hexadecimal
Jedes Feld muss zwei Byte sein. Z.B. »1234.5678.90ab« oder »AABB.CCDD.EEFF«.
Hinzugefügt in Version 250.
IPv4-Adressenformat
Z.B. »127.0.0.1« oder »192.168.0.1«.
Hinzugefügt in Version 250.
IPv6-Adressenformat
Z.B. »2001:0db8:85a3::8a2e:0370:7334« oder »::1«.
Hinzugefügt in Version 250.
Die Gesamtlänge jeder MAC-Adresse muss 4 (für IPv4-Tunnel), 6 (für Ethernet), 16 (für IPv6-Tunnel) oder 20 (für InfiniBand) sein. Diese Option kann mehr als einmal auftauchen, dann werden die Listen zusammengeführt. Falls der Option die leere Zeichenkette zugewiesen wird, wird die vorher definierte Liste der Hardware-Adressen zurückgesetzt. Standardmäßig nicht gesetzt.
Hinzugefügt in Version 211.
PermanentMACAddress=
Eine Leerraum-getrennte Liste von dauerhaften Adressen der Hardware. Während
MACAddress= auf die aktuelle MAC-Adresse des Gerätes passt, vergleicht dies die dauerhafte MAC-Adresse des Gerätes, die sich von der aktuellen unterscheiden kann. Verwendet vollständige Doppelpunkt-, Bindestrich- oder Punkt-begrenzte hexadezimale Notation oder das IPv4- oder IPv6-Format. Diese Option kann mehr als einmal auftauchen, dann werden die Listen zusammengeführt. Falls der Option die leere Zeichenkette zugewiesen wird, wird die vorher definierte Liste der Hardware-Adressen zurückgesetzt. Standardmäßig nicht gesetzt.
Hinzugefügt in Version 245.
Path=
Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf dauerhafte Pfade, wie sie von der Udev-Eigenschaft
ID_PATH offengelegt wird, passen.
Hinzugefügt in Version 211.
Driver=
Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf den derzeit an das Gerät gebundenen Treiber passen, wie dieser durch die Udev-Eigenschaft
ID_NET_DRIVER des übergeordneten Gerätes offengelegt wird oder, falls die nicht gesetzt ist, durch den Treiber selbst, wie dies durch
ethtool -i offengelegt wird. Wird der Liste »!« vorangestellt, so wird der Test invertiert.
Hinzugefügt in Version 211.
Type=
Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf den Gerätetyp, wie er durch
networkctl list offengelegt wird, passen. Wird der Liste »!« vorangestellt, so wird der Test invertiert. Einige gültige Werte sind »ether«, »loopback«, »wlan«, »wwan«. Gültige Typnamen werden entweder von dem Udev-Attribut »DEVTYPE« oder den Makros »ARPHRD_« in linux/if_arp.h benannt. so dass diese Aufstellung nicht umfassend ist.
Hinzugefügt in Version 211.
Kind=
Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf die Geräteart, wie sie durch
networkctl status SCHNITTSTELLE oder
ip -d link show SCHNITTSTELLE offengelegt wird, passen. Wird der Liste »!« vorangestellt, so wird der Test invertiert. Einige gültige Werte sind »bond«, »bridge«, »gre«, »tun«, »veth«. Gültige Arten werden durch das Attribut »IFLA_INFO_KIND« von Netlink angegeben, so dass diese Aufstellung nicht umfassend ist.
Hinzugefügt in Version 251.
Property=
Eine Leerraum-getrennte Liste von Udev-Eigenschaftsnamen mit ihren Werten nach einem Gleichheitszeichen (»=«). Falls mehrere Eigenschaften angegeben sind, werden sie mit UND verbunden. Wird der Liste »!« vorangestellt, so wird der Test invertiert. Falls ein Wert Leerraum enthält, dann schließen Sie das gesamte Schlüssel-Wert-Paar bitte in englische Anführungszeichen ein. Falls ein Wert Anführungszeichen enthält, dann maskieren Sie bitte das Anführungszeichen mit »\«.
Beispiel: Falls eine .link-Datei
Property=ID_MODEL_ID=9999 "ID_VENDOR_FROM_DATABASE=Lieferantenname" "KEY=mit \"Zitat\""
enthält, dann passt eine .link-Datei nur, wenn eine Schnittstelle alle drei obigen Eigenschaften enthält.
Hinzugefügt in Version 243.
OriginalName=
Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf den Gerätenamen, wie er durch die Udev-Eigenschaft »INTERFACE« offengelegt wird, passen. Dies kann nicht zum Vergleich mit Namen, die aus dem Anwendungsraum heraus bereits geändert wurden, verwandt werden. Kernel-zugewiesene Namen können sich bei Systemneustarts ändern, daher sollte beim Vergleich dieser Namen Vorsicht walten gelassen werden.
Hinzugefügt in Version 218.
Host=
Passt auf den Rechnernamen oder die Maschinenkennung des Rechners. Siehe
ConditionHost= in
systemd.unit(5) für Details. Wird »!« vorangestellt, so wird das Ergebnis negiert. Wird eine leere Zeichenkette zugewiesen, dann wird der vorher zugewiesene Wert zurückgesetzt.
Hinzugefügt in Version 211.
Virtualization=
Prüft, ob das System in einer virtualisierten Umgebung ausgeführt wird und testet optional, ob es eine bestimmte Implementierung ist. Siehe
ConditionVirtualization= in
systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.
Hinzugefügt in Version 211.
KernelCommandLine=
Prüft, ob eine bestimmte Kernelbefehlszeilenoption gesetzt ist. Siehe
ConditionKernelCommandLine= in
systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.
Hinzugefügt in Version 211.
KernelVersion=
Prüft, ob die Kernelversion (wie von
uname -r gemeldet) auf einen bestimmten Ausdruck passt. Siehe
ConditionKernelVersion= in
systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.
Hinzugefügt in Version 237.
Credential=
Prüft, ob die festgelegte Zugangsberechtigung an den Dienst systemd-udevd.service übergeben wurde. Siehe
System- und Dienste-Zugangsberechtigungen[1] für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.
Hinzugefügt in Version 252.
Architecture=
Prüft, ob das System auf einer bestimmten Architektur läuft. Siehe
ConditionArchitecture= in
systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.
Hinzugefügt in Version 211.
Firmware=
Prüft, ob das System auf einer Maschine mit der angegeben Firmware läuft. Siehe
ConditionFirmware= in
systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.
Hinzugefügt in Version 249.
Der Abschnitt »[LINK]« akzeptiert die folgenden Schlüssel:
Description=
Eine Beschreibung des Gerätes.
Hinzugefügt in Version 211.
Alias=
Die Schnittstelleneigenschaft
ifalias wird auf diesen Wert gesetzt.
Hinzugefügt in Version 211.
MACAddressPolicy=
Die Richtlinie, gemäß der die MAC-Adresse gesetzt werden soll. Die verfügbaren Richtlinien sind:
persistent
Falls die Hardware eine dauerhafte MAC-Adresse hat, wie das die meiste Hardware haben sollte, und diese vom Kernel verwandt wird, dann passiert nichts. Andernfalls wird eine neue MAC-Adresse erstellt, für die garantiert wird, dass sie nach jedem Systemstart auf der angegebenen Maschine für das angegebene Gerät stets identisch, aber ansonsten zufällig ist. Diese Funktionalität basiert auf der Existenz der Eigenschaft ID_NET_NAME_* für den Link. Auf Hardware, auf der diese Eigenschaft nicht gesetzt ist, wird die Erstellung einer dauerhaften MAC-Adresse fehlschlagen.
Hinzugefügt in Version 211.
random
Falls der Kernel eine zufällige MAC-Adresse verwendet, passiert nichts. Andernfalls wird bei jedem Auftauchen des Gerätes, typischerweise beim Systemstart, zufällig eine neue MAC-Adresse erstellt. Auf jeden Fall wird die zufällige Adresse die Bits »unicast« und »locally administered« gesetzt haben.
Hinzugefügt in Version 211.
none
Behält die vom Kernel zugewiesene MAC-Adresse. Oder verwendet die in
MACAddress= angegebene MAC-Adresse.
Hinzugefügt in Version 227.
Die Zuweisung einer leeren Zeichenkette ist äquivalent zum Setzen von »none«.
Hinzugefügt in Version 211.
MACAddress=
Die zu verwendende Schnittstellen-MAC-Adresse. Damit diese Einstellung wirksam wird, muss
MACAddressPolicy= nicht gesetzt, leer oder »none« sein.
Hinzugefügt in Version 211.
NamePolicy=
Eine sortierte, durch Leerzeichen getrennte Liste von Richtlinien, gemäß derer der Schnitstellenname gesetzt werden soll.
NamePolicy= kann durch Angabe von
net.ifnames=0 auf der Kernelbefehlszeile deaktiviert werden. Jeder dieser Richtlinien kann fehlschlagen und die erste erfolgreiche wird verwandt. Der Name wird nicht direkt gesetzt, sondern an Udev als Eigenschaft
ID_NET_NAME exportiert, die standardmäßig von
udev(7) zum Setzen von
NAME verwandt wird. Die verfügbaren Richtlinien sind:
kernel
Falls der Kernel angibt, dass der von ihm für ein Gerät gesetzte Name vorhersagbar ist, dann erfolgt keine Umbenennung.
Hinzugefügt in Version 216.
database
Der Name wird basierend auf den Einträgen in der Hardware-Datenbank von Udev mit dem Schlüssel
ID_NET_NAME_FROM_DATABASE gesetzt.
Hinzugefügt in Version 211.
onboard
Der Name wird basierend auf dem durch die Firmware für fest verbaute Geräte gelieferten Informationen, wie diese durch die Udev-Eigenschaft
ID_NET_NAME_ONBOARD exportiert wird, gesetzt. Siehe
systemd.net-naming-scheme(7).
Hinzugefügt in Version 211.
slot
Der Name wird basierend auf dem durch die Firmware für hotplug-fähige Geräte gelieferten Informationen, wie diese durch die Udev-Eigenschaft
ID_NET_NAME_SLOT exportiert wird, gesetzt. Siehe
systemd.net-naming-scheme(7).
Hinzugefügt in Version 211.
path
Der Name wird basierend auf dem physischen Ort des Gerätes, wie dieser durch die Udev-Eigenschaft
ID_NET_NAME_PATH exportiert wird, gesetzt. Siehe
systemd.net-naming-scheme(7).
Hinzugefügt in Version 211.
mac
Der Name wird basierend auf der dauerhaften MAC-Adresse des Gerätes, wie diese durch die Udev-Eigenschaft
ID_NET_NAME_MAC exportiert wird, gesetzt. Siehe
systemd.net-naming-scheme(7).
Hinzugefügt in Version 211.
keep
Falls das Gerät bereits im Anwendungsbereich einen Namen erhielt (als Teil der Erstellung des Gerätes oder einer Umbenennung), wird dieser beibehalten.
Hinzugefügt in Version 241.
Hinzugefügt in Version 211.
Name=
Den zu verwendenden Schnittstellennamen. Diese Option hat eine niedrigere Priorität als
NamePolicy=. Damit also diese Einstellung wirksam wird, muss
NamePolicy= entweder nicht gesetzt, leer, deaktiviert sein oder alle Richtlinien, die dies konfigurieren, müssen fehlschlagen. Schauen Sie sich auch das nachfolgende Beispiel mit »Name=dmz0« an.
Beachten Sie, dass es gefährlich ist, einen Namen anzugeben, den der Kernel für eine andere Schnittstelle verwendet (beispielsweise »eth0«), da die Namenszuweisung durch Udev mit der Zuweisung durch den Kernel in einen Wettlauf gelangen kann, und nur eine Schnittstelle den Namen verwenden darf. Abhängig von der Reihenfolge der Aktionen wird entweder Udev oder der Kernel gewinnen, wodurch der Name unvorhersagbar wird. Es wird empfohlen, ein anderes Präfix zu wählen, beispielsweise »internal0«/»external0« oder »lan0«/»lan1«/»lan3«.
Schnittstellennamen müssen eine minimale Länge von einem Zeichen und eine maximale Länge von 15 Zeichen haben. Sie dürfen aus jedem 7-bit-ASCII-Zeichen bestehen, die Ausnahme sind Steuerzeichen, »:«, »/« und »%«. Obwohl ».« ein erlaubtes Zeichen ist, wird empfohlen, es bei der Benennung von Schnittstellen zu vermeiden, da verschiedene Werkzeuge (wie resolvconf(1)) das Zeichen als Trennzeichen verwenden. Auch sind vollständig nummerische Schnittstellennamen nicht erlaubt (um Mehrdeutigkeiten bei Schnittstellenspezifikationen durch nummerische Indicies zu vermeiden). Auch die besonderen Zeichenketten ».«, »..«, »all« und »default« sind nicht erlaubt.
Hinzugefügt in Version 211.
AlternativeNamesPolicy=
Eine Leerzeichen-getrennte Liste von Richtlinien, gemäß derer der alternative Name der Schnittstelle gesetzt werden soll. Jede der Richtlinien kann fehlschlagen und alle erfolgreichen Richtlinien werden verwandt. Die verfügbaren Richtlinien sind »database«, »onboard«, »slot«, »path« and »mac«. Falls der Kernel keine alternativen Namen unterstützt, dann wird diese Einstellung ignoriert.
Hinzugefügt in Version 245.
AlternativeName=
Der zu verwendende alternative Schnittstellenname. Diese Option kann mehrfach angegeben werden. Falls der Option die leere Zeichenkette zugewiesen wird, wird die Liste zurückgesetzt und alle vorherigen Zuweisungen sind wirkungslos. Falls der Kernel keine alternativen Namen unterstützt, dann wird diese Einstellung ignoriert.
Alternative Schnittstellennamen können zur Identifizierung von Schnittstellen in verschiedenen Werkzeugen verwandt werden. Im Gegensatz zum Hauptnamen (wie er mit obigem Name= konfiguriert ist) kann es mehrere alternative Namen geben, die sich auf die gleiche Schnittstelle beziehen. Alternative Namen dürfen eine maximale Länge von 127 Zeichen haben, im Gegensatz zu den 15 Zeichen, die für den Hauptschnittstellennamen erlaubt sind, unterliegen aber ansonsten den gleichen Beschränkungen bei der Benennung.
Hinzugefügt in Version 245.
TransmitQueues=
Legt die Anzahl der Übertragungswarteschlangen des Gerätes fest. Eine Ganzzahl im Bereich 1…4096. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 248.
ReceiveQueues=
Legt die Anzahl der Empfangswarteschlangen des Gerätes fest. Eine Ganzzahl im Bereich 1…4096. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 248.
TransmitQueueLength=
Legt die Länge der Übertragungswarteschlange des Gerätes (in der Anzahl der Pakete) fest. Eine vorzeichenlose Ganzzahl im Bereich 0…4294967294. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 248.
MTUBytes=
Die für das Gerät zu setzende maximale Übertragungseinheit in Byte. Die normalen Endungen K, M, G werden als Einheiten zur Basis 1024 verstanden.
Hinzugefügt in Version 211.
BitsPerSecond=
Die für das Gerät zu setzende Geschwindigkeit, der Wert wird auf die nächsten Mbit/s abgerundet. Die normalen Endungen K, M, G werden als Einheiten zur Basis 1000 verstanden.
Hinzugefügt in Version 211.
Duplex=
Der für das Gerät zu setzende Duplex-Modus. Die akzeptierten Werte sind
half und
full.
Hinzugefügt in Version 211.
AutoNegotiation=
Akzeptiert einen logischen Wert. Falls auf »yes« gesetzt, wird die automatische Aushandlung von Übertragungsparametern aktiviert. Bei der automatischen Aushandlung entscheiden sich zwei verbundene Ethernet-Geräte über die Übertragungsparameter, wie Geschwindigkeit, Duplex-Modus und Flusssteuerung. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Beachten Sie, dass die Geschwindigkeits- und Duplex-Einstellungen nur lesbar sind, wenn automatische Aushandlung aktiviert ist. Falls dies deaktiviert ist, sind die Geschwindigkeits- und Duplex-Einstellungen schreibbar, falls der Treiber mehrere Link-Modi unterstützt.
Hinzugefügt in Version 233.
WakeOnLan=
Die für das Gerät zu setzende Aufwachen-im-LAN-Richtlinie. Akzeptiert den besonderen Wert »off«, wodurch Aufwachen-im-LAN deaktiviert wird, oder eine durch Leerzeichen getrennte Liste der folgenden Wörter:
phy
Wacht bei PHY-Aktivität auf.
Hinzugefügt in Version 211.
unicast
Wacht bei Unicast-Meldungen auf.
Hinzugefügt in Version 235.
multicast
Wacht bei Multicast-Meldungen auf.
Hinzugefügt in Version 235.
broadcast
Wacht bei Broadcast-Meldungen auf.
Hinzugefügt in Version 235.
arp
Wacht bei ARP auf.
Hinzugefügt in Version 235.
magic
Wacht bei Empfang eines magischen Pakets auf.
Hinzugefügt in Version 211.
secureon
Aktiviert SecureOn-Passwörter für MagicPacket. Impliziert, wenn
WakeOnLanPassword= festgelegt ist. Falls ohne die Option
WakeOnLanPassword= festgelegt, dann wird das Passwort von der Zugangsberechtigung »
LINK.link.wol.password« ausgelesen (z.B. »60-foo.link.wol.password« und falls die Zugangsberechtigung nicht gefunden wird, dann wird es aus »wol.password« gelesen. Siehe
ImportCredential=/
LoadCredential=/
SetCredential= in
systemd.exec(1) für Details. Das Passwort in der Zugangsberechtigung muss 6 byte im Hexadezimalformat umfassen, wobei jedes Byte durch einen Doppelpunkt (»:«), wie in einer Ethernet-MAC-Adresse, abgetrennt ist, z.B. »aa:bb:cc:dd:ee:ff«.
Hinzugefügt in Version 235.
Standardmäßig nicht gesetzt und die Vorgabe des Geräts wird verwandt. Diese Einstellung kann mehrfach angegeben werden. Falls eine leere Zeichenkette zugewiesen wird, dann werden alle vorherigen Zuweisungen gelöscht.
Hinzugefügt in Version 211.
WakeOnLanPassword=
Legt das SecureOn-Passwort für MagicPacket fest. Akzeptiert einen absoluten Pfad zu einer regulären Datei oder einem
AF_UNIX-Datenstrom-Socket oder ein schlichtes Passwort. Wenn ein Pfad zu einer regulären Datei festgelegt wird, wird das Passwort daraus gelesen. Wenn ein
AF_UNIX-Datenstromsocket festgelegt ist, wird zu ihm eine Verbindung aufgebaut und das Passwort daraus gelesen. Das Passwort muss 6 byte im Hexadezimalformat umfassen, wobei jedes Byte durch einen Doppelpunkt (»:«), wie bei einer Ethernet-MAC-Adresse, abgetrennt ist, z.B. »aa:bb:cc:dd:ee:ff«. Dies impliziert
WakeOnLan=secureon. Standardmäßig nicht gesetzt und der aktuelle Wert wird nicht geändert.
Hinzugefügt in Version 250.
Port=
Die Option »port« wird zur Auswahl des Geräte-Ports verwandt. Die unterstützten Werte sind:
tp
Eine Ethernet-Schnittstelle mit Twisted-Pair-Kabel als Medium.
Hinzugefügt in Version 234.
aui
Attachment Unit Interface (AUI). Normalerweise in Hubs verwandt.
Hinzugefügt in Version 234.
bnc
Eine Ethernetschnittstelle, die BNC-Stecker und koaxiales Kabel benutzt.
Hinzugefügt in Version 234.
mii
Eine Ethernet-Schnittstelle, die Media Independent Interface (MII) benutzt.
Hinzugefügt in Version 234.
fibre
Eine Ethernet-Schnittstelle, die Glasfaser als Medium benutzt.
Hinzugefügt in Version 234.
Hinzugefügt in Version 234.
Advertise=
Dies setzt die Ankündigungen der Geschwindigkeit und Duplexmodi für die automatische Aushandlung. Dies impliziert »AutoNegotiation=yes«. Die unterstützten Werte sind:
Tabelle 1. Unterstützte Ankündigungswerte
| Ankündigung | Geschwindigkeit (Mbit/s) | Duplexmodus |
| 10baset-full | 10 | full |
| 10baset1l-full | 10 | full |
| 10baset-half | 10 | halb |
| 100basefx-full | 100 | full |
| 100baset-full | 100 | full |
| 100baset1-full | 100 | full |
| 100basefx-half | 100 | halb |
| 100baset-half | 100 | halb |
| 1000basekx-full | 1000 | full |
| 1000baset-full | 1000 | full |
| 1000baset1-full | 1000 | full |
| 1000basex-full | 1000 | full |
| 1000baset-half | 1000 | halb |
| 2500baset-full | 2500 | full |
| 2500basex-full | 2500 | full |
| 5000baset-full | 5000 | full |
| 10000baser-fec | 10000 | |
| 10000basecr-full | 10000 | full |
| 10000baseer-full | 10000 | full |
| 10000basekr-full | 10000 | full |
| 10000basekx4-full | 10000 | full |
| 10000baselr-full | 10000 | full |
| 10000baselrm-full | 10000 | full |
| 10000basesr-full | 10000 | full |
| 10000baset-full | 10000 | full |
| 20000basekr2-full | 20000 | full |
| 20000basemld2-full | 20000 | full |
| 25000basecr-full | 25000 | full |
| 25000basekr-full | 25000 | full |
| 25000basesr-full | 25000 | full |
| 40000basecr4-full | 40000 | full |
| 40000basekr4-full | 40000 | full |
| 40000baselr4-full | 40000 | full |
| 40000basesr4-full | 40000 | full |
| 50000basecr-full | 50000 | full |
| 50000basecr2-full | 50000 | full |
| 50000basedr-full | 50000 | full |
| 50000basekr-full | 50000 | full |
| 50000basekr2-full | 50000 | full |
| 50000baselr-er-fr-full | 50000 | full |
| 50000basesr-full | 50000 | full |
| 50000basesr2-full | 50000 | full |
| 56000basecr4-full | 56000 | full |
| 56000basekr4-full | 56000 | full |
| 56000baselr4-full | 56000 | full |
| 56000basesr4-full | 56000 | full |
| 100000basecr-full | 100000 | full |
| 100000basecr2-full | 100000 | full |
| 100000basecr4-full | 100000 | full |
| 100000basedr-full | 100000 | full |
| 100000basedr2-full | 100000 | full |
| 100000basekr-full | 100000 | full |
| 100000basekr2-full | 100000 | full |
| 100000basekr4-full | 100000 | full |
| 100000baselr-er-fr-full | 100000 | full |
| 100000baselr2-er2-fr2-full | 100000 | full |
| 100000baselr4-er4-full | 100000 | full |
| 100000basesr-full | 100000 | full |
| 100000basesr2-full | 100000 | full |
| 100000basesr4-full | 100000 | full |
| 200000basecr2-full | 200000 | full |
| 200000basecr4-full | 200000 | full |
| 200000basedr2-full | 200000 | full |
| 200000basedr4-full | 200000 | full |
| 200000basekr2-full | 200000 | full |
| 200000basekr4-full | 200000 | full |
| 200000baselr2-er2-fr2-full | 200000 | full |
| 200000baselr4-er4-fr4-full | 200000 | full |
| 200000basesr2-full | 200000 | full |
| 200000basesr4-full | 200000 | full |
| 400000basecr4-full | 400000 | full |
| 400000basecr8-full | 400000 | full |
| 400000basedr4-full | 400000 | full |
| 400000basedr8-full | 400000 | full |
| 400000basekr4-full | 400000 | full |
| 400000basekr8-full | 400000 | full |
| 400000baselr4-er4-fr4-full | 400000 | full |
| 400000baselr8-er8-fr8-full | 400000 | full |
| 400000basesr4-full | 400000 | full |
| 400000basesr8-full | 400000 | full |
| 800000basecr8-full | 800000 | full |
| 800000basedr8-2-full | 800000 | full |
| 800000basedr8-full | 800000 | full |
| 800000basekr8-full | 800000 | full |
| 800000basesr8-full | 800000 | full |
| 800000basevr8-full | 800000 | full |
| asym-pause | | |
| aui | | |
| autonegotiation | | |
| backplane | | |
| bnc | | |
| fec-baser | | |
| fec-llrs | | |
| fec-none | | |
| fec-rs | | |
| fibre | | |
| mii | | |
| pause | | |
| tp | | |
Standardmäßig ist dies nicht gesetzt, d.h. alle möglichen Modi werden angekündigt. Diese Option kann mehr als einmal angegeben werden, wodurch alle festgelegten Geschwindigkeiten und Modi angekündigt werden. Wird dieser Option eine leere Zeichenkette zugewiesen, dann wird die Liste zurückgesetzt und alle vorher gesetzten Zuweisungen haben keine Auswirkung.
Hinzugefügt in Version 240.
ReceiveChecksumOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Abgabe der Prüfsummenprüfung von Ingress-Netzwerkpaketen an die Hardware aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 245.
TransmitChecksumOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Abgabe der Prüfsummenprüfung von Egress-Netzwerkpaketen an die Hardware aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 245.
TCPSegmentationOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »TCP Segmentation Offload (TSO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 232.
TCP6SegmentationOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »TCP6 Segmentation Offload« (tx-tcp6-Segmentierung) aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 235.
GenericSegmentationOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »Generic Segmentation Offload (GSO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 232.
GenericReceiveOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »Generic Receive Offload (GRO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 232.
GenericReceiveOffloadHardware=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird hardwarebeschleunigtes »Generic Receive Offload (GRO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
LargeReceiveOffload=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »Large Receive Offload (LRO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 232.
ReceiveVLANCTAGHardwareAcceleration=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Hardwarebeschleunigung für VLAN-CTAG-Empfang aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
TransmitVLANCTAGHardwareAcceleration=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Hardwarebeschleunigung für VLAN-CTAG-Übertragung aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
ReceiveVLANCTAGFilter=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Empfangsfilterung auf VLAN CTAGs aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
TransmitVLANSTAGHardwareAcceleration=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Hardwarebeschleunigung für VLAN-STAG-Übertragung aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
NTupleFilter=
Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, werden N-Tupel-Filter-Empfang und -Aktionen aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
RxChannels=, TxChannels=, OtherChannels=, CombinedChannels=
Legt die Anzahl der Empfangs-, Übertragungs-, weiterer bzw. kombinierter Kanäle fest. Akzeptiert eine vorzeichenlose Ganzzahl im Bereich 1…4294967295 oder »max«. Falls auf »max« gesetzt, wird der von der Hardware beworbene maximale Wert verwandt. Wenn nicht gesetzt, wird die Anzahl nicht geändert. Standardmäßig nicht gesetzt.
Hinzugefügt in Version 239.
RxBufferSize=, RxMiniBufferSize=, RxJumboBufferSize=, TxBufferSize=
Legt die maximale Anzahl von anhängenden Paketen in dem NIC-Empfangspuffer, dem Mini-Empfangspuffer, dem Jumbo-Empfangspuffer bzw. dem Übertragungspuffer fest. Akzeptiert eine vorzeichenlose Ganzzahl im Bereich 1…4294967295 oder »max«. Falls auf »max« gesetzt, wird der von der Hardware beworbene maximale Wert verwandt. Wenn nicht gesetzt, wird die Anzahl nicht geändert. Standardmäßig nicht gesetzt.
Hinzugefügt in Version 244.
RxFlowControl=
Akzeptiert einen logischen Wert. Wenn gesetzt, wird Empfangsflusssteuerung, auch bekannt als Ethernet-Empfangs-PAUSE-Meldung, aktiviert (die Ethernet PAUSE-Frames erstellt und sendet). Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 246.
TxFlowControl=
Akzeptiert einen logischen Wert. Wenn gesetzt, wird Sendeflusssteuerung, auch bekannt als Ethernet-Sende-PAUSE-Meldung, aktiviert (die auf gesandte Ethernet PAUSE-Frames reagiert). Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 246.
AutoNegotiationFlowControl=
Akzeptiert einen logischen Wert. Wenn gesetzt, ermöglicht automatische Aushandlung der Schnittstelle, Zustandesankündigungen mit der verbundenen Gegenstelle auszutauschen, so dass die zwei Geräte sich auf eine Ethernet-PAUSE-Konfiguration einigen können. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 246.
GenericSegmentOffloadMaxBytes=
Legt die maximale Größe eines »Generic Segment Offload«- (GSO-)Pakets fest, das das Gerät akzeptieren soll. Die normalen Endungen K, M, G werden als Einheiten zur Basis 1024 verstanden. Eine vorzeichenlose Ganzzahl im Bereich 1…65536. Standardmäßig nicht gesetzt.
Hinzugefügt in Version 248.
GenericSegmentOffloadMaxSegments=
Legt die maximale Anzahl an »Generic Segment Offload«- (GSO-)Segmenten fest, die das Gerät akzeptieren soll. Eine vorzeichenlose Ganzzahl im Bereich 1…65535. Standardmäßig nicht gesetzt.
Hinzugefügt in Version 248.
UseAdaptiveRxCoalesce=, UseAdaptiveTxCoalesce=
Logische Werte, die adaptive Rx/Tx-Zusammenführung aktivieren/deaktivieren, falls gesetzt und die Hardware dies unterstützt. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
RxCoalesceSec=, RxCoalesceIrqSec=, RxCoalesceLowSec=, RxCoalesceHighSec=, TxCoalesceSec=, TxCoalesceIrqSec=, TxCoalesceLowSec=, TxCoalesceHighSec=
Diese Eigenschaften konfigurieren die Verzögerung, bevor Rx/Tx-Interrupts nach dem Senden/Empfangen eines Pakets erstellt werden. Die Eigenschaft »Irq« wird wirksam, wenn der Rechner einen IRQ ausliefert. Die Eigenschaften »Low« und »High« werden wirksam, wenn die Paketrate unterhalb der Schwelle für niedrige Paketraten sinkt bzw. die Schwelle der hohen Paketrate übersteigt, falls adaptive Rx/Tx-Zusammenführung aktiviert ist. Wenn nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
RxMaxCoalescedFrames=, RxMaxCoalescedIrqFrames=, RxMaxCoalescedLowFrames=, RxMaxCoalescedHighFrames=, TxMaxCoalescedFrames=, TxMaxCoalescedIrqFrames=, TxMaxCoalescedLowFrames=, TxMaxCoalescedHighFrames=
Diese Eigenschaften konfigurieren die maximale Anzahl an Frames, die gesendet werden, bevor ein Rx/Tx-Interrupt erstellt wird. Die Eigenschaft »Irq« wird wirksam, wenn der Rechner einen IRQ ausliefert. Die Eigenschaften »Low« und »High« werden wirksam, wenn die Pakterate unterhalb der Schwelle für niedrige Paketraten sinkt bzw. die Schwelle der hohen Paketraten übersteigt, falls adaptive Rx/Tx-Zusammenführung aktiviert ist. Wenn nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
CoalescePacketRateLow=, CoalescePacketRateHigh=
Diese Eigenschaften konfigurieren den Schwellenwert für niedrige bzw. hohe Paketraten (ausgedrückt in Paketen pro Sekunde). Sie werden dazu verwandt, zu bestimmen, wann die entsprechenden Zusammenführungseinstellungen für niedrige und hohe Paketraten wirksam werden, falls adaptive Rx/Tx-Zusammenführung aktiviert ist. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
CoalescePacketRateSampleIntervalSec=
Konfiguriert, wie oft die für adaptive Rx/Tx-Zusammenführung verwandte Paketrate beprobt werden soll. Diese Einstellung kann nicht Null sein. Die niedrigste, von dieser Eigenschaft unterstützte Zeitstückelung ist Sekunden. Teilsekunden werden aufgerundet, bevor sie an den Kernel weitergegeben werden. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
StatisticsBlockCoalesceSec=
Wie lange die speicherinternen Treiber-Statistik-Blockaktualisierungen verzögert werden sollen. Falls der Treiber keinen speicherinternen Statistikblock hat, wird diese Eigenschaft ignoriert. Diese Einstellung kann nicht Null sein. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.
Hinzugefügt in Version 250.
MDI=
Legt den Modus der »mittleren abhängigen Schnittstelle« (MDI) für die Schnittstelle fest. Ein MDI beschreibt die Schnittstelle von der Ebene der physischen Implementierung bis zum physischen Medium, das die Übertragung durchführt. Akzeptiert eines der folgenden Wörter: »straight« (oder äquivalent: »mdi«), »crossover« (oder äquivalent: »mdi-x«, »mdix«) und »auto«. Falls »straight«, dann wird der direkte Durchgangsmodus von MDI verwandt. Wenn »crossover«, dann wird der Überkreuzmodus (MDI-X) verwandt. Wenn »auto«, dann wird der MDI-Status automatisch erkannt. Standardmäßig nicht gesetzt und die Vorgabe des Kernels wird verwandt.
Hinzugefügt in Version 251.
SR-IOVVirtualFunctions=
Legt die Anzahl der SR-IOV virtuellen Funktionen fest. Akzeptiert eine Ganzzahl im Bereich 0…2147483647. Standardmäßig nicht gesetzt und automatisch aus den in der Einstellung
VirtualFunction= gesetzten Werten in den Abschnitten [SR-IOV] bestimmt.
Hinzugefügt in Version 251.
Beispiel 1. /usr/lib/systemd/network/99-default.link
Die mit Systemd ausgelieferte Link-Datei 99-default.link definiert die Standardrichtlinien für Schnittstellennamen, alternative Namen und MAC-Adressen von Links.
[Match]
OriginalName=*
[Link]
NamePolicy=Pfad des eingebauten Slots in der Kernel-Datenbank beibehalten
AlternativeNamesPolicy=Pfad der Datenbank des eingebauten SlotsMACAddressPolicy=persistent
Beispiel 2. /etc/systemd/network/10-dmz.link
Dieses Beispiel weist den festen Namen »dmz0« der Schnittstelle mit der MAC-Adresse 00:a0:de:63:7a:e6 zu:
[Match]
MACAddress=00:a0:de:63:7a:e6
[Link]
Name=dmz0
NamePolicy= ist nicht gesetzt, daher wird Name= wirksam. Wir verwenden das »10-«-Präfix, um die Datei früh in die Liste einzusortieren. Beachten Sie, dass es vor 99-default.link sein muss, d.h. sie muss ein numerisches Präfix haben, um überhaupt Wirkung zu zeigen.
Beispiel 3. Eine .link-Datei (erneut) auf eine Schnittstelle anwenden
Nachdem eine .link-Datei erstellt oder eine bestehende .link-Datei verändert wurde, können die neuen Einstellungen auf die passende Schnitttstelle mit den folgenden Befehlen angewandt werden:
$ sudo udevadm control --reload
$ sudo ip link set eth0 down
$ sudo udevadm trigger --verbose --settle --action add /sys/class/net/eth0
Es könnte auch notwendig sein, den Dienst, der die Netzwerkschnittstelle verwaltet, z.B. systemd-networkd.service(8) oder NetworkManager.service vor der obigen Aktion zu stoppen und danach neu zu starten. Weitere Details zu dem Befehl udevadm finden Sie in udevadm(8).
Beispiel 4. Fehlersuche in NamePolicy=-Zuweisungen
$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/hub0
…
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/10-eth0.link
ID_NET_DRIVER=cdc_ether
Config file /etc/systemd/network/10-eth0.link applies to device hub0
link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
hub0: Device has name_assign_type=4
Using default interface naming scheme 'v240'.
hub0: Policies didn't yield a name, using specified Name=hub0.
ID_NET_LINK_FILE=/etc/systemd/network/10-eth0.link
ID_NET_NAME=hub0
…
In diesem Fall gewinnt die explizite Name=-Konfiguration.
sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/enp0s31f6
…
Parsed configuration file /usr/lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/10-eth0.link
Created link configuration context.
ID_NET_DRIVER=e1000e
Config file /usr/lib/systemd/network/99-default.link applies to device enp0s31f6
link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
enp0s31f6: Device has name_assign_type=4
Using default interface naming scheme 'v240'.
enp0s31f6: Policy *keep*: keeping existing userspace name
enp0s31f6: Device has addr_assign_type=0
enp0s31f6: MAC on the device already matches policy *persistent*
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
…
In diesem Fall wurde die Schnittstelle bereits umbenannt, so dass die als erste Option in 99-default.link festgelegte Richtlinie »keep« bedeutet, dass der bestehende Name erhalten wird. Falls keep entfernt würde oder falls es im Systemstart wäre, bevor die Umbenennung passierte, könnten wir stattdessen Folgendes erhalten:
enp0s31f6: Policy *path* yields "enp0s31f6".
enp0s31f6: Device has addr_assign_type=0
enp0s31f6: MAC on the device already matches policy *persistent*
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
ID_NET_NAME=enp0s31f6
…
Bitte beachten Sie, dass sich die Ausgabedetails ändern können.
Beispiel 5. /etc/systemd/network/10-internet.link
Dieses Beispiel weist den festen Namen »internet0« der Schnittstelle mit dem Gerätepfad »pci-0000:00:1a.0-*« zu:
[Match]
Path=pci-0000:00:1a.0-*
[Link]
Name=internet0
Beispiel 6. /etc/systemd/network/25-wireless.link
Es folgt ein sehr komplexes Beispiel, das die Verwendung einer großen Anzahl von [Match]- und [Link]-Einstellungen zeigt.
[Match]
MACAddress=12:34:56:78:9a:bc
Driver=brcmsmac
Path=pci-0000:02:00.0-*
Type=wlan
Virtualization=no
Host=mein_Laptop
Architecture=x86-64
[Link]
Name=wireless0
MTUBytes=1450
BitsPerSecond=10M
WakeOnLan=magic
MACAddress=cb:a9:87:65:43:21