trouble with mismatched network

Donald Becker
Mon Oct 25 18:44:48 1999

On Mon, 25 Oct 1999, William J. Earl wrote:

>  > I have a linux box acting as a server and gateway between a Windows
>  > LAN and a Cisco 675 router to the internet through an adsl connection.
>  > having is that none of the Windows boxes can transfer files larger
>  > than about 10k to the linux box before timing out.  The linux box can
>  > transfer files to the windows boxes no problem.
>       This sounds like the problem I was having, until I applied the
> patch I sent out to the list a few months ago, based on a workaround
> in the BSD driver for a 82c168 bug.  The part sometimes prefixes an

The word from LiteOn is that the BSD "fix" is only needed because they are
using the chip is the chained descriptor mode, which isn't supported by the
PNIC.  The Linux driver uses the chip in descriptor ring mode (and also
chains the descriptors for work-alikes that don't use ring mode).

> incoming packet with a lot of garbage, which leads to the packet
> being dropped.  The workaround recovers the packet by deleting the
> garbage.  If the patch is not in the latest driver, try applying the
> patch.  (Find the patch in the archives.)

The work-around is high overhead and an ugly hack.

[[ The proper fix, using ring mode, requires complex code to work with the
BSD list-of-mbufs.  We receive into a single linear buffer, which permits
simpler buffer management and more efficient PCI bursts. ]]

>       Someone suggested turning off CPU-to-PCI write buffering in 
> the BIOS setup.  This helped somewhat in my case.
>       Also, if you get messages about "too much work at interrupt level",
> you can add
>     options tulip max_interrupt_work=75
> This helped my situation.

Hmmm, is your machine slow or very overloaded?
Make certain it isn't going into power-save mode and slowing down the CPU!

Donald Becker
Scyld Computing Corporation, and