Patent US6335935B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6335935B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Network switching architecture with fast filtering processor

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1999-06-30
•
Granted: 2002-01-01
•
Expires: 2019-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Shiri Kadambi
  • 👤 Shekhar Ambe

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:49
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L12/28; H04L12/46; H04L12/4604; H04L12/462; H04L12/4625; H04L12/4641; H04L12/4645; H04L12/467; H04L12/5602; H04L45/00; H04L45/24; H04L45/245; H04L45/74; H04L45/742; H04L47/00; H04L47/10; H04L47/12; H04L47/125; H04L47/24; H04L47/2408; H04L47/2441; H04L47/2458; H04L47/30; H04L47/50; H04L47/52; H04L47/522; H04L47/525; H04L47/62; H04L47/6205; H04L47/6215; H04L47/622; H04L47/6225; H04L47/623; H04L49/00; H04L49/10; H04L49/102; H04L49/103; H04L49/104; H04L49/105; H04L49/107; H04L49/108; H04L49/109; H04L49/30; H04L49/3081; H04L49/309; H04L49/35; H04L49/351; H04L49/352; H04L49/60; H04L49/606; H04L49/90; H04L49/901; H04L49/9047; H04L49/9057; H04L49/9063; H04L49/9068; H04L49/9073; H04L67/00; H04L67/01; H04L67/10; H04L69/00; H04L69/16; H04L69/161; H04L12/02; H04L12/16; H04L12/18; H04L12/42; H04L2012/5638; H04L2012/5646; H04L2012/5651; H04L2012/5665; H04L2012/5667; H04L2012/5678; H04L2012/5679; H04L2012/568; H04L2012/5681; H04L2012/5682; H04L2012/5683; H04L49/20; H04L49/201; H04L49/205; H04L49/25; H04L49/253; H04L49/254; H04L49/3009; H04L49/3036; H04L49/3072; H04L49/354; H04L49/602; H04L69/14; H04L69/30; H04L69/32; H04L69/322; H04L69/323; H04L69/329; Y; Y02; Y02D; Y02D30/00; Y02D30/50; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99941; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 219 words
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, said communication channel for 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 configured to classify packets coming into the one data port interface based upon any bit of a selected field in the packet, and taking selective filter action based upon a filtering result.
Claim 2
Dependent Claim 219 words
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, said communication channel for 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 configured to classify packets coming into the one data port interface based upon any bit of a selected field in the packet, and taking selective filter action based upon a filtering result.
Claim 3
Dependent Claim 25 words
A network switch as recited in claim 1 , wherein said fast filtering processor is programmable by inputs from the CPU through the CPU interface.
Claim 4
Dependent Claim 70 words
A network switch as recited in claim 1 , wherein 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.
Claim 5
Dependent Claim 42 words
A network switch as recited in claim 3 , wherein said first data port interface, second data port interface, CPU interface, internal memory, memory management unit, communications channel, fast filtering processor, and said rules table are implemented on a common semiconductor substrate.
Claim 6
Dependent Claim 49 words
A network switch as recited in claim 4 , 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 filter result.
Claim 7
Dependent Claim 33 words
A network switch as recited in claim 4 , wherein said fast filtering processor includes filter masks which filter ingress port fields, egress port fields, and filter select fields of an incoming packet.
Claim 8
Dependent Claim 42 words
A network switch as recited in claim 6 , 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.
Claim 9
Dependent Claim 41 words
A network switch as recited in claim 1 , said fast filtering processor comprising a priority assignment unit for assigning a weighted priority value to untagged packets entering one of the first data port interface and the second data port interface.
Claim 10
Dependent Claim 29 words
A network switch as recited in claim 1 , wherein the fast filtering processor filters the packets independent of the CPU interface, and therefore without communicating with the CPU.
Claim 11
Dependent Claim 34 words
A network switch 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.
Claim 12
Dependent Claim 15 words
A network switch as recited in claim 10 , wherein said packet parameters include class-of-service.
Claim 13
Independent Claim 158 words
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; 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 based upon any bit of a selected field in the incoming packet; discarding, forwarding, or modifying the packet based upon the filtering; and if the packet is to be forwarded, applying a control message to the packet in order to control further packet forwarding, wherein the packet data is placed on a first communication channel, and wherein the control message is placed on a second communication channel, said first and second channels being separate but synchronized with each other.
Claim 14
Independent Claim 158 words
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; 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 based upon any bit of a selected field in the incoming packet; discarding, forwarding, or modifying the packet based upon the filtering; and if the packet is to be forwarded, applying a control message to the packet in order to control further packet forwarding, wherein the packet data is placed on a first communication channel, and wherein the control message is placed on a second communication channel, said first and second channels being separate but synchronized with each other.
Claim 15
Dependent Claim 26 words
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.
Claim 16
Dependent Claim 19 words
A method as recited in claim 13 , wherein said IEEE defined tag defines packet parameters, including class-of-service priority.
Claim 17
Independent Claim 200 words
A method of creating a packet handling filter for a network switch, said method comprising: providing a processor for processing and entering filter parameters; providing a rules table to implement a filter mask; identifying protocol fields of interest for selected fields of a selected packet type, said protocol fields of interest comprising any bit in a packet of the selected packet type; determining filter conditions for the selected packet type; providing a series of digital values representing desired filter conditions for the selected packet type, thereby forming the filter mask, said filter mask comprising a bit map for logical comparison with any selected bit of an incoming data packet; determining whether the filter will be an inclusive or exclusive filter, and configuring filtering actions based thereupon; determining whether said filter will be applied to incoming data packets or outgoing data packets; if said filter is for incoming data packets, configuring said filter mask to be an ingress port filter mask, and if said filter is for outgoing packets, configuring said filter mask to be an egress filter mask; constructing rules table entries consistent with parameters of the configured filter mask; and inserting the rules table entries into the rules table.
Claim 18
Independent Claim 200 words
A method of creating a packet handling filter for a network switch, said method comprising: providing a processor for processing and entering filter parameters; providing a rules table to implement a filter mask; identifying protocol fields of interest for selected fields of a selected packet type, said protocol fields of interest comprising any bit in a packet of the selected packet type; determining filter conditions for the selected packet type; providing a series of digital values representing desired filter conditions for the selected packet type, thereby forming the filter mask, said filter mask comprising a bit map for logical comparison with any selected bit of an incoming data packet; determining whether the filter will be an inclusive or exclusive filter, and configuring filtering actions based thereupon; determining whether said filter will be applied to incoming data packets or outgoing data packets; if said filter is for incoming data packets, configuring said filter mask to be an ingress port filter mask, and if said filter is for outgoing packets, configuring said filter mask to be an egress filter mask; constructing rules table entries consistent with parameters of the configured filter mask; and inserting the rules table entries into the rules table.
Claim 19
Dependent Claim 24 words
A method as recited in claim 12 , wherein filtering the incoming packet includes filtering the packet independent of control from a remote processor.
Claim 20
Dependent Claim 31 words
A network switch 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.
Claim 21
Dependent Claim 27 words
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.
Claim 22
Dependent Claim 23 words
A method as recited in claim 15 , wherein said protocol fields of interest comprise a field in a payload of the packet.
Claim 23
Dependent Claim 30 words
A network switch as recited in claim 1 , wherein the FFP is configured to simultaneously perform multiple classifications based upon multiple bits of multiple selected fields in the packet.
Claim 24
Dependent Claim 29 words
A method as recited in claim 12 , wherein said filtering step comprises multiple classifications of the packet based upon multiple bits of multiple selected fields in the packet.
Claim 25
Dependent Claim 21 words
A method as recited in claim 15 , wherein multiple packet handling filters are created for application to a single packet.
Claim 26
Dependent Claim 45 words
A network switch as recited in claim 1 , further comprising an address lookup unit connected to at least one of said first data port interface and said second data port interface, said address unit containing address entries and performing address lookup on said packets.
Claim 27
Dependent Claim 43 words
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.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-12-31 2005-07-02 2006-01-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-12-31 2009-07-02 2010-01-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-12-31 2013-07-02 2014-01-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag