Patent ID: 7903659

Claim:
A network device, comprising: a plurality of input ports to receive variable length data units; a memory to temporarily store the variable length data units; a buffer; a data handler to: receive a first variable length data unit of the variable length data units, identify a key for the first variable length data unit, store the key in an entry in the buffer, the entry being associated with the first variable length data unit, determine a starting address in the memory where a first portion of the first variable length data unit is to be stored, store the starting address in the entry in the buffer associated with the first variable length data unit, store the first portion in the memory, store a second portion of the first variable length data unit in the memory, the location of the next portion being identified by an offset, and store the offset in the entry in the buffer associated with the first variable length data unit; a route lookup engine to perform a lookup based on the key, and identify an output port of the network device for the first variable length data unit based on the lookup; and an indirect cell processor, where when the first variable length data unit comprises more than a particular number of portions, the indirect cell processor is to identify at least one offset associated with at least one portion, of the first variable length data unit, exceeding the particular number of portions.