<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 28 Oct 2024 at 19:17, Mantas Mikulėnas <<a href="mailto:grawity@gmail.com">grawity@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 28, 2024 at 8:54 PM Henti Smith <<a href="mailto:henti@gaydonsmith.co.uk" target="_blank">henti@gaydonsmith.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>Where can I find detailed information on where to find the names when systemd-udevd sees the interface for the first time ? <br></div></div></div></blockquote><div><br></div><div>At that point, they are just the original kernel names: "eth0", "eth1", etc.</div></div></div></blockquote><div><br></div><div>I'm going to look today with kernel parameter
<tt class="gmail-backtick">net.ifnames=0</tt> to see what the names are. Maybe this will point at a way forward. <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div>
In other words, at that point in time it is not "earlier renaming" but "future renaming", and the udev rule that
processes your .link file is the very same rule that <i>would've</i> renamed
the interface to "eno2" otherwise.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div><br></div><div>Silvio in my previous mail thread commented that I can use
<span>udevadm</span> info which is what I'm trying to do here. Is there another method to get the "pre systemd" interface names that I should be using ? <br></div><div><br></div><div>I cannot use mac addresses to match on, nor the Path as both are not reliable in my use case, hence using the full DEVPATH from udevadm. <br></div></div></div></blockquote><div><br></div><div>Do you mean that
.../0000:00:10.0/0000:05:00.0 is
reliable, but .../0000:05:00.0
in itself is not? In that case, it might be possible to write a .network file or an udev rule that matches just these two parameters, but without comparing against "enoX" or "enpX".</div><div><br></div><div>For example, maybe:</div><div>
Property=DEVPATH=/devices/pci0000:00/0000:00:11.0/0000:06:00.0/net/eth*</div></div></div></blockquote><div><br></div><div>I'll attempt today with wildcards and see what the result is, but based on the man page, all options implicitly mention glob support while property doesn't, but I'll try. <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>If networkd doesn't accept wildcards, then an udev rule may work:</div><div> DEVPATH=="
/devices/pci0000:00/0000:00:11.0/0000:06:00.0/net/*", NAME="mvc-sw1"</div><div>eno2 would also have ATTRS{index}=="2" from the firmware.</div></div></div></blockquote><div><br></div>I went the udev route initially, however Lennart advised that I should stick with link files. All the rest of our networking is being done in systemd-network, so this aligned with our current configuration methods. <br></div><div class="gmail_quote"><br></div><div class="gmail_quote">I'll try udev as well. <br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Kind regards</div><div class="gmail_quote">Henti<br></div></div>