Subject: port-i386/24841: tlp driver goes into store and forward mode
To: None <gnats-bugs@gnats.netbsd.org>
From: Heikki Suonsivu <hsu@katiska.bbnetworks.net>
List: netbsd-bugs
Date: 03/18/2004 20:25:26
>Number:         24841
>Category:       port-i386
>Synopsis:       tlp driver goes into store and forward mode
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 18 18:26:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Heikki Suonsivu
>Release:        NetBSD 1.6.1_RC3
>Organization:
bbnetworks.net
>Environment:


System: NetBSD katiska 1.6.1_RC3 NetBSD 1.6.1_RC3 (KATISKA3) #2: Mon Mar 31 14:44:43 EEST 2003 cat@katiska:/usr/src/sys/arch/i386/compile/KATISKA3 i386
Architecture: i386
Machine: i386

A computer with two tlp ports, with lots of traffic on one port and
substantial traffic on the other. 

I think the motherboard is asus P2B-S or P2B-DS, with integrated SCSI.

>Description:

	tlp driver decides to go into store and forward mode soon
after reboot.  After this, the network performance drops considerably
(enough to make backups take days)

tlp1: transmit underrun; new threshold: 96/256 bytes
tlp0: transmit underrun; new threshold: 96/256 bytes
tlp0: transmit underrun; new threshold: 128/512 bytes
tlp1: transmit underrun; new threshold: 128/512 bytes
tlp1: transmit underrun; new threshold: 160/1024 bytes
tlp0: transmit underrun; new threshold: 160/1024 bytes
tlp0: transmit underrun; new threshold: store and forward mode
tlp1: transmit underrun; new threshold: store and forward mode

The problem did not appear with FreeBSD.

>How-To-Repeat:

For us, it seems to be repeatable, happens reliably every time after
the computer has been rebooted.  It may be that considerable network
traffic is necessary to trigger this, but I cannot test it, as the
computer in question always has considerable network traffic.

>Fix:

Workaround is to do 

ifconfig tlp0 down; ifconfig tlp0 up
ifconfig tlp1 down; ifconfig tlp1 up

Which apparently cures the performance problem, until next reboot.


>Release-Note:
>Audit-Trail:
>Unformatted: