Method and apparatus for filtering packets based on flows using address tables
First Claim
1. A network switch for network communications, said network switch comprising:
- a first data port interface, said first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate;
a second data port interface, said second data port interface supporting a plurality of data ports transmitting and receiving data at a second data rate;
a CPU interface, said CPU interface configured to communicate with a CPU;
an internal memory, said internal memory communicating with said first data port interface and said second data port interface;
a memory management unit, said memory management unit including an external memory interface for communicating data from at least one of said first data port interface and said second data port interface and an external memory;
a communication channel, communicating data and messaging information between said first data port interface, said second data port interface, the CPU interface, said internal memory, and said memory management unit;
wherein one data port interface of said first data port interface and said second data port interface comprises a fast filtering processor, said fast filtering processor filtering the data coming into the one data port interface, and taking selective filter action based upon a filtering result, and wherein said one data port interface further comprises a flow monitor for monitoring flows of data through the network switch, where a flow of said flows of data is defined by a combination of a source address and a destination address for a portion of the data passing through the network switch.
4 Assignments
0 Petitions
Accused Products
Abstract
A data switch for network communications includes a first data port interface which supports at least one data port which transmits and receives data. A second data port interface is also provided supporting at least one data port transmitting and receiving data. A CPU interface is provided, with the CPU interface configured to communicate with a CPU. A common memory is provided, and communicates with the first data port interface and the second data port interface. A memory management unit is provided, and communicates data from the first data port interface and the second data port interface and an common memory. A communication channel is provided, with the communication channel communicating data and messaging information between the first data port interface, the second data port interface, and the memory management unit. One data port interface of the first and second data port interfaces has a fast filtering processor for filtering the data coming into the one data port interface, and taking selective filter action based upon a filtering result. Also the one data port interface includes a flow monitor for monitoring flows of data through the network switch, where a flow of data is defined by a combination of a source address and a destination address for a portion of the data passing through the network switch.
31 Citations
15 Claims
-
1. A network switch for network communications, said network switch comprising:
-
a first data port interface, said first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate;
a second data port interface, said second data port interface supporting a plurality of data ports transmitting and receiving data at a second data rate;
a CPU interface, said CPU interface configured to communicate with a CPU;
an internal memory, said internal memory communicating with said first data port interface and said second data port interface;
a memory management unit, said memory management unit including an external memory interface for communicating data from at least one of said first data port interface and said second data port interface and an external memory;
a communication channel, communicating data and messaging information between said first data port interface, said second data port interface, the CPU interface, said internal memory, and said memory management unit;
wherein one data port interface of said first data port interface and said second data port interface comprises a fast filtering processor, said fast filtering processor filtering the data coming into the one data port interface, and taking selective filter action based upon a filtering result, and wherein said one data port interface further comprises a flow monitor for monitoring flows of data through the network switch, where a flow of said flows of data is defined by a combination of a source address and a destination address for a portion of the data passing through the network switch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of handling data packets in a network switch, said method comprising:
-
placing incoming packets into an input queue;
applying the input data packets to an address resolution logic engine;
performing a lookup to determine whether certain packet fields are stored in a lookup table and determining index values for the input data packets;
filtering the incoming packet through a fast filtering processor in order to determine what specific actions should be taken to modify the packet for further handling; and
discarding, forwarding, or modifying the packet based upon the filtering;
wherein said index values are used by the fast filtering processor to rapidly find an indexed specific action of said specific actions. - View Dependent Claims (11, 12, 14, 15)
-
-
13. A network switch for handling data packets comprising:
-
means for placing incoming packets into an input queue;
means for applying the input data packets to an address resolution logic engine;
means performing a lookup to determine whether certain packet fields are stored in a lookup table and means for determining index values for the input data packets;
means for filtering the incoming packet through a fast filtering processor in order to determine what specific actions should be taken to modify the packet for further handling; and
means for discarding, forwarding, or modifying the packet based upon the filtering;
wherein said index values are used by the fast filtering processor to rapidly find an indexed specific action of said specific actions.
-
Specification