Subject: Dropping UDP packets in heavy traffic
To: None <current-users@NetBSD.ORG>
From: Rafal Boni <r-boni@uiuc.edu>
List: current-users
Date: 01/18/1995 03:53:46
I've been hacking away on an ethernet driver for the 386 port, and in the
process came accross a wierd "feature" in my kernel. Since all of my 2
Ethernet connected BSD boxes are using this same driver, I have no way to
easily verify if this is my problem, or normal behavior.
What I do, what happens:
run TTCP in UDP send mode, with the "make random data" switch.
[2048 buffers of 8K, usually against my Sparc or an HP
or IBM RISC box]
First several packets go out OK, but as soon as the card's memory
buffers fill up, and the driver raises OACTIVE [the driver "cheats"
with OACTIVE much the same way that the "ed" driver does, in that
it only raises OACTIVE when it has actually filled all the on-card
buffers] packets start getting dropped all over the floor [what a
mess!]. Quite a few packets, ranging up to the 1000's are dropped
before the card catches up.
I realize that UDP is an inherently unreliable protocol, but should
the kernel be dropping UDP packets so soon? I don't see this happen
when I use the HP9k, Sparc or RS6k as the sending piece of the link..
Someone want to test this with a card other than the 3c507, maybe a
3c509 or a WD/SMC or even a (blah, yeck) NE2K? Results and comments
appreciated.... [If anyone wants to check this out, I can send you
the exact copy of ttcp I used, so at least that is eliminated from
the equation]
--rafal
+--------------------------------------------------------+ +------------------+
| In search of the stress-strain relationship governing |/| Rafal Boni |
| students of mechanics... Experimentally. |\| r-boni@uiuc.edu |
+--------------------------------------------------------+ +------------------+