Fast IP packet classification with configurable processor
First Claim
1. A packet classification method comprising:
- receiving a packet;
matching, using a processor, a plurality of fields of the packet against N classification rules, the matching step including, for each field;
associating equivalent IDs with respective values of the field,associating a respective bitmap with each equivalent ID, the bitmap providing an indication of a matching classification rule, anddetermining the bitmap associated with a value of the field in the packet;
determining a possible range of values associated with a field of the packet to be matched;
identifying the possible range of values as a first rudimentary interval with associated endpoints;
parsing a packet classifying rule to determine a matching range associated with the field;
identifying upper and lower ends of the matching range;
comparing the upper and lower ends of the matching range with the endpoints associated with the first rudimentary interval;
creating up to two new rudimentary intervals based on a case result of the comparing step;
associating adjusted endpoints with each of the first and up to two new rudimentary intervals in accordance with the case result and the upper and lower ends so as to facilitate packet classification based on the possible range of values of the packet field including the matching range; and
preparing to forward the packet using the packet classifying rule.
1 Assignment
0 Petitions
Accused Products
Abstract
A novel solution for fast packet classification includes a novel data structure to store classifier rules which enables fast packet classification, which structure employs bitmaps for each field of the incoming packet for which classification is desired. A fast packet classification algorithm using the novel data structure allows the matching rule with the highest priority to be quickly obtained. A novel rule update algorithm allows new classifier rules to be added into the data structure incrementally. In one practical implementation of a classification engine employing the structures and algorithms of the present invention, a configurable processor with customized instructions is used to accelerate packet classification.
-
Citations
3 Claims
-
1. A packet classification method comprising:
-
receiving a packet; matching, using a processor, a plurality of fields of the packet against N classification rules, the matching step including, for each field; associating equivalent IDs with respective values of the field, associating a respective bitmap with each equivalent ID, the bitmap providing an indication of a matching classification rule, and determining the bitmap associated with a value of the field in the packet; determining a possible range of values associated with a field of the packet to be matched; identifying the possible range of values as a first rudimentary interval with associated endpoints; parsing a packet classifying rule to determine a matching range associated with the field; identifying upper and lower ends of the matching range; comparing the upper and lower ends of the matching range with the endpoints associated with the first rudimentary interval; creating up to two new rudimentary intervals based on a case result of the comparing step; associating adjusted endpoints with each of the first and up to two new rudimentary intervals in accordance with the case result and the upper and lower ends so as to facilitate packet classification based on the possible range of values of the packet field including the matching range; and preparing to forward the packet using the packet classifying rule. - View Dependent Claims (2, 3)
-
Specification