Find out which eth or device belongs to interface "port 1 PCI 4"

Latest response

Hi,

I´ve given only this info to configure a network interface : "port 1 PCI 4"

I´ve been searching for any kind of relationship in the system which allow me to find the etc that must be configured...

Please, could anybody help me?

 

I attach info i found below

 

Code:
rhxx:#/root# lspci |grep -i "PCI BRIDGE"
00:01.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 1 (rev 01)
00:02.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 2 (rev 01)
00:03.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 3 (rev 01)
00:04.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 4 (rev 01)
00:05.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 5 (rev 01)
00:06.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 6 (rev 01)
00:07.0 PCI bridge: Intel Corporation 7300 Chipset PCI Express Port 7 (rev 01)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
03:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
03:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
04:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
04:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)
04:02.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3 (rev 01)
05:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
07:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
0b:00.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
0c:00.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
0c:01.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
0c:09.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
17:00.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
18:01.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
18:02.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
18:08.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
18:09.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)
18:0a.0 PCI bridge: PLX Technology, Inc. PEX 8533 32-lane, 6-port PCI Express Switch (rev aa)


1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
10: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether f4:ce:46:af:cd:90 brd ff:ff:ff:ff:ff:ff
11: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000
    link/ether f4:ce:46:af:cd:90 brd ff:ff:ff:ff:ff:ff
12: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether f4:ce:46:af:cd:94 brd ff:ff:ff:ff:ff:ff
13: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether f4:ce:46:af:2b:f8 brd ff:ff:ff:ff:ff:ff
14: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000
    link/ether f4:ce:46:af:cd:90 brd ff:ff:ff:ff:ff:ff
15: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 18:a9:05:58:d3:da brd ff:ff:ff:ff:ff:ff
16: eth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 18:a9:05:58:d3:dc brd ff:ff:ff:ff:ff:ff


rhxx:#/root# ifconfig -a
bond0     Link encap:Ethernet  HWaddr F4:CE:46:AF:CD:90
          inet addr:10.66.217.107  Bcast:10.66.217.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:10012841565 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4901081627 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:15137886459705 (13.7 TiB)  TX bytes:326799353229 (304.3 GiB)

eth0      Link encap:Ethernet  HWaddr F4:CE:46:AF:CD:90
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:787344365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4787181439 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1183000109168 (1.0 TiB)  TX bytes:318289788084 (296.4 GiB)
          Interrupt:164

eth1      Link encap:Ethernet  HWaddr F4:CE:46:AF:CD:94
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:228

eth2      Link encap:Ethernet  HWaddr F4:CE:46:AF:2B:F8
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:101

eth3      Link encap:Ethernet  HWaddr F4:CE:46:AF:CD:90
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:9225497257 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113900200 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13954886436835 (12.6 TiB)  TX bytes:8509566257 (7.9 GiB)
          Interrupt:165

eth4      Link encap:Ethernet  HWaddr 18:A9:05:58:D3:DA
          inet addr:10.66.229.66  Bcast:10.66.231.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3906476 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1764 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:271575556 (258.9 MiB)  TX bytes:143603 (140.2 KiB)
          Interrupt:169 Memory:ca000000-ca012100

eth5      Link encap:Ethernet  HWaddr 18:A9:05:58:D3:DC
          inet addr:10.129.140.33  Bcast:10.129.140.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:119742 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:24656016 (23.5 MiB)  TX bytes:1536 (1.5 KiB)
          Interrupt:177 Memory:cc000000-cc012100

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1961734 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1961734 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8363537860 (7.7 GiB)  TX bytes:8363537860 (7.7 GiB)


KERNEL=="eth0", SYSFS{address}=="f4:ce:46:af:cd:90", NAME="eth0"
KERNEL=="eth1", SYSFS{address}=="f4:ce:46:af:cd:94", NAME="eth1"
KERNEL=="eth2", SYSFS{address}=="f4:ce:46:af:2b:f8", NAME="eth2"
KERNEL=="eth3", SYSFS{address}=="f4:ce:46:af:cd:90", NAME="eth3"
KERNEL=="eth4", SYSFS{address}=="18:a9:05:58:d3:da", NAME="eth4"
KERNEL=="eth5", SYSFS{address}=="18:a9:05:58:d3:dc", NAME="eth5"


