Compact packet operation device and method
First Claim
1. A method of handling a frame in an electronic network device, the method comprising:
- receiving a frame having multiple field values at a port of the electronic network device;
parsing the received frame to obtain the field values and generating two or more slices from the received frame, wherein each slice contains at least some of the parsed field values including a source port field value and a frame format field value;
applying the two or more slices to a search engine having a rules table, wherein each rule in the rules table has a common header comprising a source port identifier specifying the port or ports to which the rule applies and a frame format identifier specifying the frame format to which the rule applies, wherein the source port identifier specifies that the rule applies to frames received on at least one of a specific port, an even port or any port, and the frame format identifier specifies the rule applies to at least one of 1 q_tagged frames, double_tagged frames, 802—
2 frames, CPU frames, tagged frames, stacked frames, or stacked and tagged frames;
determining matching rules by matching information in the two or more slices with information in the common header of each rule in the rules table by executing a parallel comparison at wire speed between the information in the two or more slices and the information in the common header of each rule in the rules table;
selecting a highest priority rule from the matching rules;
using the address of the highest priority rule to index a policy table to obtain an action to perform on the received frame; and
performing the action obtained from the policy table on the received frame.
4 Assignments
0 Petitions
Accused Products
Abstract
A network device and a method of handling a frame in a network device defining a common header for each rule in a rules table of a search engine, wherein the common header comprises a source port specifying a corresponding rule to be applied to a port or ports, and a frame format specifying a format applied to the corresponding rule. A port receives a frame, with the frame having multiple field values. A pre-parser parses the received frame to obtain the field values and corresponding slices. A search engine receives the slices and determines matches between the slices and the common header of each rule in the rules table. A policy table performs indexing based on the determined matches to obtain an action entry. An action resolution takes an action based on the obtained action entry.
-
Citations
34 Claims
-
1. A method of handling a frame in an electronic network device, the method comprising:
-
receiving a frame having multiple field values at a port of the electronic network device; parsing the received frame to obtain the field values and generating two or more slices from the received frame, wherein each slice contains at least some of the parsed field values including a source port field value and a frame format field value; applying the two or more slices to a search engine having a rules table, wherein each rule in the rules table has a common header comprising a source port identifier specifying the port or ports to which the rule applies and a frame format identifier specifying the frame format to which the rule applies, wherein the source port identifier specifies that the rule applies to frames received on at least one of a specific port, an even port or any port, and the frame format identifier specifies the rule applies to at least one of 1 q_tagged frames, double_tagged frames, 802—
2 frames, CPU frames, tagged frames, stacked frames, or stacked and tagged frames;determining matching rules by matching information in the two or more slices with information in the common header of each rule in the rules table by executing a parallel comparison at wire speed between the information in the two or more slices and the information in the common header of each rule in the rules table; selecting a highest priority rule from the matching rules; using the address of the highest priority rule to index a policy table to obtain an action to perform on the received frame; and performing the action obtained from the policy table on the received frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An electronic network device to handle a frame, comprising:
-
a rules table, wherein each rule in the rules table has a common header comprising a source port identifier specifying the port or ports to which the rule applies, and a frame format identifier specifying the frame format to which the rule applies, wherein the source port identifier specifies that the rule applies to frames received on at least one of a specific port, an even port or any port, and the frame format identifier specifies the rule applies to at least one of 1 q_tagged frames, double_tagged frames, 802—
2 frames, CPU frames, tagged frames, stacked frames, or stacked and tagged frames;a port for receiving a frame, with the frame having multiple field values; a pre-parser for parsing a received frame to obtain its field values and for generating two or more slices from the received frame, wherein each slice contains at least some of the parsed field values including a source port field value and a frame format field value; a search engine for receiving the two or more slices, determining matches between information contained in the slices and the common header of each rule in the rules table by executing a parallel comparison at wire speed between the information contained in the two or more slices and the information contained in the common header of each rule in the rules table, and selecting a highest priority matching rule; a policy table indexed by the address of the highest priority matching rule, for determining an action to perform on the received frame; and an action resolution unit for acting on the received frame according to the action obtained from the policy table. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of handling a frame in an electronic network device, the method comprising:
-
receiving a frame having multiple field values at a port of the electronic network device; parsing the received frame to obtain the field values and generating two or more slices containing information parsed from the received frame, wherein the information contained in a first corresponding slice is predefined and includes the source port, frame format, destination MAC address and source MAC address, and the information contained in a second corresponding slice is programmable; applying the two or more slices to a search engine having a rules table, wherein each rule in the rules table has a common header comprising a source port identifier specifying the port or ports to which the rule applies and a frame format identifier specifying the frame format to which the rule applies; determining matching rules by matching information in the two or more slices with information in the common header of each rule in the rules table, wherein the matching rules are determined by executing a parallel comparison at wire speed between the information in the two or more slices and the information in the common header of each rule in the rules table; selecting a highest priority rule when multiple matching rules are found; using the address of the highest priority matching rule to index a policy table to obtain an action to perform on the received frame; and performing the action obtained from the policy table on the received frame. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An electronic network device to handle a frame, comprising:
-
a rules table, wherein each rule in the rules table has a common header comprising a source port identifier specifying the port or ports to which the rule applies, and a frame format identifier specifying the frame format to which the rule applies; a port for receiving a frame, with the frame having multiple field values; a pre-parser for parsing a received frame to obtain its field values and for generating two or more slices containing information parsed from the received frame, wherein the information contained in a first corresponding slice is predefined and includes the source port, frame format, destination MAC address and source MAC address, and the information contained in a second corresponding slice is programmable; a search engine for receiving the two or more slices and determining matches between information contained in the slices and the common header of each rule in the rules table, wherein the search engine determines the matches by executing a parallel comparison at wire speed between the information in the slices and the information in the common header of each rule in the rules table, selects a highest priority rule when multiple matches are found; a policy table indexed by the addresses of the matched rules, for determining an action to perform on the received frame based on the address of the highest priority matched rule; and an action resolution unit for acting on the received frame according to the action obtained from the policy table. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
Specification