1. A method of operation for a network buffer which receives incoming data packets of variable size arriving on an input bus, stores each incoming packet in a memory, and thereafter reads each stored packet out of the memory and forwards it on an output bus, wherein each incoming data packet is no greater than a particular maximum size, wherein the memory comprises a set of packet buffers, each of size large enough to store a maximum size data packet, each packet buffer being subdivided into a plurality of packet cells of uniform size too small to store a maximum size data packet, the method comprising the steps of: determining a size of each incoming data packet, storing each incoming data packet in a plurality of cells of an unoccupied packet buffer if the incoming data packet is too large to be stored in a single one of said packet cells; and storing each incoming data packet in a single unoccupied packet cell when the incoming data packet is small enough to be stored in a single packet cell, wherein a packet buffer is occupied when at least one of its packet cells stores packet data and wherein a packet cell is occupied when it stores packet data.