Fast flexible filter processor based architecture for a network device
First Claim
Patent Images
1. A method of filtering data packets in a network device, said method comprising:
- receiving an incoming packet from a port of the network device;
extracting, at the network device, packet fields of the incoming packet;
classifying, at the network device, the incoming packet and generating action instructions based on values contained in the extracted packet fields; and
modifying, at the network device, the incoming packet based on the action instructions and a predetermined criteria set for the network device,wherein the network device includes a cell channel configured to transport the incoming packet, a protocol channel synchronized with the cell channel and configured to direct a flow of the incoming packet, and a sideband channel decoupled from the cell channel and configured to communicate with a processor to receive rules according to which one or more of the extracting, classifying, or modifying occurs.
5 Assignments
0 Petitions
Accused Products
Abstract
A method of filtering data packets in a network device is disclosed. An incoming packet is received from a port and the incoming packet is inspected and packet fields are extracted. The incoming packet is classified based on the extracted packet fields and action instructions are generated. The incoming packet is then modified based on the action instructions. Further, the inspection and extraction includes applying inspection mask windows to any portion of the incoming packet to extract programmable packet fields.
-
Citations
22 Claims
-
1. A method of filtering data packets in a network device, said method comprising:
-
receiving an incoming packet from a port of the network device; extracting, at the network device, packet fields of the incoming packet; classifying, at the network device, the incoming packet and generating action instructions based on values contained in the extracted packet fields; and modifying, at the network device, the incoming packet based on the action instructions and a predetermined criteria set for the network device, wherein the network device includes a cell channel configured to transport the incoming packet, a protocol channel synchronized with the cell channel and configured to direct a flow of the incoming packet, and a sideband channel decoupled from the cell channel and configured to communicate with a processor to receive rules according to which one or more of the extracting, classifying, or modifying occurs. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data filter for data packets in a network device, said data filter comprising:
-
receiving means for receiving an incoming packet from a port; extracting means for extracting packet fields of the incoming packet; classifying means for classifying the incoming packet and generating action instructions based on values contained in the extracted packet fields; and modifying means for modifying the incoming packet based on the action instructions and a predetermined criteria set for the network device, wherein the network device includes a cell channel configured to transport the incoming packet, a protocol channel synchronized with the cell channel and configured to direct a flow of the incoming packet, and a sideband channel decoupled from the cell channel and configured to communicate with a processor to receive rules according to which one or more of the extracting, classifying, or modifying occurs. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A fast flexible filter processor for data packets in a network device, said fast flexible filter processor comprising:
-
an inspection engine, configured to receive an incoming data packet and extract selected packet fields from the incoming data packet; a classification engine communicating with the inspection engine, configured to receive the extracted selected packet fields and generate action instructions based on the values contained in the extracted packet fields; a packet processing engine communicating with the classification engine, configured to receive the action instructions and the incoming data packet, modify the incoming packet and output the modified incoming data packet, wherein the network device includes a cell channel configured to transport the incoming data packet, a protocol channel synchronized with the cell channel and configured to direct a flow of the incoming packet, and a sideband channel decoupled from the cell channel and configured to communicate with a processor to receive rules according to which one or more of the inspection engine, the classification engine, or the packet processing engine executes. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A network device for network communications, said network device comprising:
-
a data port interface supporting at least one data port; a programmable interface, said programmable interface configured to communicate with a CPU or a programming source; a memory, said memory communicating with said data port interface; and a fast flexible filtering processor configured to receive packets coming into the data port interface, extract packet fields from said packets, determine action instructions from values contained in the extracted packet fields and take selective filter action based upon the action instructions and a predetermined criteria set for the network device, wherein the network device includes a cell channel configured to transport the incoming packet, a protocol channel synchronized with the cell channel and configured to direct a flow of the incoming packet, and a sideband channel decoupled from the cell channel and configured to communicate with the CPU and/or the programming source to receive rules according to which the fast flexible filtering processor executes. - View Dependent Claims (17, 18, 19)
-
-
20. A method of handling data packets in a network device, said method comprising:
-
placing data packets into an input queue; performing a lookup to determine whether certain packet fields are stored in a lookup table; and filtering the data packets through a fast flexible filtering processor in order to determine what specific actions should be taken to modify the data packets for further handling; wherein the filtering step further comprises extracting a selectable packet field within the data packets, using values contained in the extracted selectable packet field to classify the data packets and determine action instructions for the data packets, and taking said specific actions to modify the data packets based on said action instructions and a predetermined criteria set for the network device, wherein the network device includes a cell channel configured to transport the incoming packet, a protocol channel synchronized with the cell channel and configured to direct a flow of the incoming packet, and a sideband channel decoupled from the cell channel and configured to communicate with a processor to receive rules according to which the filtering occurs. - View Dependent Claims (21, 22)
-
Specification