linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matt Domsch <Matt_Domsch@Dell.com>
To: dann frazier <dannf@dannf.org>
Cc: Narendra_K@Dell.com, greg@kroah.com, kay.sievers@vrfy.org,
	linux-hotplug@vger.kernel.org, netdev@vger.kernel.org,
	Jordan_Hargrave@Dell.com, Charles_Rose@Dell.com,
	bhutchings@solarflare.com
Subject: Re: [PATCH] udev: create empty regular files to represent net interfaces
Date: Fri, 30 Oct 2009 17:10:03 +0000	[thread overview]
Message-ID: <20091030171003.GA7523@auslistsprd01.us.dell.com> (raw)
In-Reply-To: <20091030160845.GA4547@lackof.org>

On Fri, Oct 30, 2009 at 10:08:45AM -0600, dann frazier wrote:
> On Fri, Oct 30, 2009 at 08:43:44PM +0530, Narendra_K@Dell.com wrote:
> >  
> > >> This way the kernel has only one name, and so does userspace, and 
> > >> everyone is happy.
> > >
> > >There are two issues, which really seem distinct to me.
> > >
> > >Users expect eth0 to map to first-onboard-nic. That's an 
> > >installer issue (since the BIOS can already export this info) 
> > >and I agree that if we want to "fix" that, we should fix it there.
> > >
> > 
> > I agree that installers have to be fixed in the sense that they can be
> > told to find the right interface. But, they expect determinism and
> > depend on "eth0 to map to first-onboard-nic". Installer is one of the
> > applications that is affected by this and needs user intervention, if it
> > is not told about the right interface. I discussed installer as it is so
> > much part of a user experience.
> 
> Right, but couldn't the installer do the work of scanning the SMBIOS
> to figure out which nics are onboard, and reorder the 'eth*' names
> such that these are first? This state could then be written out as
> udev rules so that they persist across reboots.

No, there is a catch-22.  To be sure you know the "proper" ethN name
to assign a device based on an ordering, you have to know about all
the devices.  When udev runs, one device at a time, it can only see
the current device and all those that have come before it, but it can't know
when all the drivers for all the NICs have been loaded.  And if you
hotplug a device in later, it should presumably just go at the end of
the list, but after a reboot, it'll most likely show up somewhere in
the middle of the list.  SMBIOS is static from boottime, not hotplug
aware. If I add a 4-port NIC in slot 3 after boot, it becomes
ethN..N+3.  After reboot, it may well show up at completely different
places, and even the N..N+3 ordering of individiual ports on the card
aren't guaranteed to be consistent.

ethN is fundamentally a nondeterministic namespace, and trying to
enforce determinism on it is, from all my attempts, impossible.  Hence
the desire to change the namespace.  But there can be many
different naming policies one might want (including the
nondeterministic ethN policy), and for all other types of devices this
isn't a problem - we can have all the policies we want, in parallel.
Only for network devices we can't.

Stephen, I hadn't seen the ifalias field you added.  I can see that
being helpful to a user (some tool can write a more meaningful string
to it), but I can't see it being useful programmatically.  It still
doesn't get me to "ifconfig the NIC in slot 3 port 2" or "ifconfig the
NIC I booted from".

Thanks,
Matt

