public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Canek Peláez Valdés" <caneko@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Re: udev upgrade renames eth-interfaces
Date: Sat, 16 Mar 2013 12:08:23 -0600	[thread overview]
Message-ID: <CADPrc83khiVA8yYx+yLED7VQe0Q4jfak6DoJaymhcWUZWVeCqw@mail.gmail.com> (raw)
In-Reply-To: <1435275.X1LWAPJTBc@queen>

On Sat, Mar 16, 2013 at 11:03 AM, Dan Johansson <Dan.Johansson@dmj.nu> wrote:
> On Saturday 16 March 2013 09.39:17 Jonathan Callen wrote:
>> > Hello,
>> >
>> > Today I upgraded udev on one of my boxes (after hesitating a long
>> > time). Even if  I have /etc/udev/rules.d/80-net-name-slot.rules and
>> > my old 70-persistent-net.rules in place, my interfaces gets renamed
>> > (eth0 gets swapped with eth1) which then messes up my whole
>> > configuration (routing tables and firewall rules). Any suggestion
>> > how to keep my old names and order?
>> Udev, as of version 187, will now refuse to rename a network interface
>> to the name of a network interface that already exists -- which, due
>> to race conditions, can be the case if you are attempting to rename a
>> network device to a name the kernel will later use to name the next
>> enumerated device.  The fix for this issue is to *not* use names that
>> match "eth[0-9]*", "wlan[0-9]*", etc. and instead use a name that the
>> kernel would *not* automatically assign.  Unfortunately, that means
>> that you *cannot* keep your old names and order (upstream claims that
>> the means used to ensure those names were used was unreliable and
>> prone to race conditions anyway, which, looking at the code, I can
>> believe).
> This is great...
> (I hope you can hear the irony)
>
> OK, so I removed the two udev rules (70-persistent-net and 80-net-name-slot) files, thinking if this is the way the "upstream devs" are going then I have to check it out.

That's the smart thing to do.

> After removing the udev-rules and rebooting I got my two new network interfaces called enp0s4 and enp0s5 (no idea what that is supposed to mean).

http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames

http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c

Basically, "en" is for "ethernet", "p" is for "PCI bus", and "0s4" and
"0s5" is for the topology of the cards in your machine: the cards are
in the PCI bus number 0, slot number 4 and 5. In other words, if you
do "find /sys -name enp0s4", I'm betting you will get something like:

/sys/devices/pci0000:00/0000:00:1c.1/0000:00:004.0/net/enp0s4

The "0000:00:004.0" is the part that determines the naming of yout
device. This naming is deterministic: as long as you don't move the
cards from PCI slot, they will be named like that always.

> My next step was to replace eth0 with enp0s5 and eth1 with enp0s4 in /etc/conf.d(net and create two new links (net.lo -> net.enp0s[45]) in /etc/init.d
> Now I could start the two network interfaces (/etc/init.d/net.enp0s[45] start).
> BUT, as soon as I try to start  some service (sshd, ntpd, ...) that is using the network I get a lot of complains that eth0 and eth1 is not started (and can not be started) and the service wont start.
> What have I missed???

Do you have net.eth0 or net.eth1 in /etc/rc.conf?

Regards.
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México


  reply	other threads:[~2013-03-16 18:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-16 13:14 [gentoo-user] udev upgrade renames eth-interfaces Dan Johansson
2013-03-16 13:39 ` [gentoo-user] " Jonathan Callen
2013-03-16 17:03   ` Dan Johansson
2013-03-16 18:08     ` Canek Peláez Valdés [this message]
2013-03-17  9:53       ` Dan Johansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADPrc83khiVA8yYx+yLED7VQe0Q4jfak6DoJaymhcWUZWVeCqw@mail.gmail.com \
    --to=caneko@gmail.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox