Patent ID: 6987762
Filing Date: 2006-01-17
Classification: H04L

Abstract:
1. A router for performing transfer processing based on a label of a header added to a protocol packet having the header that can be stacked with a plurality of layers, comprising: a pipeline for performing in a conveyor-belt style the processing of obtaining necessary information for performing the operation after judging the type of an operation to be performed on a label and obtaining output channel information, based on the content of a packet and information set in advance, and a means of sequentially supplying a top header of each packet received from a line to said pipeline, performing an actual operation on the top header of each packet, based on the obtained necessary information and obtained output channel information, and as a result of pop processing, repeating the above processing starting from a stage of supplying a new top header to said pipeline as for a packet including the new top header, wherein said pipeline obtains necessary information for performing the operation by reference to a header processing table including a first table describing which kind of operation to be performed on a label and a second table for searching for a pointer of a corresponding entry of the first table, wherein said pipeline includes a means for searching the second table by a search key, which is defined by combining an input line number that has received a packet with a label within a top header, and wherein said searching means is constituted in that: the search key is divided into n divided search keys from a first divided search key to n-th divided search key; the second table is divided into a plurality of search tables from a first search table to n-th search table; the first divided search key is used for searching the first search table; a result obtained by searching the first search table is used as an upper key of a search key for searching the second search table, the second divided search key is used as a lower key, and a combined key of the upper key and the lower key is used as a key for searching the second search table; a result obtained by searching the (k−1)-th (k is an integer from one to n) search table is used as an upper key for searching the k-th search table, the k-th divided search key is used as a lower key, and a combined key of the upper key and the lower key is used for searching the k-th search table; and a result obtained by searching the n-th search table becomes a pointer for gaining access to the first table.