Subject: BigMac Ethernet out of rx descriptors
To: None <>
From: Kevin Halverson <>
List: port-sparc
Date: 02/24/2003 09:54:36
I've got a Sparcstation 20 with a BigMac Ethernet card running
NetBSD-1.6, and I'm trying to use tcpdump to grab packets off of a very
high traffic router (via a mirrored port).

The card is configured as follows:

        address: 08:00:20:71:fa:20
        media: Ethernet autoselect (10baseT half-duplex)
        status: active
        inet6 fe80::a00:20ff:fe71:fa20%be0 prefixlen 64 scopeid 0x2

Anyway, the problem I seem to be running into is that when there are a
lot of packets on the wire, I fill up my buffers and start getting the
error "be0: out of rx descriptors" (the BE_CR_STAT_RXDROP interrupt
defined in dev/sbus/bereg.h).

I've tried poking around a bit to see if I could increase the size of
the buffers or number of buffers allocated.  There is a comment in the
driver that says the number of buffers in the ring (QEC_XD_RING_MAXSIZE)
is "fixed".  I took a peek at the Linux driver for this card and noticed
that they have 2048, 4096, 6144, and 8192K buffers defined but only use
the 2048 in the driver.  I couldn't seem to ferret out any info on the
size of the buffers.  If they are fixed hardware buffers, then my "fix"
definitely won't work.

I read something on the mac68k list about SCSI interrupts superseding
NETWORK interrupts...don't know if that's true for the sparc, but I'm
trying to write the tcpdump output to a file, so I guess this would make

Okay, I'm done rambling, so I'll just ask, "Does anyone have any ideas
as to how to resolve my issue?"

Thanks in advance,
Kevin Halverson