Abstract: Method and system for managing a buffers pool. The system may include a first processor coupled to a general memory having allocation ring and de-allocation ring portions; and a second processor to perform internal accounting of pointer(s) buffer(s). The second processor has an internal storage array logically divided into first and second storage spaces. The second processor releases temporarily un-required buffer(s) pointer(s) to the first storage space, or to the second storage space if the first storage space is full. The second processor utilizes allocated buffer(s) pointer(s) accumulated in the first storage space. The second processor is to cause a DMA engine to move a bulk of two or more buffer(s) pointer(s) from the allocation ring to the first storage space, and to move a bulk of two or more buffer(s) pointer(s) from the second storage space to the de-allocation ring.
Abstract: A system including a first processor functionally coupled to a general memory having allocation ring and de-allocation ring portions for allocating and de-allocating buffer(s) pointer(s), respectively, and a second processor having an internal storage array logically divided into a first storage space, for holding buffer(s) pointer(s) allocated for (and optionally buffer(s) pointer(s) released by) the second processor, and a second storage space, for holding buffer(s) pointer(s) de-allocated by the second processor. The second processor may be adapted to cause a DMA engine to move a bulk of buffer(s) pointer(s) from the allocation ring to the first storage space responsive to consuming all buffer pointers in a current first storage part in the first storage space, and a bulk of buffer(s) pointer(s) from the second storage space to the de-allocation ring responsive to releasing, for example, two pointers into the second storage space.
Abstract: A method and apparatus for generating a data structure for classifying an Internet Protocol packet. The data structure generation method may include creating a level-2 table with a plurality of bins for storing therein classification rules and using a first hashing data to derive a hash key1 from a classification rule to point at, or to designate, an entry of a level-1 table, and populating the entry with a pointer to the level-2 table. The method may further comprise populating a bin in the level-2 table with the classification rule, which bin is pointed at, or designated, by a hash key2 that is derived from the rule by using a second hashing data contained in the entry.