Method and apparatus for performing packet classification for policy-based packet routing
First Claim
1. A method of adding a new policy statement to a plurality of policy statements stored in a first memory, comprising:
- comparing a new priority number associated with the new policy statementto a plurality of priority numbers stored in a second memory, the plurality of priority numbers each associated with a respective one of the plurality of policy statements stored in the first memory;
determining that the new priority number is more significant than one of the plurality of priority numbers stored in the second memory;
updating the one of the plurality of priority numbers in the second memory without changing its physical location in the second memory;
writing the new priority number to an available location in the second memory; and
writing the new policy statement to an available location in the first memory.
11 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for performing packet classification in a digital signal processor for policy-based packet routing. For one embodiment, the digital signal processor includes a policy statement table for storing policy statements. Each policy statement has associated with it a priority number that indicates the priority of the policy statement relative to other policy statements. The priority numbers are separately stored in a priority index table. The priority index table includes priority logic that determines the most significant priority number from among the policy statements that match an incoming packet during a classification of filter operation. The priority logic also identifies the location in the priority index table of the most significant priority number. The identified location in the priority index table can be used to access associated route information or other information stored in a route memory array. New policy statements can be added at any location in the policy statement table, and the associated priority numbers loaded into corresponding locations in the priority index table. Priority numbers of previously stored priority policy statements may be updated such that the new policy statement does not have the same priority number as the previously stored policy statements.
145 Citations
8 Claims
-
1. A method of adding a new policy statement to a plurality of policy statements stored in a first memory, comprising:
-
comparing a new priority number associated with the new policy statement to a plurality of priority numbers stored in a second memory, the plurality of priority numbers each associated with a respective one of the plurality of policy statements stored in the first memory; determining that the new priority number is more significant than one of the plurality of priority numbers stored in the second memory; updating the one of the plurality of priority numbers in the second memory without changing its physical location in the second memory; writing the new priority number to an available location in the second memory; and writing the new policy statement to an available location in the first memory. - View Dependent Claims (2, 3)
-
-
4. A method of adding a new policy statement to a plurality of policy statements stored in a first memory, comprising:
-
altering a new priority number associated with the new policy statement; comparing the altered new priority number to a plurality of priority numbers stored in a second memory, the plurality of priority numbers each associated with a respective one of the plurality of policy statements stored in the first memory; determining that the altered new priority number is more significant than one of the plurality of priority numbers stored in the second memory; updating the one of the plurality of priority numbers in the second memory without changing its physical location in the second memory; writing the unaltered new priority number to an available location in the second memory; and writing the new policy statement to an available location in the first memory. - View Dependent Claims (5, 6, 7, 8)
-
Specification