An integrated circuit processes communication packets and comprises a pointer
cache and control logic. The pointer cache store pointers that correspond to external
buffers that are external to the integrated circuit and configured to store the
communication packets. The control logic allocates the external buffers as the
corresponding pointers are read from the pointer cache and de-allocates the external
buffers as the corresponding pointers are written back to the pointer cache.