<p dir="ltr"><br>
On 5 Dec 2014 10:07, "Marcel Holtmann" <<a href="mailto:marcel@holtmann.org">marcel@holtmann.org</a>> wrote:<br>
><br>
> Hi Lennart,<br>
><br>
> >>>> Moreover, if we<br>
> >>>> give people this feature I'm pretty sure we'll get lots of people<br>
> >>>> expecting it to work also for any other sort of name and getting<br>
> >>>> confused when it doesn't.<br>
> >>><br>
> >>> Well, this is something we can fix by documentation, no?<br>
> >>><br>
> >>> Or maybe name the match option differently, maybe OriginalName= or<br>
> >>> KernelName= or so, and then only matching interfaces where you know<br>
> >>> that the name was selected by userspace in the first place?<br>
> >><br>
> >> I like the idea of OriginalName, much less likely to get people<br>
> >> confused. I now implemented that, with the restriction that we cannot<br>
> >> match on renamed names. For now I left it open to match on ethX style<br>
> >> names, as people in principle could do sensible things like<br>
> >> "OriginalName=eth*" or even "OriginalName=eth0" when we know there is<br>
> >> only one interface.<br>
> >><br>
> >> One thing to consider would be to disallow renaming from a .link file<br>
> >> where the OriginalName was used to match. That way we don't have the<br>
> >> somewhat odd situation that a .link file can only be applied once (we<br>
> >> do not remember the original name, so cannot match on that the second<br>
> >> time around, as that would be a mess)...<br>
> ><br>
> > Maybe we should even store the original name in a udev property, so<br>
> > that we can make this fully idempotent simply because we can always<br>
> > check this new property for the original name passed down from the<br>
> > kernel?<br>
><br>
> you do realize that once the kernel renamed the name, it is free to reuse that name again. So eth0 as OriginalName can then be present multiple times.<br>
><br>
> I think that you can only have OriginalName matching if a renaming has never occurred. Otherwise this is really not deterministic. Since foo0 (renamed from eth0) and and bar0 (renamed from eth0) will both match OriginalName=eth0. The difference is only timing and that is inhering racy of course.</p>
<p dir="ltr">Well, matching on kernel names is not sane, and I put a warning in the manpage.</p>
<p dir="ltr">The reason I left it in was that you could match on eth0 of you know it is the only ethX device on your system, or you could match on eth* which would also beĀ  deterministic.</p>
<p dir="ltr">Cheers,</p>
<p dir="ltr">Tom</p>