Subject: tlp: Collisions on full-duplex
To: None <current-users@netbsd.org>
From: Hal Murray <murray@pa.dec.com>
List: current-users
Date: 06/10/2000 16:46:45
I've got a pair of Miata/600au running a point-point link between 
Tulips.  It works as expected.  That's using the Tulip on the motherboard. 

I've got a pair of i386 systems with DE500s connected via a point-point 
link.  Both ends are running in full duplex mode yet I'm getting 
collisions, lots of them. 

The throughput from tests with traffic flowing in both directions 
roughly matches what I'd expect if they were running in half-duplex 
mode.  (Some TCP tests have 200 ms round trip times - depends on 
the message length.  I assume the retry after a collision isn't working.) 

This is all with 1.4Z.

Has anybody else tried Tulips in full-duplex mode?  What's the score?
Is there something weird about the DE500s?

One machine:

>From dmesg:
tlp0 at pci0 dev 14 function 0: DECchip 21143 Ethernet, pass 3.0
tlp0: interrupting at irq 11
tlp0: DEC DE500-BA, Ethernet address 00:00:f8:1f:99:2a
tlp0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX

>From ifconfig -a:
tlp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        address: 00:00:f8:1f:99:2a
        media: Ethernet 100baseTX full-duplex
        status: active
        inet 10.0.20.47 netmask 0xffffff00 broadcast 10.0.20.255

>From netstat -i:
Name  Mtu   Network       Address              Ipkts Ierrs    Opkts Oerrs Colls
tlp0  1500  10.0.20/24    10.0.20.47        398928311     0 190400914     0 9995447



Other machine:

>From dmesg:
tlp0 at pci0 dev 14 function 0: DECchip 21143 Ethernet, pass 3.0
tlp0: interrupting at irq 11
tlp0: DEC DE500-BA, Ethernet address 00:00:f8:06:e2:76
tlp0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX

>From netstat -i:
Name  Mtu   Network       Address              Ipkts Ierrs    Opkts Oerrs Colls
tlp0  1500  10.0.20/24    10.0.20.46        190176637     0 400716939     0 9995392

>From ifconfig -a:
tlp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        address: 00:00:f8:06:e2:76
        media: Ethernet 100baseTX full-duplex
        status: active
        inet 10.0.20.46 netmask 0xffffff00 broadcast 10.0.20.255


The only other thing I've noticed that might be fishy is this:
  tlp0: receive ring overrun
  [I get lots of them when running nasty tests.]




From the Alphas: 

mckinley% netstat -i
Name  Mtu   Network       Address              Ipkts Ierrs    Opkts Oerrs Colls
tlp0  1500  10.0.20/24    10.0.20.83        622265198     2 345813062     2     0

foraker% netstat -i
Name  Mtu   Network       Address              Ipkts Ierrs    Opkts Oerrs Colls
tlp0  1500  10.0.20/24    10.0.20.82        345813058     3 628630744     2     0

The Ierrs/Oerrs are transmit FIFO underruns:

    tlp0: transmit underrun; new threshold: 96/256 bytes
    tlp0: receive error: CRC error
    tlp0: transmit underrun; new threshold: 128/512 bytes
    tlp0: receive error: CRC error


tlp0 at pci0 dev 3 function 0: DECchip 21143 Ethernet, pass 3.0
tlp0: interrupting at dec 550 irq 0
tlp0: DEC , Ethernet address 00:00:f8:76:2c:54
nsphy0 at tlp0 phy 5: DP83840 10/100 media interface, rev. 1
tlp0: 10baseT, 10baseT-FDX, 10base2, 10base5

Note that I'm actually running at 100-FDX even though it isn't listed 
above.