В Tue, 03 Mar 2015 08:18:20 +0100 Per Jessen <per@computer.org> пишет:
Andrei Borzenkov wrote:
One reason for inventing new names was avoiding name clash with automatic kernel assignment. This still applies.
Yes, I remember reading that as part of the reasoning.
If you do not like "predictable" names (I do not) use something like netXX. But do not use ethXX, as it puts you back on square one.
Which is where I want to be :-)
The only case when it is sure to work is when your names are the same as autossigned by kernels, in which case you can simply leave it to kernel in the first place.
I think in fact my names (ethXX) are always the same as those allocated by the kernel. Sofar I have never had any problems with names clashing. I guess "simply leave it to kernel" means using net.ifnames=0 ?
Not really. In openSUSE having net.ifnames=0 will enable legacy persistent names generator (that writes 70-persistent-net.rules). It tries to find non-conflicting names for ethX interfaces (i.e. those that are not already defined in 70-persistent-net.rules). What I miss is where temporary rules (created while root is read-only) are copied to /etc. Another consideration is that persistent generation is not present in initrd. So interface in initrd may have different name. To truly enable kernel names just create udev rule that sets NAME=${INTERFACE} early enough.
Just wondering out loud - surely the loading sequence of the network drivers is important too?
Yes, of course.
On one system I see 'e1000' loaded first,
followed by 'tg3'. e1000 is for a 4port gigE card, tg3 is for two builtin gigE interfaces. My renaming makes the two tg3 interface = eth0, eth1 and the e1000 eth2-3-4-5. If I had left it to the kernel, I guess I would have e1000 = eth0-1-2-3 and tg3 = eth4-5.
-- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org