发明名称 METHOD AND APPARATUS FOR GENERATING PARALLEL LOOKUP REQUESTS UTILIZING A SUPER KEY
摘要 The invention describes a network lookup engine for generating parallel network lookup requests for input packets, where each packet header is parsed and represented by a programmable parser in a format, namely a token, which is understandable by the engine. Each token can require multiple lookups in parallel in order to speed up the packet processing time. The sizes of lookup keys varies depending on the content of the input token and the protocols programmed for the engine. The engine generates a super key per token, representing all parallel lookup keys wherein the content of each key can be extracted from the super key through an associated profile identification. The network lookup engine is protocol-independent which means the conditions and rules for generating super keys are full programmable so that the engine can be reprogrammed to perform a wide variety of network features and protocols in a software-defined networking (SDN) system.
申请公布号 US2016246882(A1) 申请公布日期 2016.08.25
申请号 US201514628058 申请日期 2015.02.20
申请人 Cavium, Inc. 发明人 TRAN Anh;DANIEL Tsahi;SCHMIDT Gerald
分类号 G06F17/30 主分类号 G06F17/30
代理机构 代理人
主权项 1. A programmable network lookup engine, comprising: a template lookup table configured to receive and identify formats of a plurality of input tokens parsed from header fields of a plurality of network packets; and a control data extractor configured to extract a set of control bits from each of the input tokens, wherein the set of extracted bits are used to match with predefined values provided by a programmed network protocol; an instruction table address generator configured to: perform the matching comparison between the set of extracted control bits and the predefined values by the programmed network protocol; andgenerate addresses for a plurality of instruction tables, wherein the instruction tables include instructions for building a plurality of lookup requests per each of the input tokens; and a plurality of instruction execution hardware logic blocks configured to: execute the instructions in the instruction tables and generate the plurality of lookup requests in parallel per each of the input tokens; andprovide the plurality of parallel lookup requests to a search engine where lookup operations for the keys are performed.
地址 San Jose CA US