摘要 |
A technique for performing buffer management on a network device without using static random access memory (SRAM). In one embodiment, a software-based buffer management scheme is used to allocate metadata buffers and packet buffers in one or more dynamic random access memory (DRAM) stores. As metadata buffers are allocated, pointers to those buffers are entered into a scratch ring. The metadata buffers are assigned for corresponding packet-processing operations. In one embodiment, metadata buffers are added in groups. A freed buffer count is maintained for each group, wherein a new group of buffers may be allocated if all buffers for the group have been freed. In one embodiment, the technique is facilitated by an application program interface (API) that contains buffer management functions that are callable by packet-processing code, wherein the are names and parameters of the API functions are identical to similar functions used for conventional buffer management operations employing SRAM.
|