Subject: BigMac Ethernet out of rx descriptors
To: None <email@example.com>
From: Kevin Halverson <firstname.lastname@example.org>
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:
be0:flags=8963<UP,BROADCAST,NOTRAILERS,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
media: Ethernet autoselect (10baseT half-duplex)
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,