Patent ID: 7269663

Claim:
A method comprising: receiving a packet at a network device, the packet including a header and a payload; tagging the packet, by a first packet-processing application, with a cache lookup key based upon original contents of the header, the cache lookup key indicating where in a unified cache a cache entry corresponding to the packet will be stored, the cache lookup key being stored in a field of the unified cache, and the cache lookup key being part of a packet descriptor of the packet; translating the header of the packet from the original contents by an address translation packet-processing application after tagging the packet; forwarding the packet descriptor and the packet to a second packet processing application after translating the header; and the second packet-processing application accessing the cache entry from the unified cache using the cache lookup key from the packet descriptor added by the first packet processing application, wherein the unified cache is shared by multiple packet forwarding processes and allows a flow to be classified once and then subsequent packets can be processed with a single lookup in the unified cache.