IP Library Granted Patent US 7,020,137
Granted Patent B2
US 7,020,137 · App. 09/983,157 · Granted Mar 28, 2006

Network switching architecture with fast filtering processor

Assignee: Broadcom Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,020,137
App. No.
09/983,157
Granted
Mar 28, 2006
Kind
B2
Abstract

A network switch for network communications includes a first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate. A second data port interface supports a plurality of data ports transmitting and receiving data at a second data rate. A CPU interface is configured to communicate with a CPU, and an internal memory communicates with the first data port interface and the second data port interface. A memory management unit is provided, including an external memory interface, for communicating data from at least one of the first data port interface and the second data port interface and an external memory. A communication channel is provided, for communicating data and messaging information between the first data port interface, the second data port interface, the internal memory, and the memory management unit. One data port interface of the first data port interface and the second data port interface includes a fast filtering process, with the fast filtering processor filtering packets coming into the one data port interface. Selective filter action is taken based upon a filtering result.

Claims (41)

1. A communications device, said communications device comprising:

a first data port interface, said first data port interface supporting at least one data port transmitting and receiving data; and

a fast filtering processor connected to the first data port interface, said fast filtering processor configured to classify packets coming into the one data port interface through multiple classifications based upon multiple bits of multiple selected fields in the packet and determine what specific actions should be taken to modify the packet for further handling, said fast filtering processor taking selective filter action based upon a filtering result;

wherein said at least one data port interface includes a rules table interface and a rules table thereupon, and wherein said fast filtering processor applies a filter mask to a packet incoming thereto, providing a filter result, and wherein said filter result is applied to predetermined rules in said rules table, and wherein action is taken on the packet based upon the filtering result.

2. A communications device as recited in claim 1 , wherein said fast filtering processor is programmable by inputs from a CPU.

3. A communications device as recited in claim 1 , wherein said fast filtering processor includes a set of exclusive filter masks and inclusive filter masks therein, wherein said exclusive filter masks are configured to exclude all packets except packets with which there is a match with the filtering result.

4. A communications device as recited in claim 1 , wherein said fast filtering processor includes filter masks which filter ingress port fields, egress port fields, and filter select fields of an incoming packet.

5. A communications device as recited in claim 1 , wherein said at least one first data port interface and said fast filtering processor are implemented on a common semiconductor substrate.

6. A communications device as recited in claim 1 , said fast filtering processor comprising a priority assignment unit for assigning a weighted priority value to packets entering the first data port interface.

7. A communications device as recited in claim 1 , wherein the fast filtering processor includes a tagging unit which applies an IEEE defined tag to incoming packets, said IEEE defined tag identifying packet parameters.

8. A communications device as recited in claim 7 , wherein said packet parameters include class-of-service.

9. A communications device as recited in claim 1 , wherein said fast filtering processor is configured to classify the packet based upon any bit in a payload field of the packet.

10. A communications device as recited in claim 1 , further comprising an address lookup unit connected to said at least one first data port interface, said address unit containing address entries and performing address lookup on said packets.

11. A communications device, said communications device comprising:

a first data port interface, said first data port interface supporting at least one data port transmitting and receiving data; and

a fast filtering processor connected to the first data port interface, said fast filtering processor configured to classify packets coming into the one data port interface based upon any bit of a selected field in the packet, said fast filtering processor taking selective filter action based upon a filtering result

wherein said at least one data port interface includes a rules table interface and a rules table thereupon, and wherein said fast filtering processor applies a filter mask to a packet incoming thereto, providing a filter result, and wherein said filter result is applied to predetermined rules in said rules table, and wherein action is taken on the packet based upon the filtering result;

wherein said fast filtering processor includes filter masks which filter ingress port fields, egress port fields, and filter select fields of an incoming packet;

wherein the rules table includes filter value fields for filter result look-up, ingress port fields, egress port fields, filter select fields, action bit fields, priority bit fields, type-of-services fields, and output port fields.

12. A method of handling data packets in a communications device, said method comprising:

placing incoming packets into an input queue;

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, said filtering comprising classifying the incoming packet according to multiple classifications based upon multiple bits of multiple selected fields in the incoming packet, wherein said fast filtering processor applies a filter mask to a packet incoming thereto and provides a filter result, and wherein said filter result is applied to predetermined rules in a rules table; and

discarding, forwarding, or modifying the packet based upon the filtering result.

13. A method as recited in claim 12 , wherein filtering the incoming packet includes a step of tagging the incoming packet with an IEEE defined tag.

14. A method as recited in claim 13 , wherein said IEEE defined tag defines packet parameters, including class-of-service priority.

15. A method as recited in claim 12 , wherein filtering the incoming packet includes filtering the packet independent of control from a remote processor.

16. A method as recited in claim 12 , wherein said filtering step comprises classifying the packet based upon any bit of a payload field in the packet.

17. A method as recited in claim 12 , further comprising a step of performing an address lookup on the incoming packet to determine at least one of a source address and destination address, and to store addressing information associated with said incoming packet.

18. A communications device, said communications device comprising:

a first data port interface, said first data port interface supporting at least one data port transmitting and receiving data;

a fast filtering processor connected to the first data port interface, said fast filtering processor configured to classify packets coming into the one data port interface based upon any bit of a selected field in the packet, said fast filtering processor taking selective filter action based upon a filtering result;

wherein the Fast Filtering processor is configured to simultaneously perform multiple classifications based upon multiple bits of multiple selected fields in the packet, and

wherein said at least one data port interface includes a rules table interface and a rules table thereupon, and wherein said fast filtering processor applies a filter mask to a packet incoming thereto, providing a filter result, and wherein said filter result is applied to predetermined rules in said rules table, and wherein action is taken on the packet based upon the filtering result.

19. A communications device, said communications device comprising:

an interface, said interface supporting transmitting and receiving of signals; and

a fast filtering processor connected to said interface, said fast filtering processor configured to classify packets coming into said interface as a plurality of signals and determine what specific actions should be taken to modify the packet for further handling, based upon any bit of a selected field in the packet,

wherein said interface includes a rules table interface and a rules table thereupon, and wherein said fast filtering processor applies a filter mask to a packet incoming thereto, providing a filter result, and wherein said filter result is applied to predetermined rules in said rules table, said fast filtering processor taking selective filter action based upon the filtering result.

20. A method of handling signals in a communications device, said method comprising:

placing groups of signals into an input queue;

filtering one group of the group of signals through a fast filtering processor in order to determine what specific actions should be taken to modify the one group for further handling, said filtering comprising classifying the incoming packet based upon any bit of a selected field in the one group, wherein said fast filtering processor applies a filter mask to a packet incoming thereto and provides a filter result, and wherein said filter result is applied to predetermined rules in a rules table; and

discarding, forwarding, or modifying the one group based upon the filtering result.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048555/0510 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0097 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
Continuity (4)
Continuation 0934341100 · Jun 30, 1999
Provisional Application 6009222000 · Jul 8, 1998
Provisional Application 6009597200 · Aug 10, 1998
Related Publication 20020054604A1 · May 9, 2002