[Eisfair] [e1] Netzwerk Interface-Name

Marcus Roeckrath marcus.roeckrath at gmx.de
So Jan 22 10:42:55 CET 2017


Hallo Stefan,

Marcus Roeckrath wrote:

> Die Meldungen sehen etwas so aus:
> 
> messages.2.xz:Nov  6 09:40:24 eis kernel: <27>udevd[1508]: Error changing
> net interface name eth0 to eth1: File exists
> messages.2.xz:Nov  6 09:40:24 eis kernel: <28>udevd[1508]: could not
> rename interface '2' from 'eth0' to 'eth1': File exists
> messages.2.xz:Nov  6 09:40:24 eis kernel: <27>udevd[1689]: Error changing
> net interface name eth1 to eth0: File exists
> messages.2.xz:Nov  6 09:40:24 eis kernel: <28>udevd[1689]: could not
> rename interface '3' from 'eth1' to 'eth0': File exists

Hier ein vollständiger Auschnitt von einem Bootvorgang mit Vertauschung der
Netzwerkkarten aufgrund einer Race Condition:

Der Kernel initialisiert zunächst die skge-Karte und gibt ihr eth0:

eis kernel: skge 0000:02:05.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
eis kernel: skge: 1.14 addr 0xf7eec000 irq 22 chip Yukon rev 1
eis kernel: skge 0000:02:05.0: eth0: addr 00:0c:6e:d7:15:ea

Nun ist die Intel an der Reihe und bekommt eth1:

eis kernel: e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
eis kernel: e100: Copyright(c) 1999-2006 Intel Corporation
eis kernel: e100 0000:02:0b.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
eis kernel: e100 0000:02:0b.0: PME# disabled
eis kernel: e100 0000:02:0b.0: eth1: addr 0xf7eeb000, irq 23, MAC addr
00:02:b3:d2:80:b6

Ich hätte sie allerdings gerne im System genau andersherum benannt, Das geht
nun schief, weil eth1 noch durch die Intel belegt ist, also die skge nicht
eth1 werden kann; dadurch bleibt aber auch eth0 blockiert und steht als
neuer Name für die Intel nicht zur Verfügung:

Nov  6 09:40:24 eis kernel: <27>udevd[1508]: Error changing net interface
name eth0 to eth1: File exists
Nov  6 09:40:24 eis kernel: <28>udevd[1508]: could not rename interface '2'
from 'eth0' to 'eth1': File exists
Nov  6 09:40:24 eis kernel: <27>udevd[1689]: Error changing net interface
name eth1 to eth0: File exists
Nov  6 09:40:24 eis kernel: <28>udevd[1689]: could not rename interface '3'
from 'eth1' to 'eth0': File exists

Such doch mal bitte in Deinen Messages einen Boot raus, bei dem alles klappt
und einen, bei dem ein enp-Device am Ende übrigbleibt.

Wenn es zwingend ethX-Devices bleiben sollen, kannst Du ja auch eth3 und
eth4 benutzen, die sind beim Bootvorgang mit zwei Netzwerkkarten frei.

Mit dem nächsten Base-Update wäre es dringend angeraten, auf enx-Devices
umzusteigen, die nicht nur eindeutig sondern auch bei Ein- und Ausbau von
beliebigen Zusatzkarten gegen Neubenennung immun sind.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair