Patent ID: 7817629
Filing Date: 2010-10-19
Classification: H04L

Abstract:
1. A network device operative to perform a network operation on a packet of data in a network, the packet of data having information populating a plurality of protocol header fields, the network device comprising: a plurality of lookup tables, each lookup table comprising a plurality of table inputs and a plurality of processor instructions, each table input in the plurality of table inputs associated with a respective processor instruction in the plurality of processor instructions; and a processor, the processor being operative to perform the network operation on the packet of data at least in part by performing one or more lookup cycles, a lookup cycle comprising the addressing of one of the plurality of lookup tables with one of the plurality of table inputs and the performing of the processor instruction associated with that table input; wherein at least one of the plurality of processor instructions in the plurality of lookup tables comprises an instruction directing that the content of one of the plurality of protocol header fields be read and that one of the plurality of lookup tables be addressed with that content as the table input; wherein the plurality of lookup tables comprises N lookup tables, with N being greater than 2; and wherein a first one of the N lookup tables is addressed by an initial table input and each subsequent one of the N lookup tables is addressed in turn by a table input that is specified by one of the processing instructions read from an immediately preceding one of the N lookup tables, and the one of the processing instructions read from the immediately preceding one of the N lookup tables determines which one of the N lookup tables is to be addressed by the specified table input, such that the processing instructions read from respective ones of the N lookup tables other than a final one of the N lookup tables collectively define a particular processing order for the plurality of protocol header fields; wherein a given one of the plurality of processor instructions in a given one of the plurality of lookup tables specifies both which one of the plurality of protocol header fields is to be read and which one of the N lookup tables is to be addressed.