Bug#789439: Another similar case.

Peter Easthope peter at easthope.ca
Wed Jul 22 17:41:53 BST 2015


A suspiciously similar problem here with udev 215-17+deb8u1 i386 in jessie.

From: Michael Biebl <biebl at debian.org>
Date: Tue, 23 Jun 2015 00:58:55 +0200
> We switched to the new persistent interface naming scheme in 220-7.

Persistent names have worked in a system here for at least two
years; until grading from wheezy to jessie.  With jessie, the
mainboard and PCI devices get the "persistent names"; a USB-Ether
adapter gets eth0 rather than the assigned name.

> Is this a virtual machine?

No, a real machine.

> Can you attach your /etc/udev/rules.d/70-persistent-net.rules

# joule:/etc/udev/rules.d/70*net*
#
# Mainboard device 0x8086:0x2449 (e100)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:03:47:c2:94:65", \
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="MainBoard"
#
# PCI device 0x10ec:0x8029 (ne2k-pci)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:50:ba:52:79:1c",
NAME="LocPCI1"
#
# Belkin USB-Ethernet device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:50:b6:0b:e9:be", \
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="LocBel50B60BE9BE"

> We switched to the new persistent interface naming scheme in 220-7.

udev has allowed persistent names for years.  What is new?

Before plugging the Belkin adapter.
root at joule:/home/peter# ifconfig eth0
eth0: error fetching interface information: Device not found

After plugging the Belkin.
root at joule:/home/peter# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:50:b6:0b:e9:be
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root at joule:/home/peter# ifconfig LocBel50B60BE9BE
LocBel50B60BE9B: error fetching interface information: Device not found

> To switch to the new interface naming scheme, see
> /usr/share/doc/udev/README.Debian.gz

>From /usr/share/doc/udev/README.Debian.
'This makes the program act
only on interfaces marked with the "allow-hotplug" statement.
E.g: "allow-hotplug eth0" instead of the usual "auto eth0".
The loopback interface must always be configured with "auto lo".'

For years the following /etc/network/interfaces content has
worked.  Both auto and allow-hotplug directives are present.

auto MainBoard PCI1 LocLCS218301788

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug MainBoard
iface MainBoard inet dhcp
        post-up /sbin/ip link set $IFACE mtu 1500

## The interface to curie
allow-hotplug LocPCI1
iface LocPCI1 inet static
     address   172.23.4.1
     netmask   255.255.255.0

# The interface to heaviside
allow-hotplug LocLCS218301788
iface LocLCS218301788 inet static
     address   172.23.5.1
     netmask   255.255.255.0

The README is instructing to remove the first auto directive?
https://wiki.debian.org/NetworkConfiguration contains
several examples with auto and there is no mention of removing it.

At best, this problem is an example of bad engineering practice.
Elementary good practice is to document before implementation.
You refer to "new persistent interface naming scheme in 220-7" but
there is no explanation in `man interfaces`, in
https://wiki.debian.org/NetworkConfiguration or in
/usr/share/doc/udev/README.Debian .

Apparently the software has been changed before updating documentation.
Please explain.

Thanks,                  ... Peter E.

-- 
Telephone 1 360 639 0202.  Bcc: peter at easthope.ca
"http://easthope.ca/Peter.html"




More information about the Pkg-systemd-maintainers mailing list