Greatings,
Before I get into the nitty gritty of this, I’ve got a question about
ifconfig…
The documentation for the “interface” parameter (enx, pppx, etc.) states:
“where x is the number of logical QNX LANs running the selected hardware
protocol.”
That’s a bit ambiguous, but I’ve always assumed that what that really is
suppose to mean is:
“where x is the number of the logical QNX LAN to run the selected
hardware protocol.”
In other words, to run TCP/IP on logical LAN 3 (ethernet) you’d use en3.
Is that correct?
OK, now for the weird behavior…
We’ve got four Intel ethernet NICs running on a node. All are
controlled by separate invocations of the Net.ether82557 driver (4.25G
Feb 22 2001). The 2 built-in NICs (on the motherboard) are designated
as logical LANs 1 & 2, to be used as dual QNX LANs only (no TCP/IP).
The other 2 NICs on a dual ethernet PCI card are for logical LANs 3 & 4,
to be used on redundant TCP/IP networks. After fuddling around with the
BIOS, we’ve managed to get all 4 drives to use unique IRQs and when the
machine is cold booted, everything works as expected i.e. LAN1 → en1,
LAN2 → en2, etc.
The weird behavior happens when the machine is warm booted. Everything
shows up bass-ackwards i.e. LAN1 → en4, LAN2 → en3, LAN3 → en2, LAN4
→ en1. And, although TCP/IP runs and ifconfig gives no errors, we can
not communicate over TCP/IP, even when using en2 or en1. QNX LANs 1 & 2
still work just fine though.
Here’s the pertinent info when things are weirded out:
ps …
56 7 0 20r RECV 0 364K Net.ether82557 -I0 -l3 -s100 -F
57 7 0 20r RECV 0 364K Net.ether82557 -I1 -l4 -s100 -F
58 7 0 20r RECV 0 364K Net.ether82557 -I2 -l1 -s100 -F
59 7 0 20r RECV 0 364K Net.ether82557 -I3 -l2 -s100 -F
ifconfig -a …
en4: flags=8822<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500
address: 00:30:48:28:76:f7
en3: flags=8822<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500
address: 00:30:48:28:76:f6
en1: flags=8822<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500
address: 00:02:b3:ec:3b:1c
en2: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
address: 00:02:b3:ec:3b:1d
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 32976
inet 127.0.0.1 netmask 0xff000000
netinfo -l …
Driver Slot 0: Driver Pid 57 Logical Net 4 Network Card: Ethernet/
Speedo : 82557/8/9 Ethernet Controller
Vendor ID … 0x8086
Device ID … 0x1229
Subsystem ID … 0x1015
Subsystem Vendor ID … 0x8086
Revision … 0xd
Physical Node ID … 0002B3 EC3B1C
Media Rate … 100Mb/s FDX
Mtu … 1514
Hardware Interrupt … 11
…
Driver Slot 1: Driver Pid 56 Logical Net 3 Network Card: Ethernet/
Speedo : 82557/8/9 Ethernet Controller
Vendor ID … 0x8086
Device ID … 0x1229
Subsystem ID … 0x1015
Subsystem Vendor ID … 0x8086
Revision … 0xd
Physical Node ID … 0002B3 EC3B1D
Media Rate … 100Mb/s FDX
Mtu … 1514
Hardware Interrupt … 7
…
Driver Slot 2: Driver Pid 58 Logical Net 1 Network Card: Ethernet/
Speedo : 82559 A/B-Step Ethernet Controller
Vendor ID … 0x8086
Device ID … 0x1229
Subsystem ID … 0x100c
Subsystem Vendor ID … 0x8086
Revision … 0x8
Physical Node ID … 003048 2876F7
Media Rate … 100Mb/s FDX
Mtu … 1514
Hardware Interrupt … 10
…
Driver Slot 3: Driver Pid 59 Logical Net 2 Network Card: Ethernet/
Speedo : 82559 A/B-Step Ethernet Controller
Vendor ID … 0x8086
Device ID … 0x1229
Subsystem ID … 0x100c
Subsystem Vendor ID … 0x8086
Revision … 0x8
Physical Node ID … 003048 2876F6
Media Rate … 100Mb/s FDX
Mtu … 1514
Hardware Interrupt … 5
…
Anybody else seen this behavior? Is this a bug, or what?
BTW, the above info is from one of our production systems.
Unfortunately, we’ll need to wait for the wee hours of the morning to do
a cold reboot. In the meantime, we’re setting up a test system to see
if we can verify and/or make any sense of this.
TIA,
-Rob