Control: tags 941652 + help

Hello Michael,

I agree with the reassign and merge of #944097 with #941652, but not
with "this is ultimately an iwd issue". Trying to cast some light and
hopefully widen the perspective on this...

Linux will not allow to rename interfaces that are (already) UP.

iwd is fast (feature), udev is slow(er). Apparently udev tends to quite
often loose the race between iwd seeing and bringing the connection up
before udev manages to even rename the interface.

Instead of blaming iwd for being fast, one could say this is fundamental
design problem of the predictable interface naming scheme as currently
implemented.

As I see it, it would be much preferable if the predictable name
where set *before* the interface was generally announced as available
on the system (read: wiphy being announced on nl80211) to all services
that use the interface.
(Alternatively someone might want to make the limitation of Linux not
allowing renaming UP interfaces.)
Ultimately iwd doesn't really care about the name (and isn't even aware
of udev existing), it just brings up the interface (fast).

A potential solution on the iwd side would be to make iwd aware of udev
and wait for udev events (which I presume exists) saying udev has
finished applying naming scheme, but that would be directly in conflict
with iwd goal of being fast. Also, it seems odd to expect/require all
services to be udev aware because of something implemented in udev when
the service in question has no interest or use for knowing about udev.
Specially as long as the udev naming scheme is optional.

To summarize I see these potential "real" solutions to the problem:
a/ fix the fundamental racy design to not be racy.
b/ make udev faster (so fast it'll never lose any race).
c/ make linux allow renaming UP interfaces.

A fundamental redesign is quite a big task, but I don't see
b/ or c/ as very likely options either.

Until this has somehow been sorted (help welcome!), the users of iwd
will just have to pick sides: Either they care about iwd speed and don't
care about udev naming policy (for wifi interfaces), or they get to
apply their personal favourite hack to make iwd slow enough for udev to
win the race.
Unfortunately you can't have both at present.

Regards,
Andreas Henriksson

Reply via email to