All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kay Sievers <kay.sievers@vrfy.org>
To: Valdis.Kletnieks@vt.edu
Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
	Jiri Slaby <jslaby@suse.cz>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Greg KH <greg@kroah.com>, LKML <linux-kernel@vger.kernel.org>,
	ML netdev <netdev@vger.kernel.org>
Subject: Re: network regression: cannot rename netdev twice
Date: Wed, 8 Feb 2012 11:57:18 +0100	[thread overview]
Message-ID: <CAPXgP10-W+yeHJMENzWi7FBkYOaXw6ccMMMT=K9X2bf_Tigitw@mail.gmail.com> (raw)
In-Reply-To: <14373.1328683324@turing-police.cc.vt.edu>

On Wed, Feb 8, 2012 at 07:42,  <Valdis.Kletnieks@vt.edu> wrote:
> On Wed, 08 Feb 2012 04:50:15 +0100, Kay Sievers said:
>
>> After years of working in that area I will stop to work on these hacks
>> to promise stable ethX names. It was just wrong, like enumerations
>> always are in hotplug setups.
>
> So (real world case) I've got a server that's got a 1G ethernet connected to
> the public net, a 1G ethernet that's a cluster management network, and
> a 10G ethernet that connects to our HPC clusters.
>
> And I want to add iptables rules that distinguish based on interface. Currently
> I can nail the management net to eth0, the public net to eth1, and the 10G to
> eth2, and then just add "-i eth1" or whatever in the iptables ruleset.
>
> I really don't care if the 0/1/2 move around - but if we're not having nailed-down
> interface names, what will take the place of '-i ethN' in iptables?
>
>> People who need predictable interface names should just manually
>> configure custom/descriptive names, or names which are reliably
>> derived from the hardware, like firmware-provided names or the pci
>> slot number.
>
> Or is this sort of thing in /etc/udev/rules.d/70-persistent-net.rules
> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:0b:f2:80", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
> what you are trying to move to, and my systems are already onboard and
> I should just move along, nothing to see here? ;)

Yeah, that's what we did in the past. It works fine if you never have
to swap names like eth0 and eth1, with need to free one of the the
names with a temporary rename.

If another device is added by a different kernel module, or just a USB
network device is already plugged-in at bootup time, the parallel
loading of drivers might cause the kernel to create a new eth0 or eth1
just in the moment we have the temporary rename active and we want to
swap the names.

That model is just entirely flawed and will never work reliably
without creating an even bigger mess we already have, by requiring
complex retry loops across multiple devices, or having global locks
including the kernel's device name allocation logic.

Let's just move on and stop pretending we want or we can solve these
problems. Simple device enumerations in hotplug setups can by their
very definition not work in a predictable way, we should never have
tried to mess around here, and just moved on to something that has at
least the potential to work.

