Bug#917128: udev 240 breaks network interface naming

Wolfgang Walter wolfgang.walter at stwm.de
Fri Dec 28 14:47:30 GMT 2018


> On Sun, 23 Dec 2018 01:51:00 +0100 Wolfgang Walter
> 
> <wolfgang.walter at stwm.de> wrote:
> > Package:  udev
> > Version: 240-1
> > Severity: important
> > 
> > After upgrading from 239-15 to 240-1 or higher my network setup breaks.
> > 
> > The breakage is similar to the last one I reported (bug #904198) though
> > different in detail.
> > 
> > This times all my vlan-devices on a physical device netint are first
> > renamed to renameX and than udev tries to rename them again but this time
> > it tries to give them all the name netint - which of course fails.
> > 
> > A setup like the following one should be able to reproduce this problem:
> > 
> > 10-netint.link:
> > [Match]
> > MACAddress=00:01:2e:77:a5:45
> > 
> > [Link]
> > Name=netint
> > WakeOnLan=off
> > 
> > 
> > netint.network:
> > [Match]
> > Name=netint
> > 
> > [Network]
> > VLAN=kbs
> > LinkLocalAddressing=no
> > DHCP=no
> > 
> > 
> > kbs.link
> > [NetDev]
> > Name=kbs
> > Kind=vlan
> > 
> > [VLAN]
> > Id=10
> > 
> > 
> > 
> > In the journal you should see something like
> > 
> > kernel: rename31: renamed from kbs
> > ....
> > systemd-networkd[852]: kbs: Interface name change detected, kbs has been
> > renamed to rename31 ....
> > [347]: kbs: Failed to rename network interface 31 from 'kbs' to 'netint':
> > Device or resource busy ....
> > 
> > 
> > 
> > Downgrading udev to 239-15 fixes it in principle that is this rename does
> > not happen.
> > 
> > systemd-networkd from 240-1 though crashes with
> > 
> > 	Assertion 'IN_SET(link->state, LINK_STATE_CONFIGURING,
> > 	LINK_STATE_CONFIGURING, LINK_STATE_FAILED, LINK_STATE_LINGER)' failed at
> > 	../src/network/network/networkd-link.c:934, function address_handler().
> > 	Aborting.> > 
> > Therefor I also had to downgrade systemd back to 239-15.
> 
> Someone mentioned on IRC:
> 
> <grawity> hmm, 917128 actually comes pre-broken
> <grawity> the reporter is applying renaming based purely on MACAddress,
> and that's *already* a problem when VLANs are involved
> <grawity> because they all have the same MAC address as the underlying
> physical interface
> <grawity> (which I found out the hard way years ago, with just udev
> .rules too)
> <grawity> so the only change is that it was a race previously and a
> crash now

I can't believe that. Not only did it work since systemd is in debian without 
any problem, in older version including 239 I could add vlan netdev-devices 
later and they never were renamed.

There has something changed which causes that.

Maybe devices created by .netdev simply were excempted renamed as they already 
get there name by in the [NetDev]-section?

I also can't see a workaround as you cannot have a match which says "don't 
match netdev devices" or simething like that.

Regards,
-- 
Wolfgang Walter
Studentenwerk München
Anstalt des öffentlichen Rechts



More information about the Pkg-systemd-maintainers mailing list