#KERNEL=="eth?", SYSFS{address}=="f4:ce:46:af:cd:90", NAME="eth0"
#KERNEL=="eth?", SYSFS{address}=="f4:ce:46:af:cd:94", NAME="eth1"
#KERNEL=="eth?", SYSFS{address}=="f4:ce:46:af:2b:f8", NAME="eth2"
#KERNEL=="eth?", SYSFS{address}=="f4:ce:46:af:cd:90", NAME="eth3"
#KERNEL=="eth?", SYSFS{address}=="18:a9:05:58:d3:da", NAME="eth4"
#KERNEL=="eth?", SYSFS{address}=="18:a9:05:58:d3:dc", NAME="eth5"

lspci -t

-[0000:00]-+-00.0
           +-01.0-[0000:03-0a]--+-00.0-[0000:04-09]--+-00.0-[0000:05-06]----00.0-[0000:06]----00.0
           |                    |                    +-01.0-[0000:07-08]----00.0-[0000:08]----00.0
           |                    |                    \-02.0-[0000:09]--
           |                    \-00.3-[0000:0a]--
           +-02.0-[0000:29]--
           +-03.0-[0000:2a]--
           +-04.0-[0000:17-27]----00.0-[0000:18-27]--+-01.0-[0000:25-27]--
           |                                         +-02.0-[0000:22-24]--
           |                                         +-08.0-[0000:19-1b]--+-00.0
           |                                         |                    \-00.1
           |                                         +-09.0-[0000:1c-1e]--+-00.0
           |                                         |                    \-00.1
           |                                         \-0a.0-[0000:1f-21]--+-00.0
           |                                                              \-00.1
           +-05.0-[0000:28]--
           +-06.0-[0000:0b-15]----00.0-[0000:0c-15]--+-00.0-[0000:13-15]--+-00.0
           |                                         |                    \-00.1
           |                                         +-01.0-[0000:10-12]--+-00.0
           |                                         |                    \-00.1
           |                                         \-09.0-[0000:0d-0f]--+-00.0
           |                                                              \-00.1
           +-07.0-[0000:16]--
           +-10.0
           +-10.1
           +-10.2
           +-10.3
           +-11.0
           +-11.3
           +-13.0
           +-15.0
           +-16.0
           +-1c.0-[0000:02]----00.0
           +-1d.0
           +-1d.1
           +-1d.2
           +-1d.3
           +-1d.7
           +-1e.0-[0000:01]--+-03.0
           |                 +-04.0
           |                 +-04.2
           |                 +-04.4
           |                 \-04.6
--More--

Responses

Hi Hector,

 

which RHEL major release are you refering to?

RHEL5.x has /etc/sysconfig/hwconf

 

Kind regards,

 

ir. Jan Gerrit Kootstra

I don't think this is really enough information to go on. It might be possible to tell with a full lspci, so you can correspond NIC IDs within the tree, but how slots are physically laid out on the motherboard is not necessarily how they are logically presented to the OS.

You can run "ethtool --identify ethX" to blink the lights on the NIC and identify it.

Given your MAC addresses, I'm guessing that this is an HP server?

  • If it's a blade-system (BL-series), you should be able to get card/slot information via the hosting chassis's Onboard Administrator (OA) interface.
  • If it's a stand-alone system (DL-series), you'd probably be able to get the card/slot information via the system's Integrated Lights Out (ILO) interface.

Given that it appears you have three NIC-pairs and your post says "PCI 4" (implying fourth PCI expansion-slot, I'd hazard that the host is a DL-series rather than a BL-series (BLs don't frequently have more than two expansion slots). It's also liklely that, despite their higher index-numbers, your 18:a9:05 card is your onboard NIC-pair. Unfortunately, minus a visual inspection or seeing your ILO output, can't really refine my guesses.

For what its worth...

systool -c net    You will see the device line, see if any of those pci bus addresses match the lspci command.

lspci |grep -i eth    You should be able to see a match, this is really only a confirmation step.

dmidecode -t slot    If any of the slot addresses match the pci bus address of the previous command then it is an addin card.

The rest is just detective work and digging, if you are adventerous add the -v switch to the end of the systool command. :)

Just some random thoughts as the info provided does not really help answer the question directly.

Will be interested on how you make out Hector.

 

Mike

 

Hi,

First thanks to all for your ansert answer.

I manage it in a remote way so i have no physical visibility so i can´t use ethtool identify . It´s a DL-580 G5.

So

 

must be one of these below

 

Port 1 NIC MAC address: D8:D3:85:59:34:58
Port 2 NIC MAC address: D8:D3:85:59:34:5C
iLO 2: D8:D3:85:5C:74:7E
Port 1 iSCSI MAC address: D8:D3:85:59:34:59
Port 2 iSCSI MAC address: D8:D3:85:59:34:5D

