All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] RFC: Network driver info to userspace
@ 2001-03-21 12:54 Jeff Garzik
  0 siblings, 0 replies; only message in thread
From: Jeff Garzik @ 2001-03-21 12:54 UTC (permalink / raw
  To: netdev; +Cc: Linux Kernel Mailing List, dhinds

[-- Attachment #1: Type: text/plain, Size: 1043 bytes --]

In various scenarios where userland needs to interact with hardware,
userland often needs to know exactly what driver (and driver version) is
currently running on a given interface.  Hotplugging and other
applications could -really- use the ability to find out bus information
for a given interface.  Firmware

So I propose the attached addition to the ethtool interface.  It adds a
new structure with several ASCII text fields, which are filled in at the
driver's discretion.  Userland then interprets these fields for their
own evil designs.

Currently (AFAIK) for all kernel interfaces, userland has no reliable
way to associate a hardware device with a kernel interface, or a driver
with a kernel interface[1].  Since we have no generic register_driver()
interface, solving this problem means implementing a domain-specific
solution like I have done here...

-- 
Jeff Garzik       | May you have warm words on a cold evening,
Building 1024     | a full mooon on a dark night,
MandrakeSoft      | and a smooth road all the way to your door.

[-- Attachment #2: ethtool.patch --]
[-- Type: text/plain, Size: 1164 bytes --]

Index: include/linux/ethtool.h
===================================================================
RCS file: /cvsroot/gkernel/linux_2_4/include/linux/Attic/ethtool.h,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 ethtool.h
--- include/linux/ethtool.h	2000/11/14 22:01:49	1.1.1.2
+++ include/linux/ethtool.h	2001/03/21 12:42:15
@@ -24,10 +24,21 @@
 	u32	reserved[4];
 };
 
+/* these strings are set to whatever the driver author decides... */
+struct ethtool_drvinfo {
+	char	driver[32];	/* driver short name, "tulip", "eepro100" */
+	char	version[32];	/* driver version string */
+	char	fw_version[32];	/* firmware version string, if applicable */
+	char	bus_info[32];	/* Bus info for this interface.  For PCI
+				 * devices, use pci_dev->slot_name. */
+	char	reserved1[32];
+	char	reserved2[32];
+};
 
 /* CMDs currently supported */
-#define ETHTOOL_GSET		0x00000001 /* Get settings, non-privileged. */
+#define ETHTOOL_GSET		0x00000001 /* Get settings. */
 #define ETHTOOL_SSET		0x00000002 /* Set settings, privileged. */
+#define ETHTOOL_GDRVINFO	0x00000003 /* Get driver info. */
 
 /* compatibility with older code */
 #define SPARC_ETH_GSET		ETHTOOL_GSET

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-03-21 12:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-21 12:54 [PATCH] RFC: Network driver info to userspace Jeff Garzik

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.