A packet transfer buffer for use in a computer system having multiple source and destination interfaces, as well as packet handling software. The buffer has a source packet FIFO and destination packet FIFO, each with an associated packet length counter. The packet handling software obtains packet lengths from the source packet counter, and provides the packet length to the destination packet counter. The buffer has hardware circuitry that handles transfer of data from the source packet FIFO to the destination packet FIFO without the need for word-by-word reads and writes by the packet handling software.
Mark A. Johnson