class: OTHER
bus: PCI
detached: 0
driver: shpchp
desc: "Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2"
vendorId: 8086
deviceId: 3514
subVendorId: 0000
subDeviceId: 0000
pciType: 1
pcidom:    0
pcibus:  4
pcidev:  1
pcifn:  0
 

 

hge0033:#/root# vi systool
Class = "net"

  Class Device = "__tmp657335817"
  Class Device path = "/sys/class/net/__tmp657335817"
    addr_len            = "6"
    address             = "f4:ce:46:af:dd:50"
    broadcast           = "ff:ff:ff:ff:ff:ff"
    features            = "0x10023"
    flags               = "0x1002"
    ifindex             = "6"
    iflink              = "6"
    link_mode           = "0"
    mtu                 = "1500"
    operstate           = "down"
    tx_queue_len        = "1000"
    type                = "1"
    uevent              = <store method only>
    weight              = "120"

    Device = "0000:10:00.0"
    Device path = "/sys/devices/pci0000:00/0000:00:06.0/0000:0b:00.0/0000:0c:01.0/0000:10:00.0"
      broken_parity_status= "0"

 device              = "0x0100"
      enable              = "1"
      irq                 = "217"
      local_cpus          = "00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000"
      modalias            = "pci:v00004040d00000100sv0000103Csd0000705Bbc02sc00i00"
      resource            = "0x00000000dfa00000 0x00000000dfbfffff 0x0000000000000204
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000dc000000 0x00000000ddffffff 0x0000000000000204
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000c8600000 0x00000000c860ffff 0x0000000000007200"
      subsystem_device    = "0x705b"
      subsystem_vendor    = "0x103c"
      uevent              = <store method only>
      vendor              = "0x4040"

 Class Device = "eth1"
  Class Device path = "/sys/class/net/eth1"
    addr_len            = "6"
    address             = "18:a9:05:58:da:fe"
    broadcast           = "ff:ff:ff:ff:ff:ff"
    features            = "0x901a3"
    flags               = "0x1002"
    ifindex             = "3"
    iflink              = "3"
    link_mode           = "0"
    mtu                 = "1500"
    operstate           = "down"
    tx_queue_len        = "1000"
    type                = "1"
    uevent              = <store method only>
    weight              = "0"

    Device = "0000:08:00.0"
    Device path = "/sys/devices/pci0000:00/0000:00:01.0/0000:03:00.0/0000:04:01.0/0000:07:00.0/0000:08:00.0"
      broken_parity_status= "0"
      class               = "0x020000"
      config              =  e4 14 4c 16 56 01 b0 02  12 0
ç

  Class Device = "eth2"
  Class Device path = "/sys/class/net/eth2"
    addr_len            = "6"
    address             = "f4:ce:46:af:dd:90"
    broadcast           = "ff:ff:ff:ff:ff:ff"
    features            = "0x10023"
    flags               = "0x1002"
    ifindex             = "4"
    iflink              = "4"
    link_mode           = "0"
    mtu                 = "1500"
    operstate           = "down"
    tx_queue_len        = "1000"
    type                = "1"
    uevent              = <store method only>
    weight              = "120"

    Device = "0000:0d:00.0"
    Device path = "/sys/devices/pci0000:00/0000:00:06.0/0000:0b:00.0/0000:0c:09.0/0000:0d:00.0"

 Class Device = "eth3"
  Class Device path = "/sys/class/net/eth3"
    addr_len            = "6"
    address             = "f4:ce:46:af:dd:94"
    broadcast           = "ff:ff:ff:ff:ff:ff"
    carrier             = "1"
    dormant             = "0"
    features            = "0x10023"
    flags               = "0x1803"
    ifindex             = "5"
    iflink              = "5"
    link_mode           = "0"
    mtu                 = "1500"
    operstate           = "up"
    tx_queue_len        = "1000"
    type                = "1"
    uevent              = <store method only>
    weight              = "120"

    Device = "0000:0d:00.1"
    Device path = "/sys/devices/pci0000:00/0000:00:06.0/0000:0b:00.0/0000:0c:09.0/0000:0d:00.1"
      broken_parity_status= "0"

 Class Device = "eth4"
  Class Device path = "/sys/class/net/eth4"
    addr_len            = "6"
    address             = "18:a9:05:58:da:fc"
    broadcast           = "ff:ff:ff:ff:ff:ff"
    carrier             = "1"
    dormant             = "0"
    features            = "0x901a3"
    flags               = "0x1003"
    ifindex             = "2"
    iflink              = "2"
    link_mode           = "0"
    mtu                 = "1500"
    operstate           = "up"
    tx_queue_len        = "1000"
    type                = "1"
    uevent              = <store method only>
    weight              = "0"

    Device = "0000:06:00.0"
    Device path = "/sys/devices/pci0000:00/0000:00:01.0/0000:03:00.0/0000:04:00.0/0000:05:00.0/0000:06:00.0"
      broken_parity_status= "0"
      class               = "0x020000"

  Class Device = "eth5"
  Class Device path = "/sys/class/net/eth5"
    addr_len            = "6"
    address             = "f4:ce:46:af:dd:94"
    broadcast           = "ff:ff:ff:ff:ff:ff"
    carrier             = "1"
    dormant             = "0"
    features            = "0x10023"
    flags               = "0x1803"
    ifindex             = "7"
    iflink              = "7"
    link_mode           = "0"
    mtu                 = "1500"
    operstate           = "up"
    tx_queue_len        = "1000"
    type                = "1"
    uevent              = <store method only>
    weight              = "120"

    Device = "0000:10:00.1"
    Device path = "/sys/devices/pci0000:00/0000:00:06.0/0000:0b:00.0/0000:0c:01.0/0000:10:00.1"
      broken_parity_status= "0"
      class               = "0x020000"
      config              =  40 40 00 01 46 04 10 00  42 00 00 02 10 00 80 00

 

 

