CA2395491A1 - Forward overrides in a packet switch - Google Patents

Forward overrides in a packet switch Download PDF

Info

Publication number
CA2395491A1
CA2395491A1 CA002395491A CA2395491A CA2395491A1 CA 2395491 A1 CA2395491 A1 CA 2395491A1 CA 002395491 A CA002395491 A CA 002395491A CA 2395491 A CA2395491 A CA 2395491A CA 2395491 A1 CA2395491 A1 CA 2395491A1
Authority
CA
Canada
Prior art keywords
data packet
received data
forwarding entry
switch
forwarding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002395491A
Other languages
French (fr)
Other versions
CA2395491C (en
Inventor
David A. Brown
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Incorporated
David A. Brown
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Incorporated, David A. Brown filed Critical Mosaid Technologies Incorporated
Publication of CA2395491A1 publication Critical patent/CA2395491A1/en
Application granted granted Critical
Publication of CA2395491C publication Critical patent/CA2395491C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Abstract

A memory is successively searched using the contents of a header included in a data packet in order to select a forwarding entry for the data packet. The searches use a header field for a different protocol layer. A next field stored in a forwarding entry is used to determine if another search is required. The data packet is forwarded according to the forwarding override stored in the selected forwarding entry selected from the final successive search. The received data packet is forwarded to a host processor, through the switch, to both the host processor and through the switch, or the received data packet is not forwarded, dependent on the selected forward override.

Claims (41)

What is claimed is:
1. A switch comprising:
a memory comprising at least one forwarding entry, the forwarding entry including a forward override; and forward override logic which, for a data packet, successively searches, with respect to successive layers, the memory for forwarding entries matching portions of the received data packet and extracts the forward override from a matching forwarding entry.
2. The switch as claimed in Claim 1 wherein the forwarding entry further comprises a next field and the forward override logic determines whether to perform another search of the memory dependent on the state of the next field in a current forwarding entry.
3. The switch as claimed in Claim 1 wherein the memory is a content addressable memory.
4. The switch as claimed in Claim 1 further comprising:
forward select logic which forwards the received data packet dependent on the extracted forward override corresponding to a final search.
5. The switch as claimed in Claim 1 wherein the forwarding entry further comprises a priority field, the priority field including an assigned priority for the received data packet.
6. The switch as claimed in Claim 1 wherein the forwarding entry further comprises:
a host traffic label field, the host traffic label field including classification data for the received data packet.
7. The switch as claimed in Claim 1 wherein the portions of the received data packets identify protocols.
8. A method for selecting a forward override for a received data packet in a switch comprising the steps of:
providing a memory, the memory comprising at least one forwarding entry, the forwarding entry including a forward override;
successively searching, with respect to successive layers, the memory for forwarding entries matching portions of a received data packet; and extracting the forward override from a matching forwarding entry.
9. The method as claimed in Claim 8 further comprising the step of:
determining whether to perform another search of the memory dependent on the state of a next field in a current forwarding entry.
10. The method as claimed in Claim wherein the memory is content addressable memory.
11. The method as claimed in Claim 10 wherein the content addressable memory comprises registers.
12. The method as claimed in Claim 8 further comprising the step of:
forwarding the received data packet dependent on the extracted forward override corresponding to a final search.
13. The method as claimed in Claim 8 wherein the forwarding entry further comprises a priority field, the priority field including an assigned priority for the received data packet.
14. The method as claimed in Claim 8 wherein the forwarding entry further comprises a host traffic label field, the host traffic label field including classification data for the received data packet.
15. The method as claimed in Claim 8 wherein the portions of the received data packets identify protocols.
16. A switch comprising:
a memory comprising at least one forwarding entry, the forwarding entry including a forward override;
means for successively searching, with respect to successive layers, the memory for forwarding entries matching portions of a received data packet;
and means for extracting the forward override from a matching forwarding entry.
17. The switch as claimed in Claim 16 further comprising:
means for determining whether to perform another search of the memory dependent on the state of a next field included in the forwarding entry.
18. The switch as claimed in Claim 16 wherein the memory is a content addressable memory.
19. The switch as claimed in Claim 16 further comprising:
means for forwarding the received data packet dependent on the extracted forward override corresponding to a final search.
20. The switch as claimed in Claim 16 wherein the forwarding entry further comprises:
a priority field the priority field including an assigned priority for the received data packet.
21. The switch as claimed in Claim 16 wherein the forwarding entry further includes a host traffic label field, the host traffic label field including classification data far the received data packet.
22. The switch as claimed in Claim 16 wherein the portions of the received data packets identify protocols.
23. A switch comprising:
a protocol CAM comprising at least one forwarding entry, the forwarding entry including a forward override; and forward override logic which, for a received data packet, successively searches, with respect to successive layers, the protocol CAM for forwarding entries matching portions of the received data packet and extracts the forward override from a matching forwarding entry.
24. The switch as claimed in Claim 23 wherein the forwarding entry further comprises:
a next field and the forward override logic determines whether to perform another search of the protocol CAM dependent on the state of the next field in a current forwarding entry.
25. The switch as claimed in Claim 23 further comprising:
forward select logic which forwards the received data packet dependent on the extracted forward override corresponding to a final search.
26. The switch as claimed in Claim 23 wherein the forwarding entry further comprises:
a priority field, the priority field including an assigned priority for the received data packet.
27. The switch as claimed in Claim 23 wherein the forwarding entry further comprises:
a host traffic label field, the host traffic label field including classification data for the received data packet.
38. The method for selecting a forward override for a received data packet in a switch comprising the steps of:
providing a protocol CAM, the protocol CAM comprising at least one forwarding entry, the forwarding entry including a forward;
successively searching, with respect to successive layers, the protocol CAM for forwarding entries matching portions of a received data packet; and extracting the forward override from a matching protocol entry.
29. The method as claimed in Claim 28 further comprising the step of:
determining whether to perform another search of the protocol CAM
dependent on the state of a next field in a current forwarding entry.
30. The method as claimed in Claim 28 further comprising the step of:
forwarding the received data packet dependent on the extracted forward override.
31. The method as claimed in Claim 28 wherein the forwarding entry further comprises:
a priority field, the priority field including an assigned priority for the received data packet.
32. The method as claimed in Claim 28 wherein the forwarding entry further comprises:
a host traffic label field, the host traffic label field including classification data for the received data packet.
33. A switch comprising:
a protocol CAM comprising at least one forwarding entry, the forwarding entry including a forward override;
means for successively searching, with respect to successive layers, the protocol CAM for forwarding entries matching portions of a received data packet; and means for extracting the forward override from a matching forwarding entry.
34. The switch as claimed in Claim 33 further comprising:
means for determining whether to perform another search of the protocol CAM dependent on the state of a next field included in a current forwarding entry.
35. The switch as claimed in Claim 33 further comprising:
means for forwarding the received data packet dependent on the extracted forward override resulting from a final search.
36. The switch as claimed in Claim 33 wherein the forwarding entry further comprises:
a priority field the priority field including an assigned priority for the received data packet.
37. The switch as claimed in Claim 33 wherein the forwarding entry further includes:
a host traffic label field, the host traffic label field including classification data for the received data packet.
38. The switch as claimed in Claim 1 wherein the forward override indicates whether a received data packet is to be forwarded to a host.
39. The switch as claimed in Claim 1 wherein the extracted forward override in a previous search is overwritten with the forward override extracted in the current search.
40. The method as claimed in Claim 8 wherein the forward override indicates whether a received data packet is to be forwarded to a host.
41. The method as claimed in Claim 8 wherein the extracted forward override in a previous search is overwritten with the forward override extracted in the current search.
CA002395491A 1999-12-28 2000-12-22 Forward overrides in a packet switch Expired - Fee Related CA2395491C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/473,074 US6661791B1 (en) 1999-12-28 1999-12-28 Method and apparatus for generating forward overrides in a packet switch
US09/473,074 1999-12-28
PCT/CA2000/001515 WO2001048975A2 (en) 1999-12-28 2000-12-22 Forward overrides in a packet switch

Publications (2)

Publication Number Publication Date
CA2395491A1 true CA2395491A1 (en) 2001-07-05
CA2395491C CA2395491C (en) 2009-12-15

Family

ID=23878083

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002395491A Expired - Fee Related CA2395491C (en) 1999-12-28 2000-12-22 Forward overrides in a packet switch

Country Status (7)

Country Link
US (1) US6661791B1 (en)
JP (1) JP4666866B2 (en)
CN (1) CN1184780C (en)
AU (1) AU2137201A (en)
CA (1) CA2395491C (en)
GB (1) GB2373403B (en)
WO (1) WO2001048975A2 (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366186B1 (en) * 2000-06-30 2008-04-29 Intel Corporation Forwarding data in a routing architecture
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7146642B1 (en) * 2001-06-29 2006-12-05 Mcafee, Inc. System, method and computer program product for detecting modifications to risk assessment scanning caused by an intermediate device
JP2003092598A (en) * 2001-09-18 2003-03-28 Nec Corp Packet transferring processor
US7609689B1 (en) * 2001-09-27 2009-10-27 Cisco Technology, Inc. System and method for mapping an index into an IPv6 address
US7236492B2 (en) * 2001-11-21 2007-06-26 Alcatel-Lucent Canada Inc. Configurable packet processor
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US20120155466A1 (en) * 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7324513B2 (en) * 2003-03-18 2008-01-29 Broadcom Corporation IP multicast packet replication process for 4K VLANS
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
CN100372292C (en) * 2003-08-11 2008-02-27 华为技术有限公司 Method for making multicast accurate to terminal in three-layer switchboard
US7240175B1 (en) * 2003-12-08 2007-07-03 Alcatel Scheduling data frames for processing: apparatus, system and method
US8327116B1 (en) * 2003-12-08 2012-12-04 Alcatel Lucent System and method for processing multiple types of data frames
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US8380528B2 (en) * 2004-07-13 2013-02-19 At&T Intellectual Property I, L. P. Controlling service provided by a packet switched network based on bids from consumer equipment
ATE343892T1 (en) * 2004-08-05 2006-11-15 Cit Alcatel METHOD AND DEVICE FOR ACCESS CONTROL
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
US7822033B1 (en) 2005-12-30 2010-10-26 Extreme Networks, Inc. MAC address detection device for virtual routers
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US7978614B2 (en) 2007-01-11 2011-07-12 Foundry Network, LLC Techniques for detecting non-receipt of fault detection protocol packets
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8271859B2 (en) * 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US7715362B1 (en) * 2007-11-23 2010-05-11 Juniper Networks, Inc. Identification fragment handling
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
US9036508B2 (en) * 2012-02-29 2015-05-19 Verizon Patent And Licensing Inc. Layer two extensions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0227348A3 (en) * 1985-12-11 1991-09-25 Advanced Micro Devices, Inc. Content addressable memory circuit and method
JPH05114905A (en) 1991-04-08 1993-05-07 Digital Equip Corp <Dec> Message processing filtering using single address and protocol table bridge
EP0689748B1 (en) 1993-03-20 1998-09-16 International Business Machines Corporation Method and apparatus for extracting connection information from protocol headers
JPH07143155A (en) * 1993-11-17 1995-06-02 Toshiba Corp Inter-lan connector
JP3545858B2 (en) * 1995-12-01 2004-07-21 株式会社東芝 Network connection device and information search device
US5872783A (en) * 1996-07-24 1999-02-16 Cisco Systems, Inc. Arrangement for rendering forwarding decisions for packets transferred among network switches
US5748905A (en) 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
JP3520709B2 (en) * 1997-03-13 2004-04-19 三菱電機株式会社 Network address search method
US6081522A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
US5920566A (en) * 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US6088356A (en) * 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
JPH1198183A (en) * 1997-09-17 1999-04-09 Toshiba Corp Repeater
US6374326B1 (en) * 1999-10-25 2002-04-16 Cisco Technology, Inc. Multiple bank CAM architecture and method for performing concurrent lookup operations

Also Published As

Publication number Publication date
US6661791B1 (en) 2003-12-09
CN1184780C (en) 2005-01-12
GB0213874D0 (en) 2002-07-31
JP4666866B2 (en) 2011-04-06
GB2373403B (en) 2004-02-18
WO2001048975A3 (en) 2001-10-04
CA2395491C (en) 2009-12-15
JP2003518873A (en) 2003-06-10
AU2137201A (en) 2001-07-09
GB2373403A (en) 2002-09-18
CN1415149A (en) 2003-04-30
WO2001048975A2 (en) 2001-07-05

Similar Documents

Publication Publication Date Title
CA2395491A1 (en) Forward overrides in a packet switch
JP4606678B2 (en) Method and apparatus for wire-speed IP multicast forwarding
JP5567641B2 (en) How to provide virtual router functionality
EP1757024B1 (en) Identifying reverse path forwarding information
US7336660B2 (en) Method and apparatus for processing packets based on information extracted from the packets and context indications such as but not limited to input interface characteristics
JP3627697B2 (en) Packet destination search system
US20080198853A1 (en) Apparatus for implementing actions based on packet classification and lookup results
TW526453B (en) Method and system for frame and protocol classification
CA2559251A1 (en) Hardware filtering support for denial-of-service attacks
US6570866B1 (en) High-speed flexible longest match retrieval
US20070047456A1 (en) Sampling of network traffic based on CAM lookup
CN100426791C (en) Engine apparatus for route forwarding table address searching
US8331368B2 (en) Method of processing information packets and telecommunication apparatus using the same
KR100524035B1 (en) Packet distributor for distributing IP fragment packets to protocol processors without IP reassembly
EP1001576A2 (en) Routing address search system
US20010015976A1 (en) Table-type data retrieval mechanism, packet processing system using the same, and table-type data retrieval method for said packet processing system
CN106416150B (en) Route query method and network equipment
US7941605B1 (en) Methods and apparatus for generating a result based on a lookup result from a lookup operation using an associative memory and processing based on a discriminator portion of a lookup word
CN114697160B (en) Tunnel message processing method and device
JP3837670B2 (en) Data relay apparatus, associative memory device, and associative memory device utilization information retrieval method
US7817633B1 (en) Method of providing virtual router functionality through abstracted virtual identifiers
KR100384895B1 (en) Look-up apparatus and its method for processing multi-layer parallel in communication system
CN111147326A (en) Network packet processor and data packet processing method
US20040174872A1 (en) Apparatus and method for performing an address resolution protocol function
CN110971526A (en) Flow table expansion method and device for FDB (fully drawn bus) resources of hybrid switch

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20161222