[systemd-devel] Proposal: integrate biosdevname into systemd tree

Kay Sievers kay at vrfy.org
Fri Jan 4 04:10:51 PST 2013


On Fri, Jan 4, 2013 at 1:07 PM, Koen Kooi <koen at dominion.thruhere.net> wrote:
> Op 4 jan. 2013, om 10:54 heeft Reindl Harald <h.reindl at thelounge.net> het volgende geschreven:
>> Am 04.01.2013 10:40, schrieb Alexander E. Patrakov:
>>> 2013/1/4 Reindl Harald <h.reindl at thelounge.net>:
>>>> but hopefully /etc/udev/rules.d/70-persistent-net.rules will be recognized
>>>> forever if it exists because there are many servers especially virtual
>>>> ones where you hardly need to control ethernet device names to avoid
>>>> breaking iptables-scripts as example
>>>
>>> Yes, the existing rules will continue to be recognized. The bug is
>>> that even they are intrinsically unreliable (as happened with that
>>> rented server), so I think you actually don't want that.
>>
>> how can something like this be unreliable?
>> hwaddresses does not change randomly
>
> Actually, they do for a lot of 'embedded' setups. If you have an SMSC usb-ethernet chip with a blank eeprom (e.g. a beagleboard xM) the kernel will assign a random mac on 1) every reboot (3.x kernels) or 2) every ifup (2.6.x kernels). If you have a board where the bootloader is supposed to read an eeprom or hidden register and pass it to the kernel this will fail if you use a devicetree enabled kernel since the kernel driver writers from the silicon vendor don't care about the bootloader (e.g. beaglebone).
> There are patches available to assign a static mac based on e.g. die IDs, but those aren't in mainine linux yet. And that's just for the 2 platforms I care for at $dayjob and I don't think they are the only ones.
> It sucks, it's a bug and must be fixed, but right now you can't say 'hwaddresses does not change randomly' :(

We see this since years, not only on "cheap" hardware. Things like
this happens everywhere.

The kernel exports the "source" of the address now though, and we
should be able to skip the usage of the MAC entirely if it was created
randomly. The old udev rules did not check for that, but the code in
systemd now should do that properly already.

Kay


More information about the systemd-devel mailing list