Fast flexible filter processor based architecture for a network device
AssigneeBroadcom Corporation
InventorsShekhar Ambe, Shiri Kadambi, Sandeep Relan
Life of this patent
Estimating the term…
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.
Claims22
A method of filtering data packets in a network device, said method comprising:
- receiving an incoming packet from a port;
- inspecting and extracting packet fields of the incoming packet;
- classifying the incoming packet and generating action instructions directly based on values contained in the extracted packet fields;
- and
- modifying the incoming packet based on the action instructions, and a predetermined criteria set for the network device,
- wherein the step of inspecting and extracting packet fields comprises applying inspection mask windows to any portion of the incoming packet to extract programmable packet fields.
A data filter for data packets in a network device, said data filter comprising:
- receiving means for receiving an incoming packet from a port;
- inspecting means for inspecting and extracting packet fields of the incoming packet;
- classifying means for classifying the incoming packet and generating action instructions directly 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 step of inspecting means comprises applying means for applying inspection mask windows to any portion of the incoming packet to extract programmable packet fields.
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 directly 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 based on the action instructions and a predetermined criteria set for the network device and output the modified incoming data packet.
A network device for network communications, said network device comprising:
- a data port interface, said data port interface supporting at least one data port transmitting and receiving data;
- 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;
- a communication channel, said communication channel for communicating data and messaging information between said data port interface, the programmable interface, and said memory;
- and
- a fast flexible filtering processor, said fast flexible filtering being configured to receive packets coming into the data port interface, extract packet fields from said packets, directly 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.
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;
- 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;
- and
- discarding, forwarding, or modifying the data packets based upon the filtering;
- wherein filtering step further comprises:
- extracting a selectable packet field within the data packets;
- using values contained in the extracted selectable packet field to directly classify the data packets and determine action instructions for the data packets;
- taking said specific actions to modify the data packets based on said action instructions and a predetermined criteria set for the network device.
Dependencies are inferred from the claim text.