[tulip-bug] eth ordering (linux 2.2.18)

Keith Warno keith.warno@valaran.com
Thu, 17 May 2001 10:17:21 -0400


I have a Starfire-based Adaptec quad NIC and two Linksys EtherFast
10/100 (version 4.1) NICs in a Linux box (kernel 2.2.18) behaving as a
masq'ing router.  tulip.c and starfire.c are versions:

tulip.c:v0.92 4/17/2000  Written by Donald Becker <becker@scyld.com>
starfire.c:v1.03 7/26/2000  Written by Donald Becker <becker@scyld.com>

Anyway, I was under the impression that eth ordering was done in some
logical and predictable manner but this doesn't seem to be the case. 
Here's a little diagram showing the layout of the cards in the PCI slots
and their corresponding eth designations:

======================================> Furthest from CPU
     Adaptec      LinkSys #1         LinkSys #2
       |               |                  |
 +--+-----+--+         +                  +
 0  1     2  3         5 (?!?)            4 (?!)

The Adaptec is in PCI slot 0, LinkSys #1 is in slot 1 and LinkSys #2 is
in slot 2.  There is some interrupt sharing going in, namely, eth2 with
eth4 and eth1 with eth5.  But still, I would have expected eth5 and eth4
to be swapped.  This behavior is somewhat annoying because I just put in
LinkSys #2 last night; LinkSys #1 *used* to be eth4 and suddently became
eth5 after LinkSys #2's installation, thereby breaking some network rc
scripts.  grrr.

Is there any rhyme or reason to eth ordering?  Or do we have to
investigate the (possibly) new ordering each time a NIC is added?

| Keith Warno                       cell: +1 609-209-5800
| http://www.valaran.com/           work: +1 609-716-7200 x243
| Valaran Corporation Penguin Guy   SMS : kw-mobile@valaran.com