3c905b buffering

Donald Becker becker@cesdis.gsfc.nasa.gov
Fri Dec 3 13:37:11 1999


On Fri, 3 Dec 1999, Tommy McNeese wrote:

> Does the 3c905b buffer TX packets in any way?

Yes.  It has several phases of internal buffering, including a large Tx
FIFO.  Packet order is always preserved.  If required, the packet transmit
timing may be precisely controlled.

> Here is the problem, we have 2 UDP packets being transmitted. The first one
> is a broadcast and a second is to a specific machine. In the code they are

This is an ARP issue -- the unicast packets are waiting for an ARP reply.
An ARP reply is not needed for broadcasts.

It's unrelated to the driver in use, although the very short driver Tx queue
of the slow ISA cards comes into play.  Once a packet is in the driver Tx
queue it may not be reordered.
The numbers for common ISA cards:
   8390-based cards, e.g. ne2000, wd8013, and smc-ultra, have a two packet
   ping-pong scheme.
   The 3c509 queues typically 2K-4K of transmit data, although never more
   than 32 packets.

The typical 10/100Mbps PCI card queues 15 packets.  That sounds like much
more, but 15 minimum-sized packets is not a lot of time at 100Mbps.

Donald Becker
Scyld Computing Corporation, and
USRA-CESDIS,   becker@cesdis.gsfc.nasa.gov