From: Matt Domsch <Matt_Domsch@dell.com>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: dann frazier <dannf@hp.com>,
linux-hotplug@vger.kernel.org, Narendra_K@dell.com,
netdev@vger.kernel.org, Jordan_Hargrave@dell.com,
Charles_Rose@dell.com, Ben Hutchings <bhutchings@solarflare.com>
Subject: Re: [PATCH] udev: create empty regular files to represent net interfaces
Date: Wed, 28 Oct 2009 13:03:08 +0000 [thread overview]
Message-ID: <20091028130308.GA24611@auslistsprd01.us.dell.com> (raw)
In-Reply-To: <ac3eb2510910280123g3c0e3d95wb38a239238906027@mail.gmail.com>
On Wed, Oct 28, 2009 at 09:23:57AM +0100, Kay Sievers wrote:
> On Tue, Oct 27, 2009 at 21:55, Matt Domsch <Matt_Domsch@dell.com> wrote:
> > On Thu, Oct 22, 2009 at 12:36:20AM -0600, dann frazier wrote:
> >> Here's a proof of concept to further the discussion..
> >>
> >> The default filename uses the format:
> >> ?? /dev/netdev/by-ifindex/$ifindex
> >>
> >> This provides the infrastructure to permit udev rules to create aliases for
> >> network devices using symlinks, for example:
> >>
> >> ?? /dev/netdev/by-name/eth0 -> ../by-ifindex/1
> >> ?? /dev/netdev/by-biosname/LOM0 -> ../by-ifindex/3
> >>
> >> A library (such as the proposed libnetdevname) could use this information
> >> to provide an alias->realname mapping for network utilities.
> >
> > yes, this could work, as IFINDEX is already exported in the uevents,
> > and that's the primary value udev needs to set up the mapping.
> >
> > While I like the little ifindex2name script you've got, I think udev
> > could simply call if_indextoname() to get this, and not call an
> > external program? ??I suppose it could be a really really simple
> > external program too.
>
> What's the point of all this? Why would udev ever need to find the
> name of a device by the ifindex? The device name is the primary value
> for the kernel events udev acts on.
Ultimately, udev doesn't care. I just want to use udev to keep track
of the pathname to device connections, like it does for all other
types of devices.
Applications such as net-tools, iproute, ethtool, etc. take a kernel
device name. I want to extend them to also take a path, and resolve
that path to a kernel device name. libnetdevname currently is _one
small function_ which does this. It need not even be in a library.
But whatever the mechanism, the path names need to be anchored
somewhere, so the library or all apps doing this kind of lookup know
where to look.
> That all sounds very much like something which will hit us back some
> day. I'm not sure, if udev should publish such dead text files in
> /dev, it does not seem to fit the usual APIs/assumptions where /sys
> and /dev match, and libudev provides access to both. It all sounds
> more like a database for a possible netdevname library, which does not
> need to be public in /dev, right?
Right, it doesn't need to be in /dev. We could have udev rules that
simply call yet another program to maintain that database, in yet
another way. But I really like how udev maintains the database of
symlinks for other device types, using symlinks in /dev/, and which
people are quite familiar with. Why can't it be extended to do
likewise for network device names too?
There is a completely different approach possible here, if people
don't want to use something like /dev to track device name aliases.
We could put the whole name alias mechanism in the kernel, with new
netlink commands to add/remove/list aliases (and now we've overloaded that
term, as the old eth0:1 "alias" and dmz -> eth1 "alias" wouldn't be
the same thing). But that idea hasn't met with a lot of interest
either.
--
Matt Domsch
Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux
WARNING: multiple messages have this Message-ID (diff)
From: Matt Domsch <Matt_Domsch@dell.com>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: dann frazier <dannf@hp.com>,
linux-hotplug@vger.kernel.org, Narendra_K@dell.com,
netdev@vger.kernel.org, Jordan_Hargrave@dell.com,
Charles_Rose@dell.com, Ben Hutchings <bhutchings@solarflare.com>
Subject: Re: [PATCH] udev: create empty regular files to represent net interfaces
Date: Wed, 28 Oct 2009 08:03:08 -0500 [thread overview]
Message-ID: <20091028130308.GA24611@auslistsprd01.us.dell.com> (raw)
In-Reply-To: <ac3eb2510910280123g3c0e3d95wb38a239238906027@mail.gmail.com>
On Wed, Oct 28, 2009 at 09:23:57AM +0100, Kay Sievers wrote:
> On Tue, Oct 27, 2009 at 21:55, Matt Domsch <Matt_Domsch@dell.com> wrote:
> > On Thu, Oct 22, 2009 at 12:36:20AM -0600, dann frazier wrote:
> >> Here's a proof of concept to further the discussion..
> >>
> >> The default filename uses the format:
> >> ?? /dev/netdev/by-ifindex/$ifindex
> >>
> >> This provides the infrastructure to permit udev rules to create aliases for
> >> network devices using symlinks, for example:
> >>
> >> ?? /dev/netdev/by-name/eth0 -> ../by-ifindex/1
> >> ?? /dev/netdev/by-biosname/LOM0 -> ../by-ifindex/3
> >>
> >> A library (such as the proposed libnetdevname) could use this information
> >> to provide an alias->realname mapping for network utilities.
> >
> > yes, this could work, as IFINDEX is already exported in the uevents,
> > and that's the primary value udev needs to set up the mapping.
> >
> > While I like the little ifindex2name script you've got, I think udev
> > could simply call if_indextoname() to get this, and not call an
> > external program? ??I suppose it could be a really really simple
> > external program too.
>
> What's the point of all this? Why would udev ever need to find the
> name of a device by the ifindex? The device name is the primary value
> for the kernel events udev acts on.
Ultimately, udev doesn't care. I just want to use udev to keep track
of the pathname to device connections, like it does for all other
types of devices.
Applications such as net-tools, iproute, ethtool, etc. take a kernel
device name. I want to extend them to also take a path, and resolve
that path to a kernel device name. libnetdevname currently is _one
small function_ which does this. It need not even be in a library.
But whatever the mechanism, the path names need to be anchored
somewhere, so the library or all apps doing this kind of lookup know
where to look.
> That all sounds very much like something which will hit us back some
> day. I'm not sure, if udev should publish such dead text files in
> /dev, it does not seem to fit the usual APIs/assumptions where /sys
> and /dev match, and libudev provides access to both. It all sounds
> more like a database for a possible netdevname library, which does not
> need to be public in /dev, right?
Right, it doesn't need to be in /dev. We could have udev rules that
simply call yet another program to maintain that database, in yet
another way. But I really like how udev maintains the database of
symlinks for other device types, using symlinks in /dev/, and which
people are quite familiar with. Why can't it be extended to do
likewise for network device names too?
There is a completely different approach possible here, if people
don't want to use something like /dev to track device name aliases.
We could put the whole name alias mechanism in the kernel, with new
netlink commands to add/remove/list aliases (and now we've overloaded that
term, as the old eth0:1 "alias" and dmz -> eth1 "alias" wouldn't be
the same thing). But that idea hasn't met with a lot of interest
either.
--
Matt Domsch
Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux
next prev parent reply other threads:[~2009-10-28 13:03 UTC|newest]
Thread overview: 210+ 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:00 ` Narendra K
2009-10-09 14:51 ` Matt Domsch
2009-10-09 14:51 ` Matt Domsch
2009-10-09 16:23 ` Bryan Kadzban
2009-10-09 16:23 ` Bryan Kadzban
2009-10-09 16:56 ` Marco d'Itri
2009-10-09 16:56 ` Marco d'Itri
2009-10-12 10:41 ` Scott James Remnant
2009-10-12 10:41 ` Scott James Remnant
2009-10-12 11:31 ` Ben Hutchings
2009-10-12 11:31 ` Ben Hutchings
2009-10-12 17:37 ` Bill Nottingham
2009-10-12 17:37 ` Bill Nottingham
2009-10-13 18:06 ` Dan Williams
2009-10-13 18:06 ` Dan Williams
2009-10-13 18:53 ` Ben Hutchings
2009-10-13 18:53 ` Ben Hutchings
2009-10-13 19:53 ` John W. Linville
2009-10-13 19:53 ` John W. Linville
2009-10-09 16:36 ` Greg KH
2009-10-09 16:36 ` Greg KH
2009-10-09 17:17 ` Matt Domsch
2009-10-09 17:17 ` Matt Domsch
2009-10-09 17:22 ` Greg KH
2009-10-09 17:22 ` Greg KH
2009-10-09 21:09 ` Matt Domsch
2009-10-09 21:09 ` Matt Domsch
2009-10-10 2:44 ` Stephen Hemminger
2009-10-10 2:44 ` Stephen Hemminger
2009-10-10 4:40 ` Matt Domsch
2009-10-10 4:40 ` Matt Domsch
2009-10-10 5:23 ` Greg KH
2009-10-10 5:23 ` Greg KH
2009-10-10 8:17 ` Sujit K M
2009-10-10 8:29 ` Sujit K M
2009-10-10 16:27 ` Greg KH
2009-10-10 16:27 ` Greg KH
2009-10-10 19:00 ` Ben Hutchings
2009-10-10 19:00 ` Ben Hutchings
2009-10-10 21:10 ` Greg KH
2009-10-10 21:10 ` Greg KH
2009-10-10 12:47 ` Matt Domsch
2009-10-10 12:47 ` Matt Domsch
2009-10-10 16:25 ` Greg KH
2009-10-10 16:25 ` Greg KH
2009-10-10 17:34 ` Bryan Kadzban
2009-10-10 17:34 ` Bryan Kadzban
2009-10-10 21:13 ` Greg KH
2009-10-10 21:13 ` Greg KH
2009-10-12 6:21 ` Bryan Kadzban
2009-10-12 6:21 ` Bryan Kadzban
2009-10-12 16:19 ` Bryan Kadzban
2009-10-12 16:19 ` Bryan Kadzban
2009-10-11 16:40 ` David Zeuthen
2009-10-11 16:40 ` David Zeuthen
2009-10-11 18:47 ` Greg KH
2009-10-11 18:47 ` Greg KH
2009-10-10 18:11 ` Bill Fink
2009-10-10 18:11 ` Bill Fink
2009-10-10 18:35 ` Kay Sievers
2009-10-10 18:35 ` Kay Sievers
2009-10-11 21:10 ` Rob Townley
2009-10-11 21:10 ` Rob Townley
2009-10-11 23:04 ` Matt Domsch
2009-10-11 23:04 ` Matt Domsch
2009-10-12 3:00 ` Greg KH
2009-10-12 3:00 ` Greg KH
2009-10-12 18:35 ` Rob Townley
2009-10-12 18:35 ` Rob Townley
2009-10-12 18:44 ` Matt Domsch
2009-10-12 18:44 ` Matt Domsch
2009-10-12 17:45 ` Bill Nottingham
2009-10-12 17:45 ` Bill Nottingham
2009-10-12 17:55 ` Greg KH
2009-10-12 17:55 ` Greg KH
2009-10-12 18:07 ` Bill Nottingham
2009-10-12 18:07 ` Bill Nottingham
2009-10-12 18:15 ` Greg KH
2009-10-12 18:15 ` Greg KH
2009-10-10 18:32 ` Stephen Hemminger
2009-10-10 18:32 ` Stephen Hemminger
2009-10-10 21:06 ` Greg KH
2009-10-10 21:06 ` Greg KH
2009-10-13 18:02 ` Dan Williams
2009-10-13 18:02 ` Dan Williams
2009-10-13 18:53 ` Narendra_K
2009-10-13 18:56 ` Narendra_K
2009-10-12 7:30 ` Kurt Van Dijck
2009-10-12 7:30 ` Kurt Van Dijck
2009-10-11 0:37 ` Marco d'Itri
2009-10-11 0:37 ` Marco d'Itri
2009-10-13 15:08 ` dann frazier
2009-10-13 15:08 ` dann frazier
2009-10-13 17:13 ` Narendra_K
2009-10-13 17:25 ` Narendra_K
2009-10-13 17:36 ` dann frazier
2009-10-13 17:36 ` dann frazier
2009-10-16 0:32 ` dann frazier
2009-10-16 0:32 ` dann frazier
2009-10-16 14:02 ` Narendra_K
2009-10-16 14:14 ` Narendra_K
2009-10-16 15:20 ` dann frazier
2009-10-16 15:20 ` dann frazier
2009-10-16 15:33 ` Ben Hutchings
2009-10-16 15:33 ` Ben Hutchings
2009-10-16 15:41 ` dann frazier
2009-10-16 15:41 ` dann frazier
2009-10-16 21:40 ` dann frazier
2009-10-16 21:40 ` dann frazier
2009-10-19 11:30 ` Narendra_K
2009-10-19 11:42 ` Narendra_K
2009-10-19 16:14 ` Bryan Kadzban
2009-10-19 16:14 ` Bryan Kadzban
2009-11-04 14:23 ` Narendra_K
2009-11-04 14:35 ` Narendra_K
2009-11-06 8:49 ` Marco d'Itri
2009-11-06 8:49 ` Marco d'Itri
2009-11-06 22:06 ` Matt Domsch
2009-11-06 22:06 ` Matt Domsch
2009-11-06 22:35 ` Marco d'Itri
2009-11-06 22:35 ` Marco d'Itri
2009-11-06 23:17 ` dann frazier
2009-11-06 23:17 ` dann frazier
2009-11-09 14:41 ` Narendra_K
2009-11-09 14:53 ` Narendra_K
2009-11-10 17:23 ` Stephen Hemminger
2009-11-10 17:23 ` Stephen Hemminger
2009-11-11 6:31 ` Narendra_K
2009-11-11 6:43 ` Narendra_K
2009-11-06 22:05 ` Domsch, Matt
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-22 6:36 ` [PATCH] udev: create empty regular files to represent net interfaces dann frazier
2009-10-27 20:55 ` Matt Domsch
2009-10-27 20:55 ` Matt Domsch
2009-10-28 8:23 ` [PATCH] udev: create empty regular files to represent net Kay Sievers
2009-10-28 8:23 ` [PATCH] udev: create empty regular files to represent net interfaces Kay Sievers
2009-10-28 13:03 ` Matt Domsch [this message]
2009-10-28 13:03 ` Matt Domsch
2009-10-28 15:09 ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-28 15:09 ` [PATCH] udev: create empty regular files to represent net interfaces dann frazier
2009-10-28 16:09 ` Jordan_Hargrave
2009-10-28 16:09 ` Jordan_Hargrave
2009-10-28 16:09 ` 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 16:11 ` [PATCH] udev: create empty regular files to represent net interfaces Greg KH
2009-10-28 13:06 ` [PATCH] udev: create empty regular files to represent net Ben Hutchings
2009-10-28 13:06 ` [PATCH] udev: create empty regular files to represent net interfaces Ben Hutchings
2009-10-28 19:15 ` Narendra_K
2009-10-28 19:27 ` Narendra_K
2009-10-29 13:11 ` Matt Domsch
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 14:25 ` [PATCH] udev: create empty regular files to represent net interfaces Greg KH
2009-10-29 16:44 ` Narendra_K
2009-10-29 16:56 ` Narendra_K
2009-10-29 16:52 ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-29 16:52 ` [PATCH] udev: create empty regular files to represent net interfaces Greg KH
2009-10-29 17:22 ` [PATCH] udev: create empty regular files to represent netinterfaces Narendra_K
2009-10-29 17:34 ` Narendra_K
2009-10-29 17:50 ` [PATCH] udev: create empty regular files to represent dann frazier
2009-10-29 17:50 ` [PATCH] udev: create empty regular files to represent netinterfaces dann frazier
2009-10-29 16:49 ` [PATCH] udev: create empty regular files to represent net Ben Hutchings
2009-10-29 16:49 ` [PATCH] udev: create empty regular files to represent net interfaces Ben Hutchings
2009-10-29 16:55 ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-29 16:55 ` [PATCH] udev: create empty regular files to represent net interfaces Greg KH
2009-10-29 17:12 ` [PATCH] udev: create empty regular files to represent net Ben Hutchings
2009-10-29 17:12 ` [PATCH] udev: create empty regular files to represent net interfaces Ben Hutchings
2009-10-29 17:20 ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-29 17:20 ` [PATCH] udev: create empty regular files to represent net interfaces Greg KH
2009-10-29 17:46 ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-29 17:46 ` [PATCH] udev: create empty regular files to represent net interfaces dann frazier
2009-10-30 3:30 ` [PATCH] udev: create empty regular files to represent net Marco d'Itri
2009-10-30 3:30 ` [PATCH] udev: create empty regular files to represent net interfaces Marco d'Itri
2009-10-30 5:38 ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-30 5:38 ` [PATCH] udev: create empty regular files to represent net interfaces dann frazier
2009-10-30 6:22 ` [PATCH] udev: create empty regular files to represent net Marco d'Itri
2009-10-30 6:22 ` [PATCH] udev: create empty regular files to represent net interfaces Marco d'Itri
2009-10-30 15:00 ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-30 15:00 ` [PATCH] udev: create empty regular files to represent net interfaces dann frazier
2009-10-30 15:13 ` Narendra_K
2009-10-30 15:25 ` Narendra_K
2009-10-30 16:08 ` [PATCH] udev: create empty regular files to represent net dann frazier
2009-10-30 16:08 ` [PATCH] udev: create empty regular files to represent net interfaces dann frazier
2009-10-30 16:53 ` [PATCH] udev: create empty regular files to represent netinterfaces Narendra_K
2009-10-30 16:54 ` Narendra_K
2009-10-30 17:05 ` [PATCH] udev: create empty regular files to represent dann frazier
2009-10-30 17:05 ` [PATCH] udev: create empty regular files to represent netinterfaces dann frazier
2009-10-30 17:10 ` [PATCH] udev: create empty regular files to represent net interfaces Matt Domsch
2009-10-30 17:10 ` Matt Domsch
2009-10-30 17:13 ` [PATCH] udev: create empty regular files to represent net Greg KH
2009-10-30 17:13 ` [PATCH] udev: create empty regular files to represent net interfaces Greg KH
2009-10-30 7:45 ` Hannes Reinecke
2009-10-30 7:45 ` Hannes Reinecke
2009-10-30 16:22 ` Bryan Kadzban
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-30 16:34 ` [PATCH] udev: create empty regular files to represent net interfaces Stephen Hemminger
2009-10-13 19:51 ` PATCH: Network Device Naming mechanism and policy Greg KH
2009-10-13 19:51 ` Greg KH
2009-10-13 20:00 ` Jordan_Hargrave
2009-10-13 20:00 ` Jordan_Hargrave
2009-10-13 20:19 ` Greg KH
2009-10-13 20:19 ` Greg KH
2009-10-13 22:05 ` Matt Domsch
2009-10-13 22:05 ` Matt Domsch
2009-10-13 22:08 ` dann frazier
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=20091028130308.GA24611@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@hp.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 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.