[CentOS] Editing udev rules Was: More on Re: Really changing the hostname

Les Mikesell lesmikesell at gmail.com
Sat Feb 16 04:44:00 UTC 2013


On Fri, Feb 15, 2013 at 10:16 PM,  <me at tdiehl.org> wrote:
>>>
>>> What is messing with udev rules supposed to be necessary?
>>
>> You should have a line in /etc/udev/rules.d/70-persistent-net.rules
>> that associates the MAC address with the eth? name for each of your
>> NICs.   Certain things (like removing the file, and maybe some
>> hardware changes) will make it be reconstructed during boot and if you
>> only have one NIC you wouldn't have much chance of it being wrong.
>> But, if the name set there doesn't match the name of the
>> /etc/sysconfig/network-scripts/ifcfg-eth* file with the correct MAC
>> address, that interface should not start.
>
> Empirical evidence seems to suggest that if the correct udev entry is missing
> udev will create the entry on its own.
>
> FWIW, the cards I am changing out have 3 ports on them
> and again after doing 15 of these, I have never messed with udev.
>
> I did not even know about this "problem" until I read about it on this list.

>From what I've seen, the ports on a single card will be detected in
the same order every time.   The issue is that if you have some
motherboard NICs and one or more  pci cards, the  order of detection
of the groups will be a matter of chance.   Our servers mostly have
some Broadcomm's on the MB plus a few multi-port Intel cards.   If you
remove the udev rules,  there is no way to know whether the MB NICs or
the add-ons will be eth0 and eth1.

> Interestingly enough, I just looked at the udev file and it contains not only
> the new mac addresses but also the old ones.
>
> For example the entries for eth1 looks like the following:
>
> # PCI device 0x10ec:0x8167 (r8169)
> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:18:a9:e4:ad", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
>
> # PCI device 0x8086:0x1076 (e1000) (custom name provided by external tool)
> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:18:a4:eb:d0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
>
> I did not put any of these entries in there and I wonder what
> "external tool" is providing the "custom name"?

Don't know about the tool, but note that this would come out
differently if you added the new card, booted, then shut down and
removed the old card.

> Is there anyone here who actually knows how this is supposed to work?

Randomly, I guess...

-- 
   Les Mikesell
     lesmikesell at gmail.com



More information about the CentOS mailing list