My question is, which of these are PCI 4 port 1? 

 

Thanks to all

 

There <has> to be a way to figure this out.  (yes, I know I'm preaching to the choir) - but, in recent releases the interfaces are now configured as p5p1, p3p2, etc..  Which seemingly line up with their respective PCI slots in the host.  I will be adding a third 4-port NIC to a box that already has 2 - and I can report back the end-result.  It currently has NICs in PCI3 and 5 and I fully expect that my interfaces will be p4p1-p4p3 after I install the new NIC in slot 4.

This behavior makes me think there must be some sort of lookup table which contains the "system-product-name" (dmidecode) and slot IDs (lspci).

I don't recall when the interfaces began showing up as p[0-9]pX - and I also do not know if it is driver specific (I.e. broadcom vs Intel).  It seems like it has been fairly recently that this change occured.

The outputs you've provided are really odd and seem to indicate that either your outputs are edited or that bindings have been shifting between posts.

What's really confusing is that you appear to have one MAC address (f4:ce:46:af:dd:94) that's associated with two different PCI paths (eth5's and eth3's). I didn't think that bonding NICs would effect the output of `systool`, but, in your case, it appears to be doing so. I'd say, for your own sake (and anyone trying to help you), you might want to either de-configure the bond, completely, or remove one of the slaves from he bond (preferably the slave whose MAC is different than what the bond's MAC is - cat your /proc/net/bonding/bondX file to show which is the right inerface to unenslave).

There is: you interpret the "Device Path" fields from the systool output. That said, it's been a long time since I've had to do that.

Overall, the output shown makes it hard to tell if he's got just an onboard pair of NICs ("pci0000:00/0000:00:01.0") and a 2x2 quad-port card or if he's got two dual-port cards. Basically, it comes down to, "does the PCI node immediately after 'pci0000:00' indicate a slot or a bus?" If it's a slot, then he's only got an onboard pair and a single, 2x2 quad-port card. If it's a bus, then he's got two, dual-port cards (with the "pci0000:00/0000:00:06.0/0000:0b:00.0/0000:0c:01.0" device being the card in one PCI slot and the "pci0000:00/0000:00:06.0/0000:0b:00.0/0000:0c:09.0" device being the card in another PCI slot).I just can't remember how the break-points translate. In either case, I think it works out to (what's currenly) "eth3" being the PCI 4, port 1 device (assuming the person that described it that way starts their index at "0").

Of course, the huge caveat is that hardware is only usually discovered in bus-order, but not always (particularly if the motherboard and expansion card makers have done anything counterintuitive with respect to wiring vs physical locations). Part of why it's always a Good Idea(TM) to have someone eyeball it to verify things for you. 

> Of course, the huge caveat is...

These are my thoughts too. Your remote hands say "slot 4". Is that from the top or bottom? Does the motherboard manufacturer count up/down the same direction as the remote hands? Does the hardware enumerate in that direction? If you have a system with 4 slots and a NIC in each slot, that's really difficult to judge.

Another way could be to use ILO to move an IP around whilst comparing the MAC table on your switch with "ip link" on the system. Then you at least know what's plugged in where and you can configure interfaces that way. This of course assumes you have access to the switch, which you might not.

Though, if you've got ILO access, it can give you slot locations for things (especiall if you have the SIM tools installed).

On the plus side, HP tends to have all the slot  and port numbers etched into the chassis and expansion cards. So, assuming your "eyes" person has bothered to get close enough to read them, at least that level of doubt is (should be) removed.

hi, i found the solution

 

here below in an example

 

root@batman ]# lspci | grep -i ether
02:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)
02:02.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)
05:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5703 Gigabit Ethernet (rev 10)
05:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5703 Gigabit Ethernet (rev 10)

 