-- 
Matt Domsch
Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux

  parent reply	other threads:[~2009-10-30 17:10 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <EDA0A4495861324DA2618B4C45DCB3EE5894ED@blrx3m08.blr.amer.dell.com>
2009-10-09 14:00 ` PATCH: Network Device Naming mechanism and policy Narendra K
2009-10-09 14:51   ` Matt Domsch
2009-10-09 16:23     ` Bryan Kadzban
2009-10-09 16:56       ` Marco d'Itri
2009-10-12 10:41     ` Scott James Remnant
2009-10-12 11:31       ` Ben Hutchings
2009-10-12 17:37       ` Bill Nottingham
2009-10-13 18:06         ` Dan Williams
2009-10-13 18:53           ` Ben Hutchings
2009-10-13 19:53             ` John W. Linville
2009-10-09 16:36   ` Greg KH
2009-10-09 17:17     ` Matt Domsch
2009-10-09 17:22       ` Greg KH
2009-10-09 21:09   ` Matt Domsch
2009-10-10  2:44     ` Stephen Hemminger
2009-10-10  4:40       ` Matt Domsch
2009-10-10  5:23         ` Greg KH
2009-10-10  8:29           ` Sujit K M
2009-10-10 16:27             ` Greg KH
2009-10-10 19:00               ` Ben Hutchings
2009-10-10 21:10                 ` Greg KH
2009-10-10 12:47           ` Matt Domsch
2009-10-10 16:25             ` Greg KH
2009-10-10 17:34               ` Bryan Kadzban
2009-10-10 21:13                 ` Greg KH
2009-10-12  6:21                   ` Bryan Kadzban
2009-10-12 16:19                     ` Bryan Kadzban
2009-10-11 16:40               ` David Zeuthen
2009-10-11 18:47                 ` Greg KH
2009-10-10 18:11           ` Bill Fink
2009-10-10 18:35             ` Kay Sievers
2009-10-11 21:10           ` Rob Townley
2009-10-11 23:04             ` Matt Domsch
2009-10-12  3:00             ` Greg KH
2009-10-12 18:35               ` Rob Townley
2009-10-12 18:44                 ` Matt Domsch
2009-10-12 17:45           ` Bill Nottingham
2009-10-12 17:55             ` Greg KH
2009-10-12 18:07               ` Bill Nottingham
2009-10-12 18:15                 ` Greg KH
2009-10-10 18:32         ` Stephen Hemminger
2009-10-10 21:06           ` Greg KH
2009-10-13 18:02             ` Dan Williams
2009-10-13 18:56               ` Narendra_K
2009-10-12  7:30           ` Kurt Van Dijck
2009-10-11  0:37         ` Marco d'Itri
2009-10-13 15:08   ` dann frazier
2009-10-13 17:25     ` Narendra_K
2009-10-13 17:36       ` dann frazier
2009-10-16  0:32         ` dann frazier
2009-10-16 14:14           ` Narendra_K
2009-10-16 15:20             ` dann frazier
2009-10-16 15:33               ` Ben Hutchings
2009-10-16 15:41                 ` dann frazier
2009-10-16 21:40                 ` dann frazier
2009-10-19 11:42                   ` Narendra_K
2009-10-19 16:14                     ` Bryan Kadzban
2009-11-04 14:35                       ` Narendra_K
2009-11-06  8:49                         ` Marco d'Itri
2009-11-06 22:06                           ` Matt Domsch
2009-11-06 22:35                             ` Marco d'Itri
2009-11-06 23:17                               ` dann frazier
2009-11-09 14:53                               ` Narendra_K
2009-11-10 17:23                                 ` Stephen Hemminger
2009-11-11  6:43                                   ` Narendra_K
2009-11-06 22:05                         ` Domsch, Matt
2009-10-22  6:36                   ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-27 20:55                     ` [PATCH] udev: create empty regular files to represent net interfaces Matt Domsch
2009-10-28  8:23                       ` [PATCH] udev: create empty regular files to represent net Kay Sievers
2009-10-28 13:03                         ` [PATCH] udev: create empty regular files to represent net interfaces Matt Domsch
2009-10-28 15:09                           ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-28 16:09                             ` [PATCH] udev: create empty regular files to represent net interfaces Jordan_Hargrave
2009-10-28 16:09                             ` Jordan_Hargrave
2009-10-28 16:11                               ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-28 13:06                         ` Ben Hutchings
2009-10-28 19:27                         ` [PATCH] udev: create empty regular files to represent net interfaces Narendra_K
2009-10-29 13:11                         ` Matt Domsch
2009-10-29 14:25                           ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-29 16:49                             ` Ben Hutchings
2009-10-29 16:55                               ` Greg KH
2009-10-29 17:12                                 ` Ben Hutchings
2009-10-29 17:20                                   ` Greg KH
2009-10-29 16:56                             ` [PATCH] udev: create empty regular files to represent net interfaces Narendra_K
2009-10-29 16:52                               ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-29 17:34                                 ` [PATCH] udev: create empty regular files to represent netinterfaces Narendra_K
2009-10-29 17:50                                   ` [PATCH] udev: create empty regular files to represent dann frazier
2009-10-29 17:46                             ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-30  3:30                               ` Marco d'Itri
2009-10-30  5:38                                 ` dann frazier
2009-10-30  6:22                                   ` Marco d'Itri
2009-10-30 15:00                                     ` dann frazier
2009-10-30 15:25                               ` [PATCH] udev: create empty regular files to represent net interfaces Narendra_K
2009-10-30 16:08                                 ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-30 16:54                                   ` [PATCH] udev: create empty regular files to represent netinterfaces Narendra_K
2009-10-30 17:05                                     ` [PATCH] udev: create empty regular files to represent dann frazier
2009-10-30 17:10                                   ` Matt Domsch [this message]
2009-10-30 17:13                                     ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-30  7:45                         ` [PATCH] udev: create empty regular files to represent net interfaces Hannes Reinecke
2009-10-30 16:22                           ` Bryan Kadzban
2009-10-30 16:34                             ` [PATCH] udev: create empty regular files to represent net Stephen Hemminger
2009-10-13 19:51       ` PATCH: Network Device Naming mechanism and policy Greg KH
2009-10-13 20:00         ` Jordan_Hargrave
2009-10-13 20:19           ` Greg KH
2009-10-13 22:05             ` Matt Domsch
2009-10-13 22:08             ` dann frazier

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=20091030171003.GA7523@auslistsprd01.us.dell.com \
    --to=matt_domsch@dell.com \
    --cc=Charles_Rose@Dell.com \
    --cc=Jordan_Hargrave@Dell.com \
    --cc=Narendra_K@Dell.com \
    --cc=bhutchings@solarflare.com \
    --cc=dannf@dannf.org \
    --cc=greg@kroah.com \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-hotplug@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).