Re: network interface to driver and pci slot mapping

From: Daniel Stekloff
Date: Thu Nov 11 2004 - 22:42:31 EST


On Thu, 2004-11-11 at 16:56, Greg KH wrote:
> On Thu, Nov 11, 2004 at 04:28:35PM -0500, Anthony Samsung wrote:
> > Given an interface name (like eth0), how do I determine:
> > The name of the driver (module) for this interface.
> > The PCI address for this interface, if relevant.
>
> Use sysfs. All of this information is there (well, the driver link back
> to the module isn't there for most PCI drivers, but the functionality is
> there if the drivers are modified to support it...)


If you're going to use sysfs, libsysfs can help. It can be found in the
sysfsutils package here:

http://linux-diag.sourceforge.net/Sysfsutils.html

[stekloff@... stekloff]$ systool -c net eth0 -D
Class = "net"

Class Device = "eth0"
Device = "0000:02:01.0"
Driver = "e1000"
Devices using "e1000" are:
Device = "0000:02:01.0"


And more extended output:

[stekloff@... stekloff]$ systool -c net eth0 -v
Class = "net"

Class Device = "eth0"
Class Device path = "/sys/class/net/eth0"
addr_len = "6"
address = "00:0d:60:c9:42:06"
broadcast = "ff:ff:ff:ff:ff:ff"
features = "0x3a9"
flags = "0x1002"
ifindex = "6"
iflink = "6"
mtu = "1500"
tx_queue_len = "1000"
type = "1"

Device = "0000:02:01.0"
Device path = "/sys/devices/pci0000:00/0000:00:1e.0/0000:02:01.0"
class = "0x020000"
config = 86 80 1e 10 17 01 30 02 03 00 00 02 08 40
00 00
00 00 24 c0 00 00 20 c0 01 80 00 00 00 00
00 00
00 00 00 00 00 00 00 00 22 00 00 00 14 10
49 05
00 00 00 00 dc 00 00 00 00 00 00 00 0b 01
ff 00
detach_state = "0"
device = "0x101e"
irq = "11"
resource = "0x00000000c0240000 0x00000000c025ffff
0x0000000000000200
0x00000000c0200000 0x00000000c020ffff 0x0000000000000200
0x0000000000008000 0x000000000000803f 0x0000000000000101
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x000000000000ffff 0x0000000000007200"
subsystem_device = "0x0549"
subsystem_vendor = "0x1014"
vendor = "0x8086"

Driver = "e1000"
Driver path = "/sys/bus/pci/drivers/e1000"
new_id = <store method only>

Devices using "e1000" are:
"0000:02:01.0"

Thanks,

Dan


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/