CA2395491A1 - Forward overrides in a packet switch - Google Patents
Forward overrides in a packet switch Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches 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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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 |
-
1999
- 1999-12-28 US US09/473,074 patent/US6661791B1/en not_active Expired - Fee Related
-
2000
- 2000-12-22 CA CA002395491A patent/CA2395491C/en not_active Expired - Fee Related
- 2000-12-22 WO PCT/CA2000/001515 patent/WO2001048975A2/en active Application Filing
- 2000-12-22 GB GB0213874A patent/GB2373403B/en not_active Expired - Fee Related
- 2000-12-22 JP JP2001548968A patent/JP4666866B2/en not_active Expired - Fee Related
- 2000-12-22 CN CN00818009.1A patent/CN1184780C/en not_active Expired - Fee Related
- 2000-12-22 AU AU21372/01A patent/AU2137201A/en not_active Abandoned
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 |