发明名称 |
System and method for packet classification and internet protocol lookup in a network environment |
摘要 |
An example method includes partitioning a memory element of a router into a plurality of segments having one or more rows, where at least a portion of the one or more rows is encoded with a value mask (VM) list having a plurality of values and masks. The VM list is identified by a label, and the label is mapped to a base row number and a specific number of bits corresponding to the portion encoding the VM list. Another example method includes partitioning a prefix into a plurality of blocks, indexing to a hash table using a value of a specific block, where a bucket of the hash table corresponds to a segment of a ternary content addressable memory of a router, and storing the prefix in a row of the segment. |
申请公布号 |
US9245626(B2) |
申请公布日期 |
2016.01.26 |
申请号 |
US201213661356 |
申请日期 |
2012.10.26 |
申请人 |
CISCO TECHNOLOGY, INC. |
发明人 |
Fingerhut John Andrew;Ramaraj Balamurugan |
分类号 |
G06F13/00;G06F13/28;G11C15/00;H04L12/701;H04L12/931 |
主分类号 |
G06F13/00 |
代理机构 |
Patent Capital Group |
代理人 |
Patent Capital Group |
主权项 |
1. A method, comprising:
partitioning a memory element of a router into a plurality of segments comprising one or more rows, wherein at least a portion of the one or more rows is encoded with a value mask (VM) list comprising a plurality of values and masks, wherein the VM list is identified by a unique label distinguishing it from other VM lists, wherein the VM lists correspond to rule lists of one or more policies; mapping, in a table separate from the plurality of segments, the label to a base row number and a specific number of bits corresponding to the portion encoding the VM list, the base row number indicating a start of rows encoding the VM list, and the specific number of bits indicating a consecutive number of bits used for the VM list; receiving a search key comprising the label identifying the VM list; identifying the label in the search key; determining, from the table, a read address of a specific row in the portion of the plurality of segments based on the base row number and the specific number of bits indicated by the label; accessing the specific row in the plurality of segments; and comparing the search key with the plurality of values and masks in the specific row. |
地址 |
San Jose CA US |