Kay

  reply	other threads:[~2012-02-08 10:57 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30 21:56 sysfs regression: wrong link counts Jiri Slaby
2012-01-30 22:06 ` Greg KH
2012-01-30 22:10   ` Alan Cox
2012-01-30 22:27     ` Greg KH
2012-01-30 22:43       ` Al Viro
2012-01-30 22:56         ` Al Viro
2012-01-31  1:27       ` Eric W. Biederman
2012-01-31 10:48         ` Jiri Slaby
2012-01-31 12:44           ` Eric W. Biederman
2012-01-31 16:45             ` Linus Torvalds
2012-01-31 19:18               ` Al Viro
2012-02-01  5:06               ` Eric W. Biederman
2012-02-01 22:21                 ` [PATCH] sysfs: Optionally count subdirectories to support buggy applications Eric W. Biederman
2012-02-01 22:24                   ` Greg Kroah-Hartman
2012-02-01 22:44                     ` Eric W. Biederman
2012-02-01 22:49                       ` Greg Kroah-Hartman
2012-02-01 22:31                   ` Dave Jones
2012-02-01 22:35                   ` Jiri Slaby
2012-02-01 23:15                   ` Linus Torvalds
2012-02-01 23:18                     ` Linus Torvalds
2012-02-02  1:22                       ` Al Viro
2012-02-02 21:24                         ` [RFC] killing boilerplate checks in ->link/->mkdir/->rename Al Viro
2012-02-02 23:46                           ` Linus Torvalds
2012-02-03  1:16                             ` Al Viro
2012-02-03  1:45                               ` Al Viro
2012-02-03  2:00                                 ` Linus Torvalds
2012-02-03 14:57                               ` Chris Mason
2012-02-03 17:08                               ` Al Viro
2012-02-03 19:34                                 ` Artem Bityutskiy
2012-02-06  8:50                                 ` Artem Bityutskiy
2012-02-06 13:56                                   ` Al Viro
2012-02-06 17:05                                     ` Artem Bityutskiy
2012-02-06 17:11                                       ` Al Viro
2012-02-07  7:21                                         ` Artem Bityutskiy
2012-02-06 22:49                               ` Dave Chinner
2012-02-03  8:25                           ` Andreas Dilger
2012-02-03 17:03                             ` Al Viro
2012-02-04  7:42                               ` Andreas Dilger
2012-03-05 13:30                       ` [PATCH] sysfs: Optionally count subdirectories to support buggy applications Jiri Slaby
2012-03-05 16:09                         ` Greg Kroah-Hartman
2012-03-05 16:47                           ` Linus Torvalds
2012-03-08 21:05                             ` Greg Kroah-Hartman
2012-03-08 22:18                             ` Eric W. Biederman
2012-03-08 23:40                               ` Linus Torvalds
2012-03-08 21:28                           ` Eric W. Biederman
2012-03-08 21:34                           ` [PATCH 1/3] sysfs: Compact sysfs_dirent s_flags into a byte Eric W. Biederman
2012-03-08 21:36                             ` [PATCH 2/3] sysfs: Maintain usable nlink directory counts Eric W. Biederman
2012-03-08 21:37                               ` [PATCH 3/3] sysfs: Remove SYSFS_FLAG_REMOVED and use sd->s_nlink == 0 instead Eric W. Biederman
2012-03-09  3:40                                 ` Linus Torvalds
2012-03-08 22:28                             ` [PATCH 1/3] sysfs: Compact sysfs_dirent s_flags into a byte Greg Kroah-Hartman
2012-03-09  2:49                               ` Eric W. Biederman
2012-01-31  3:45     ` sysfs regression: wrong link counts Eric W. Biederman
2012-01-31 11:54       ` Alan Cox
2012-01-30 22:52 ` Kay Sievers
2012-01-31 10:41   ` network regression: cannot rename netdev twice Jiri Slaby
2012-01-31 10:52     ` Kay Sievers
2012-01-31 11:00       ` Jiri Slaby
2012-01-31 11:13         ` Kay Sievers
2012-01-31 11:17           ` Jiri Slaby
2012-01-31 11:58             ` Kay Sievers
2012-01-31 14:18               ` Eric W. Biederman
2012-01-31 14:40                 ` [PATCH] sysfs: Update the name hash when renaming sysfs entries Eric W. Biederman
2012-01-31 14:41                   ` Jiri Slaby
2012-01-31 14:55                   ` Greg KH
2012-02-04  2:14       ` network regression: cannot rename netdev twice Henrique de Moraes Holschuh
2012-02-06 20:03         ` Kay Sievers
2012-02-08  2:00           ` Henrique de Moraes Holschuh
2012-02-08  3:50             ` Kay Sievers
2012-02-08  6:42               ` Valdis.Kletnieks
2012-02-08 10:57                 ` Kay Sievers [this message]
2012-02-08 20:06                   ` Valdis.Kletnieks
2012-02-08 20:27                     ` Stephen Hemminger
2012-02-08 23:48                     ` Kay Sievers
2012-01-31  1:32 ` sysfs regression: wrong link counts Eric W. Biederman
2012-02-01 18:29 ` Maciej Rutecki

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='CAPXgP10-W+yeHJMENzWi7FBkYOaXw6ccMMMT=K9X2bf_Tigitw@mail.gmail.com' \
    --to=kay.sievers@vrfy.org \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=ebiederm@xmission.com \
    --cc=greg@kroah.com \
    --cc=hmh@hmh.eng.br \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.