root@batman ]# cd /sys/bus/pci/devices

 

[root@batman devices]# ls

0000:00:03.0  0000:00:07.0  0000:00:18.0  0000:00:19.0  0000:01:00.0  0000:01:04.2  0000:04:09.0  0000:05:01.0

0000:00:04.0  0000:00:07.1  0000:00:18.1  0000:00:19.1  0000:01:00.1  0000:02:02.0  0000:04:09.1  0000:05:02.0

0000:00:04.1  0000:00:08.0  0000:00:18.2  0000:00:19.2  0000:01:03.0  0000:02:02.1  0000:04:0a.0  0000:06:01.0

0000:00:04.3  0000:00:08.1  0000:00:18.3  0000:00:19.3  0000:01:04.0  0000:03:02.0  0000:04:0a.1  0000:06:01.1

 

[root@batman devices]# cd 0000:02:02.0

 

[root@batman 0000:02:02.0]# ls

broken_parity_status  device  irq            modalias  numa_node  rescan    resource0         subsystem_vendor  vpd

class                 driver  local_cpulist  msi_bus   power      reset     subsystem         uevent

config                enable  local_cpus     net       remove     resource  subsystem_device  vendor
[root@batman 0000:02:02.0]# cd net

[root@batman net]# ls
eth0

Two things to note, here:

  1. You need to be very careful in your communications. In most shops, when someone says "port 1", they actually mean the second port. If they meant the first port, they generally say "first port" or "port 0". If your shop's different, then you probably want to note that when posting to forums.
  2. You previously asked about "port 1, PCI 4". Assuming that PCI slot 4 actually maps to  "02:02 (rather than 05:01 or 05:02), then "port 1" (using normal reference conventions) would typically be the second node on that PCI slot (or "02:02.1") rather than the first port you show in your cd/ls ("02:02.0").

I just installed my 2 x Quad-NICs in a system which already had 2 x Quad-NICs.

Initially:
eth0-3 onboard configured

p3p1-p4  and p5p1-p4 configured.

I added the cards in slot 2 and slot 4 and as expected they were discovered as p2 and p4.  I don't think this is a coincidence and it drives me nuts that I am unable to determine how the OS knew these cards were in those 2 physical slots.  For now, I guess I will just accept the reality and move on.

The functionality which does this is called "biosdevname".

I got curious too so I looked this up. It turns out Dell (who wrote biosdevname and released it under GPL) have two white papers on the subject at the project page: http://linux.dell.com/biosdevname/

From the Consistent Network Device Naming in Linux paper:

  • Firmware information that "biosdevname" utilizes to suggest new names
    The system BIOS indicates the order of Onboard Network Devices to the OS via SMBIOS type 41 records.
    The system BIOS provides "system slot information" to the OS via type 9 records.
    The biosdevname makes use of SMBIOS type 41 to suggest names to the onboard network devices and type 9 records to suggest new names for PCI add-in adapters.
    The biosdevname falls back on PCI IRQ Routing Table in the absence of the above mentioned information.

You should be able to see this SMBIOS information with dmidecode -t 41 and dmidecode -t 9

I wonder how we map dmidecode Handles to PCI slot information such as lspci?

outstanding work!  Seriously!  If I could +vote more than once I would.  I am sincerely appreciative that you found this.  Coincidentally we have Dell servers.  I had been messing with udev to try making all the ethX interfaces "line up" correctly.  I'm glad they went to the pXpY interface identification.

For me works: RHEL 7 - udevadm info /sys/class/net/eno1 RHEL 6 - udevadm info -a -p /sys/class/net/eth0 RHEL 5 - udevinfo -a -p /sys/class/net/eth0

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.