US 7,492,771 B2
Method for performing a packet header lookup
Claude Basso, Raleigh, N.C. (US); Jean Louis Calvignac, Raleigh, N.C. (US); Chih-jen Chang, Apex, N.C. (US); Philippe Damon, Raleigh, N.C. (US); Ronald Edward Fuhs, Rochester, Minn. (US); Natarajan Vaidhyanathan, Carrboro, N.C. (US); Fabrice Jean Verplanken, La Gaude (France); Colin Beaton Verrilli, Apex, N.C. (US); and Scott Michael Willenborg, Stewartville, Minn. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Apr. 01, 2005, as Appl. No. 11/96,362.
Prior Publication US 2006/0221966 A1, Oct. 05, 2006
Int. Cl. H04L 12/56 (2006.01)
U.S. Cl. 370—395.32 1 Claim
OG exemplary drawing
 
1. A method for performing a lookup for a packet in a computer system, the packet having a header, the method comprising:
parsing the packet for the header prior to receipt of the packet being completed, wherein the header is separated from data payload;
demultiplexing the packet;
hashing the header;
using the hashed header, performing a lookup corresponding to the header, wherein the lookup is a local lookup of a cache;
returning a resultant corresponding to the header if the cache includes an entry corresponding to the header and the entry stores the resultant;
providing an index for the packet if the cache includes an entry corresponding to the header but the entry does not store the resultant;
incrementing a counter if the index is provided;
decrementing the counter if the resultant has been resolved;
performing a remote lookup of a memory if the cache does not have an entry corresponding to the header; and
storing the resultant of the memory lookup in the entry of the cache corresponding to the header.