Hi,
my system contains three cable-based nics. After updating from 12.2 to 12.3 the mapping of MAC-Adresses to Nic-Names eth[0-9] became unstable and on most reboots it was different. After reading a bunch of posts on the net I found an advice from Kai Sievers stating that a race condition between kernel and udev existed an one should use an entirely different name for nics instead of “eth”. So I took “nic” (not very imaginative, I admit), replaced the “eth” by “nic” in the NAME variable in all lines of /etc/udev/rules.d/70-persistent-net.rules. And renamed the ifcfg-… datafiles to ifcfg-nic[0-9] accordingly, since I use the traditional ifup-method to run the network. Now the naming is stable and the system comes up properly.
If I just remove the 70-persistent-net.rules file it is regenerated with “eth”-names during boot and I’m back at the starting point.
As a result I presume I will have to maintain the 70-peristent-net.rules manually in case of hardware changes and remote updates will become a risky game as I cannot assume to get a new connection after reboot. This is strange I think.
Question : where do I define the nics name string “eth” or “nic” to have the kernel set it up properly for daily operations and upgrade-safe towards new versions of 12.[4567…]? Where did I miss something or can anyone point me to the proper information about this ?
Many thanks in advance … Michael
On 04/10/2013 06:56 AM, mvinnemeier wrote:
>
> Hi,
>
> my system contains three cable-based nics. After updating from 12.2 to
> 12.3 the mapping of MAC-Adresses to Nic-Names eth[0-9] became unstable
> and on most reboots it was different. After reading a bunch of posts on
> the net I found an advice from Kai Sievers stating that a race condition
> between kernel and udev existed an one should use an entirely different
> name for nics instead of “eth”. So I took “nic” (not very imaginative, I
> admit), replaced the “eth” by “nic” in the NAME variable in all lines of
> /etc/udev/rules.d/70-persistent-net.rules. And renamed the ifcfg-…
> datafiles to ifcfg-nic[0-9] accordingly, since I use the traditional
> ifup-method to run the network. Now the naming is stable and the system
> comes up properly.
> If I just remove the 70-persistent-net.rules file it is regenerated
> with “eth”-names during boot and I’m back at the starting point.
>
> As a result I presume I will have to maintain the
> 70-peristent-net.rules manually in case of hardware changes and remote
> updates will become a risky game as I cannot assume to get a new
> connection after reboot. This is strange I think.
>
> Question : where do I define the nics name string “eth” or “nic” to
> have the kernel set it up properly for daily operations and upgrade-safe
> towards new versions of 12.[4567…]? Where did I miss something or can
> anyone point me to the proper information about this ?
Starting with a 70-persistent-net.rules file that works the way you want it,
rename it to 80-persistent-net.rules. A new 70-… file will be created on the
next boot, but the 80-… version will be run after it.
FYI, the next openSUSE version will be 13.1.
Clever idea. It works like a charm and with “eth” name strings also. Many thanks … Michael
After some days of using the 80-persistent-net.rules file it shows that using “eth” for naming the interfaces does not work. This is a pity, because there are other files naming ethernet interfaces “eth” witch must be changed also, for example /etc/sysconfig/network/config, line 152, showing LINKLOCAL_INTERFACES=“eth*[0-9]|tr*[0-9]|wlan[0-9]|ath[0-9]”…