US20010053150A1 - Packet processor with programmable application logic - Google Patents
Packet processor with programmable application logic Download PDFInfo
- Publication number
- US20010053150A1 US20010053150A1 US09/757,349 US75734901A US2001053150A1 US 20010053150 A1 US20010053150 A1 US 20010053150A1 US 75734901 A US75734901 A US 75734901A US 2001053150 A1 US2001053150 A1 US 2001053150A1
- Authority
- US
- United States
- Prior art keywords
- schema
- packet
- data
- application data
- key
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- 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
-
- 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/44—Distributed routing
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2458—Modification of priorities while in transit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- 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/3027—Output 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5045—Making service definitions prior to deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
-
- 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
- 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/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
Definitions
- controllers reliant on programmable logic for routine packet decision-making have been given more attention in recent years.
- Such multiprocessor controllers sometimes called “network processors”, can typically support a variety of applications and are typically more amenable to field upgrades due to their programmable nature.
- a packet processing element has a plurality of schemata programmed thereon. Classification information for the packet is used to select at least one schema, and the selected schema is used to produce application data for the packet.
- a method of producing application data for a packet uses a packet processing element having a plurality of schemata programmed thereon. At least one schema is selected using classification information for the packet, and the application data for the packet is produced using the selected schema.
- a packet switching controller includes a processing engine.
- the processing engine includes an element for building a key using classification information for a packet and a lookup table containing one or more schemata. The key is used to select one of the schemata for the packet, and the selected schema provides application data for the packet.
- a method of producing application data for a packet is provided.
- a key is built using classification information for the packet.
- a schema is selected for the packet from a lookup table containing one or more schemata.
- the application data is read from the selected schema.
- a data communication switch having a backplane and a plurality of packet switching controllers interconnected over the backplane.
- At least one packet switching controller includes an application engine having a plurality of schemata programmed thereon.
- FIG. 1 illustrates a network environment including a packet switching node in which one embodiment of the present invention is used
- FIG. 2 is a block diagram of a switching interface in one embodiment of the present invention.
- FIG. 3 is a block diagram of a programmable packet switching controller in one embodiment of the present invention.
- FIG. 4 is a block diagram of an application engine of a programmable packet switching controller in one embodiment of the present invention.
- FIG. 5 is a schema table contained in a lookup table of an application engine in one embodiment of the present invention.
- FIG. 6 is a flow diagram illustrating a process of identifying application data in one embodiment of the present invention.
- the packet switching node 10 may also be referred to as a switch, a data communication node or a data communication switch.
- the packet switching node 10 includes switching interfaces 14 , 16 and 18 interconnected to respective groups of LANs 30 , 32 , 34 , and interconnected to one another over data paths 20 , 22 , 24 via switching backplane 12 .
- the switching backplane 12 preferably includes switching fabric.
- the switching interfaces may also be coupled to one another over control paths 26 and 28 .
- the switching interfaces 14 , 16 , 18 preferably forward packets to and from their respective groups of LANs 30 , 32 , 34 in accordance with one or more operative communication protocols, such as, for example, media access control (MAC) bridging and Internet Protocol (IP) routing.
- MAC media access control
- IP Internet Protocol
- the switching node 10 is shown for illustrative purposes only. In practice, packet switching nodes may include more or less than three switching interfaces.
- FIG. 2 is a block diagram of a switching interface 50 in one embodiment of the present invention.
- the switching interface 50 may be similar, for example, to the switching interfaces 14 , 16 , 18 of FIG. 1.
- the switching interface 50 includes an access controller 54 coupled between LANs and a packet switching controller 52 .
- the access controller 54 which may, for example, include a media access controller (MAC), preferably receives inbound packets off LANs, performs flow-independent physical and MAC layer operations on the inbound packets and transmits the inbound packets to the packet switching controller 52 for flow-dependent processing.
- the access controller 54 preferably also receives outbound packets from the packet switching controller 52 and transmits the packets on LANs.
- the access controller 54 may also perform physical and MAC layer operations on the outbound packets prior to transmitting them on LANs.
- the packet switching controller 52 preferably is programmable for handling packets having wide variety of communications protocols.
- the packet switching controller 52 preferably receives inbound packets, classifies the packets, modifies the packets in accordance with flow information and transmits the modified packets on switching backplane, such as the switching backplane 12 of FIG. 1.
- the packet switching controller 52 preferably also receives packets modified by other packet switching controllers via the switching backplane and transmits them to the access controller 54 for forwarding on LANs.
- the packet switching controller 52 may also subject selected ones of the packets to egress processing prior to transmitting them to the access controller 54 for forwarding on LANs.
- FIG. 3 is a block diagram of a programmable packet switching controller 100 in one embodiment of the present invention.
- the programmable packet switching controller 100 may be similar to the packet switching controller 52 of FIG. 2.
- the programmable packet switching controller 100 preferably has flow resolution logic for classifying and routing incoming flows of packets.
- Packet switching controllers in other embodiments may include more or less components.
- a packet switching controller in another embodiment may include a pattern match module for comparing packet portions against a predetermined pattern to look for a match.
- the packet switching controller in yet another embodiment may include an edit module for editing inbound packets to generate outbound packets.
- packet switching controllers in still other embodiments may include other components, such as, for example, a policing engine, in addition to or instead of the components included in the programmable packet switching controller 100 .
- the programmable packet switching controller preferably provides flexibility in handling many different protocols and/or field upgradeability.
- the programmable packet switching controller may also be referred to as a packet switching controller, a switching controller, a programmable packet processor, a network processor, a communications processor or as another designation commonly used by those skilled in the art.
- the programmable packet switching controller 100 includes a packet buffer 102 , a packet classification engine 104 , and an application engine 106 .
- the programmable packet switching controller 100 preferably receives inbound packets 108 .
- the packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units.
- the packet buffer 102 may receive inbound packets from one or more Media Access Control (MAC) Layer interfaces over the Ethernet.
- MAC Media Access Control
- the received packets preferably are stored in the packet buffer 102 .
- the packet buffer 102 may include a packet FIFO for receiving and temporarily storing the packets.
- the packet buffer 102 preferably provides the stored packets or portions thereof to the packet classification engine 104 and the application engine 106 for processing.
- the packet buffer 102 may also include an edit module for editing the packets prior to forwarding them out of the switching controller as outbound packets 118 .
- the edit module may include an edit program construction engine for creating edit programs real-time and/or an edit engine for modifying the packets.
- the application engine 106 preferably provides application data 116 , which may include a disposition decision for the packet, to the packet buffer 102 , and the edit program construction engine preferably uses the application data to create the edit programs.
- the outbound packets 118 may be transmitted over a switching fabric interface to communication networks, such as, for example, the Ethernet.
- the packet buffer 102 may also include either or both a header data extractor and a header data cache.
- the header data extractor preferably is used to extract one or more fields from the packets, and to store the extracted fields in the header data cache as extracted header data.
- the extracted header data may include, but are not limited to, some or all of the packet header. In an Ethernet system, for example, the header data cache may also store first N bytes of each frame.
- the extracted header data preferably is provided in an output signal 110 to the packet classification engine 104 for processing.
- the application engine may also request and receive the extracted header data over an interface 114 .
- the extracted header data may include, but are not limited to, one or more of Layer 2 MAC addresses, 802 . 1 P/Q tag status, Layer 2 encapsulation type, Layer 3 protocol type, Layer 3 addresses, ToS (type of service) values and Layer 4 port numbers.
- the output signal 110 may include the whole inbound packet, instead of or in addition to the extracted header data.
- the packet classification engine 104 may be used to edit the extracted header data to be placed in a format suitable for use by the application engine, and/or to load data into the header data cache.
- the packet classification engine 104 preferably includes a programmable microcode-driven embedded processing engine.
- the packet classification engine 104 preferably is coupled to an instruction RAM (IRAM) (not shown).
- IRAM instruction RAM
- the packet classification engine preferably reads and executes instructions stored in the IRAM. In one embodiment, many of the instructions executed by the packet classification engine are conditional jumps.
- the classification logic includes a decision tree with leaves at the end points that preferably indicate different types of packet classifications. Further, branches of the decision tree preferably are selected based on comparisons between the conditions of the instructions and the header fields stored in the header data cache. In other embodiments, the classification logic may not be based on a decision tree.
- the application engine 106 preferably has a pipelined architecture wherein multiple programmable sub-engines are pipelined in series. Each programmable sub-engine preferably performs an action on the packet, and preferably forwards the packet to the next programmable sub-engine in a “bucket brigade” fashion.
- the packet classification engine preferably starts the pipelined packet processing by starting the first programmable sub-engine in the application engine using a start signal 112 .
- the start signal 112 may include identification of one or more programs to be executed in the application engine 106 .
- the start signal 112 may also include packet classification information.
- the programmable sub-engines in the application engine preferably have direct access to the header data and the extracted fields stored in the header data cache over the interface 114 .
- the application engine may include other processing stages not performed by the programmable sub-engines, however, the decision-making stages preferably are performed by the programmable sub-engines to increase flexibility.
- the application engine may include other processing architectures.
- the application engine may use a tuple-based lookup scheme to identify application data, such as, for example, the scheme used in U.S. patent application Ser. No. 09/679,138 entitled “Tuple-Based Lookup Scheme for Packet Switching Node.”
- FIG. 4 is a block diagram of an application engine 150 in a programmable packet switching controller in one embodiment of the present invention.
- the application engine 150 may be similar to the application engine 106 of FIG. 3.
- the application engine 150 includes a key builder 152 and a lookup table 154 .
- the key builder 152 preferably receives packet classification information 156 from a packet classification engine, such as, for example, the packet classification engine 104 of FIG. 3.
- the key builder 152 preferably also receives extracted header data 158 from a packet buffer, such as, for example, the packet buffer 102 of FIG. 3. More particularly, the key builder preferably retrieves extracted header data stored in a header data cache included in the packet buffer.
- the key builder 152 preferably contains one or more schema programs.
- the schema programs preferably are loaded into the key builder 152 using an input signal 160 .
- the schema programs preferably are used to identify key data and key control data for inbound packets.
- the key builder 152 preferably uses the classification information, the extracted header data and the schema programs to build one or more search keys to compare against entry keys associated with application data contained in the lookup table 154 .
- the association information between the application data and the entry keys preferably are contained in the lookup table 154 in the form of one or more schema tables.
- a key control may also be used during the selection of the application data.
- the key control such as, for example, IP subnet mask, preferably affects how the search keys from the key builder are compared to the entry keys in the schema tables.
- the key controls when used, preferably are provided together with the search keys 162 .
- FIG. 5 is a schema table 200 in the lookup table 154 in one embodiment of the present invention.
- the schema table 200 which may also be referred to as a search table, preferably includes various different types of schemata.
- the column 202 illustrates various different schema types. It is to be noted that the column 202 is shown for illustrative purposes only, and may not be a part of an actual schema table.
- the schema table 200 illustrates seven schema types, each type being represented by a row in the table. Thus, Types I through VII correspond, respectively, with the rows 210 , 212 , 214 , 216 , 218 , 220 and 222 .
- entry keys, key controls and application data correspond, respectively, with the columns 204 , 206 and 208 .
- the schema tables may contain entry keys, key controls and application data associated with more or less than seven schema types.
- the schema Type I 210 preferably is a type in which source information is used for searching.
- the entry key in Type I includes Virtual Local Area Network (VLAN) ID, application ID (APP ID), and an invalid bit (I).
- VLAN ID is the source VLAN for the packet, e.g., frame, being considered, and preferably allows for identification of the customer.
- the APP ID preferably allows for awareness of the application being run per customer.
- the APP ID may be identified in a packet buffer, such as, for example, the packet buffer 102 of FIG. 3.
- the APP ID is a 7-bit index, which has been mapped from 1024 TDP/UDP ports.
- the APP ID may identify Hyper Text Transfer Protocol (HTTP) application.
- the APP ID may have more or less than seven bits, and/or may be identified in a different manner.
- the invalid bit when set, preferably indicates entries that are in the process of being deleted from the schema table.
- the key control A of the schema Type I preferably is a control bit that preferably enables masking out of the APP ID field from the entry key.
- the key control A preferably is not supplied by the key builder as a part of the search key.
- the key control A preferably is used during the search process when comparing the search key to the entry key. If the key control A is the same as the VLAN default data, the masking of the APP ID field may not be used.
- the setting of the key control A preferably results in the search process ignoring the APP ID field for the entry being looked up. This way, the key control A preferably allows VLAN with unknown applications to be expressed.
- VLAN 6 is the source of packets
- packets from VLAN 6 need treatment X.
- the schema table preferably is implemented in such a way that the best matching entry (i.e., the entry in the table with most fields matching) is selected.
- the entry indicating Y treatment preferably is selected over the entry indicating X treatment.
- the Type I application data preferably includes POLICE ID field, Color enable (COL) field, remark enable control (RE) bit, QoS Code Point (CP) field, QoS enable (Q) bit, color control (CO) bit, PAYLOAD ID field, Payload Control (PO) bit, Application police enable (AP) bit and Accounting Format identifier (ACCT FMT) field.
- the PAYLOAD ID preferably overrides the destination search payload when the PO bit is set.
- the PAYLOAD ID preferably allows traffic, e.g., flows or packets, from a particular source or from a particular source and application to be directed to the destination indicated by the PAYLOAD ID rather than as indicated by the destination address (DA).
- a police ID preferably is derived from the APP ID.
- a Customer ID CUST ID
- the derivation of the police ID using the APP ID and the CUST ID preferably allows bandwidth policing on a per-customer, per-application basis.
- the ACCT FMT preferably indicates a particular type of accounting to be used for a particular customer.
- the ACCT FMT may be used together with the APP ID and/or the CUST ID to determine a type of accounting to be used.
- the POLICE ID preferably allows policing and/or accounting of a particular entry separate from that provided by policing based on the APP ID and CUST ID fields as indicated by the AP and ACCT FMT fields.
- the COL field preferably enables override of the QoS color (discard eligibility) value as determined by the flow resolution logic.
- the CO bit preferably enables the use of the COL field.
- the COL field preferably enables the discard eligibility for customer and/or application to be specified.
- the QoS CP field preferably enables the override of the QoS Code Point as determined by the flow resolution logic. This feature preferably is enabled when the Q bit is set.
- the QoS CP field together with the COL field, preferably allows customer application to have a specific DiffServ codepoint. For non-QoS traffic, this feature may allow customer application traffic to be assigned to a particular queue.
- the RE bit preferably is used in DiffServ applications to indicate that the DiffServ codepoint should be remarked in the packet.
- the RE bit may be used with other QoS fields to apply a specific classification to a packet, e.g., a frame.
- the schema Type II 212 preferably is a type in which source information is used for searching.
- the entry key in Type II includes Virtual Local Area Network (VLAN) ID, application ID (APP ID), Internet Protocol Source Address (IPSA) and an invalid bit (I).
- VLAN Virtual Local Area Network
- APP ID application ID
- IPSA Internet Protocol Source Address
- I invalid bit
- the entry key in type II preferably is used to express customers identified by IPSA. Therefore, in schema Type II, customers preferably are identified by IPSA.
- the VLAN ID is the source VLAN for the packet, e.g., frame, being considered.
- the APP ID preferably allows for awareness of the application being run per customer.
- the invalid bit (I) preferably indicates entries in the schema table that are in the process of being deleted.
- the schema Type II preferably includes IPSA Mask [6] for key control.
- the IPSA Mask may have more or less than six bits.
- the IPSA Mask may include a subnet mask used to express Classless Inter-Domain Routing (CIDR) networks.
- the Type II application data preferably includes check verify (CV) bit, forward action (FA) field, VLAN ID CHK field, POLICE ID field, Color enable (COL) field, remark enable control (RE) bit, QoS Code Point (CP) field, QoS enable (Q) bit, color control (CO) bit, PAYLOAD ID field, Payload Control (PO) bit, Application police enable (AP) bit, Accounting Format identifier (ACCT FMT) field, customer identification (CUST ID) field, Sniff (S 1 ) bit, management resource (MR) bit, filter control (F) bit and search-hit (HS) bit.
- CV check verify
- FA forward action
- VLAN ID CHK VLAN ID CHK field
- POLICE ID field Color enable (COL) field
- RE remark enable control
- CP QoS Code Point
- Q QoS enable
- CO color control
- PAYLOAD ID field Payload Control
- PO Payload Control
- AP Application police enable
- Accounting Format identifier identifier
- the POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit and ACCT FMT field preferably are similar to the corresponding fields and bits in the Type I application data.
- the packet may be dropped or it may be forwarded with learn event generated, based on a per-port control.
- the source address of the packet preferably is added to an address table associated with the application engine.
- the VLAN ID field preferably is set to zero for the search, and when found, the resultant VLAN ID CHK field preferably is compared with the VLAN ID of the source. If there is a mismatch in the comparison, the action indicated by the FA field preferably is performed.
- the FA actions may include, but is not limited to, one or more of drop, forward and send to management resource (EMM).
- the CUST ID field preferably is used with the APP ID in the key to derive a police ID, which may be used for bandwidth policing on a per-customer, per-application basis.
- the S1 bit when set, preferably allows sniffing of traffic from a certain customer or from a customer/application pair.
- the MR bit preferably indicates that the traffic, e.g., packets or flows, of this type should be sent to EMM.
- the F bit preferably indicates that the traffic of this type should be discarded.
- the HS bit, the search hit-bit for the entry preferably is set by the search engine.
- the HS bit preferably is used to indicate that the entry has been found during a search operation so that, for example, when selecting entries to age-out (e.g., to reclaim table space), used entries preferably are kept and unused entries preferably are deleted.
- the schema Type III 214 preferably is a type in which both source information and destination information may be used for searching.
- the entry key in Type III includes VLAN ID, MAC Address (MAC), APP IP and an invalid bit (I).
- customers preferably are identified by MAC source address.
- the source search preferably provides source MAC learning and customer identification.
- the destination search preferably provides Layer 2 Bridging.
- the schema Type III includes the key control A for preferably enabling masking out of the APP ID field in the key.
- a control bit preferably allows masking out of the APP ID for unknown applications.
- the schema Type III preferably identifies customers based on their VLAN ID, MAC Address and APP ID.
- the VLAN ID preferably represents the source VLAN for the packet, e.g., frame
- MAC preferably represents the source MAC Address
- APP ID preferably represents the application ID.
- the APP ID preferably is set to zero.
- the PAYLOAD ID of the result preferably indicates the forwarding vector to use.
- the Type III application data preferably includes Virtual Source Port Number (V S PORT) field, POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit, ST bit and HD bit.
- V S PORT Virtual Source Port Number
- POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit and HS bit preferably are similar to the corresponding fields and bits in the Type I and Type II application data.
- the VS PORT field preferably represents a virtual source port on the flow resolution logic in one embodiment of the present invention. On a successful source lookup, the VS PORT field preferably is compared against the ingress port's virtual source port number, which is used for learning.
- the schema Type IV 216 preferably is a type in which customers preferably are identified from multi protocol label switching (MPLS).
- the PAYLOAD ID in the application data preferably is used for label switching.
- the entry key in Type IV includes VLAN ID, LABEL and an invalid bit (I).
- the VLAN ID preferably represents source VLAN for the packet, e.g., frame.
- the LABEL field preferably includes the first MPLS label.
- the invalid bit (I) preferably is used to indicate entries of the schema table in the process of being removed.
- key control field is not used with the schema Type IV. In other embodiments, one or more key control fields may be used.
- the Type IV application data preferably includes Valid Label (VL) field, L3 Protocol (L3 PROTO) field, POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit, and HD bit.
- VL Valid Label
- L3 Protocol L3 PROTO
- the POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit and HD bit preferably are similar to the corresponding fields and bits in the Type I, Type II and Type III application data.
- the VL field may be used to indicate that the label is dead and should be popped. In this case, the next search preferably is done on the following label and/or the packet may be sent to the EMM.
- the L3 PROTO field preferably indicates to the egress edge Label Switching Router (LSR) on what protocol is present on top of the MPLS stack. This information may be used to route the packet, e.g., frame, after the last label popping.
- the egress edge LSER preferably is the termination LSR of a tunnel. MPLS packets preferably flow through a tunnel until they get to an egress edge LSR.
- the egress edge LSR preferably removes the final label and handles the resulting packet according to the underlying packet type (e.g., normal IP packet).
- the schema Type V 218 preferably is a type in which customers preferably are identified using both source information and destination information. More particularly, customers preferably are identified by full Border Gateway Protocol (BGP) reverse path lookup.
- BGP Border Gateway Protocol
- the entry key in schema Type V preferably includes Internet Protocol Destination Address (IPDA), Internet Protocol Source Address (IPSA), Destination Port (D PORT), Source Port (S PORT), TCP flag (T) bit and invalid (I) bit.
- IPDA Internet Protocol Destination Address
- IPSA Internet Protocol Source Address
- D PORT Destination Port
- S PORT Source Port
- TCP flag (T) bit TCP flag
- I invalid bit.
- IPDA preferably is used as a Source IP Address field and the other key fields in the search key preferably are set to zero.
- IPDA preferably is used as the IP Destination Address and the IPSA preferably is used as the IP Source Address.
- the D PORT preferably is used as the Transfer Control Protocol (TCP)/User Datagram Protocol (UDP) destination port number and the S PORT preferably is used as the TCP/UDP source port number.
- TCP Transfer Control Protocol
- UDP User Datagram Protocol
- the T bit preferably is set when the TCP protocol is being used on top of IP, and preferably is cleared otherwise.
- the I bit preferably is used to indicate invalid condition as in other schema types.
- the schema Type V includes IPDA MASK field and FL bit.
- searches preferably are controlled by the IPDA MASK used to set the IPDA subnet size and FL bit, which may be used, when set, to mask out the entire IPSA+D PORT+S PORT+T flow spec portion of the entry.
- the Type V application data preferably includes PATH COUNT field, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit, and HD bit.
- the PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit and HD bit preferably are similar to the corresponding fields and bits in application data for other schema types.
- the PATH COUNT field preferably represents the number of paths available for the route.
- the resultant PAYLOAD ID preferably acts as a base payload to which the IPSA/IPDA hash may be added modulo PATH COUNT.
- the schema Type VI 220 preferably is a type in which destination search is used to provide IP multicast routing.
- the entry key in schema Type VI preferably includes IP Multicast Destination Address (IPMA), VLAN ID, IPSA and inhibit bit (I).
- IPMA IP Multicast Destination Address
- VLAN ID preferably represents source VLAN for the packet, e.g., frame.
- the schema Type VI preferably has MASK in the key control field.
- the MASK field preferably allows specification of the IPSA subnet and may also mask out the VLAN ID field.
- the Type VI application data preferably includes PAYLOAD field and HD bit, which are similar to corresponding field and bit in other schema types described above.
- the schema Type VII 222 preferably is a type in which destination search is used to provide full length Internet Protocol Version 6 (Ipv6) routing.
- the entry key in schema Type VII preferably includes IPv6 Destination Address (Ipv6 DA), which is a destination address for IPv6 routing.
- the schema Type VII preferably has IPDA MASK in the key control field.
- the IPDA MASK preferably is a full width mask. Thus, for example, the IPDA MASK (7-bit mask) may be able to mask for full Ipv6 CIDR support.
- the Type VII application data preferably includes PAYLOAD field and HD bit, which may be similar to corresponding field and bit in other schema types described above. Up to 128 different next-hops may be established from the 7-bit payload ID.
- FIG. 4 is a flow diagram of identifying and providing application data for a packet in one embodiment of the present invention.
- schema programs are loaded into an application engine, such as, for example, the application engine 150 of FIG. 2.
- the application engine preferably receives classification information and header data, respectively, of the packet.
- the schema programs preferably uses the classification information and the header data of the packet to generate one or more keys and key control signals in step 256 .
- the schema programs preferably selects the schema to be applied to the packet based on the classification information and/or the header data of the packet.
- the keys generated by the schema programs may also be referred to as search keys, since these keys preferably are used to look up or search application data for the packet in a schema table in step 258 .
- the schema table preferably is included in a lookup table, such as, for example, the lookup table 154 of FIG. 2.
- the schema table preferably includes application data for one or more different schema types, as illustrated, for example, as TYPE I through TYPE VII in the schema table 200 of FIG. 3.
- the application engine preferably provides the identified application data.
- the application data preferably is provided to an edit module, which may reside within a packet buffer, such as, for example, the packet buffer 102 of FIG. 1.
- the edit module preferably edits the packet using the application data prior to transmitting the packet as an outbound packet.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
A data communication switch includes a backplane and multiple packet switching controllers. At least one packet switching controller includes programmable application logic for generating application data for a packet. The application logic is contained in key builder and lookup table of an application engine. The key builder contains one or more schema programs for generating keys and key controls using classification information and header data of inbound packets. The schema programs can be loaded onto the key builder during fabrication of the packet switching controller or in field. The keys and key controls are used to lookup the application data from the lookup table.
Description
- The present application claims the priority of U.S. Provisional application Ser. No. 60/206,617 entitled “System and Method for Enhanced Line Cards” filed May 24, 2000, U.S. Provisional application Ser. No. 60/206,996 entitled “Flow Resolution Logic System and Method” filed May 24, 2000 and U.S. Provisional application Ser. No. 60/220,335 entitled “Programmable Packet Processor” filed Jul. 24, 2000, the contents of all of which are fully incorporated by reference herein. The present application contains subject matter related to the subject matter disclosed in U.S. patent application Ser. No. 09/679,138 entitled “Tuple-Based Lookup Scheme for Packet Switching Node” filed Oct. 3, 2000 and U.S. Patent Application entitled “Programmable Packet Processor with Flow Resolution Logic” filed Dec. 28, 2000, the contents of both of which are fully incorporated by reference herein.
- Many conventional packet switching controllers rely on fixed, i.e. non-programmable, logic to make the lion's share of packet decisions. Programmable logic has been relied on, if at all, to make decisions for “exceptional” packets. Such “hardwired” controllers, which make fixed logic the bulwark of decision-making and relegate programmable logic to at most a collateral role, have generally supported relatively high forwarding speeds but also a severely limited feature set. Feature limitations have been imposed by the general requirement of including discrete fixed logic for each application the controller is expected to support. This general requirement of application-specific fixed logic has limited the number of applications the controller can support and has made it difficult to “field upgrade” the controller to add application support. Instead, new application support has typically required a hardware upgrade.
- Due to the relative inflexibility of hardwired switching controllers, controllers reliant on programmable logic for routine packet decision-making (particularly controllers having multiple programmable processors) have been given more attention in recent years. Such multiprocessor controllers, sometimes called “network processors”, can typically support a variety of applications and are typically more amenable to field upgrades due to their programmable nature.
- The simultaneous multi-application support provided by network processors makes it desirable for application logic to effectuate distinct applications in response to different packet conditions. Therefore, it is desirable to provide an efficient application logic for a network processor that can provide different application data to different packet conditions or types.
- In one embodiment of the present invention, a packet processing element is provided. The packet processing element has a plurality of schemata programmed thereon. Classification information for the packet is used to select at least one schema, and the selected schema is used to produce application data for the packet.
- In another embodiment of the present invention, a method of producing application data for a packet is provided. The method uses a packet processing element having a plurality of schemata programmed thereon. At least one schema is selected using classification information for the packet, and the application data for the packet is produced using the selected schema.
- In yet another embodiment of the present invention, a packet switching controller is provided. The packet switching controller includes a processing engine. The processing engine includes an element for building a key using classification information for a packet and a lookup table containing one or more schemata. The key is used to select one of the schemata for the packet, and the selected schema provides application data for the packet.
- In still another embodiment of the present invention, a method of producing application data for a packet is provided. A key is built using classification information for the packet. Then a schema is selected for the packet from a lookup table containing one or more schemata. The application data is read from the selected schema.
- In a further embodiment of the present invention, a data communication switch having a backplane and a plurality of packet switching controllers interconnected over the backplane is provided. At least one packet switching controller includes an application engine having a plurality of schemata programmed thereon.
- These and other aspects of the invention may be understood by reference to the following detailed description, taken in conjunction with the accompanying drawings, which are briefly described below.
- FIG. 1 illustrates a network environment including a packet switching node in which one embodiment of the present invention is used;
- FIG. 2 is a block diagram of a switching interface in one embodiment of the present invention;
- FIG. 3 is a block diagram of a programmable packet switching controller in one embodiment of the present invention;
- FIG. 4 is a block diagram of an application engine of a programmable packet switching controller in one embodiment of the present invention;
- FIG. 5 is a schema table contained in a lookup table of an application engine in one embodiment of the present invention; and
- FIG. 6 is a flow diagram illustrating a process of identifying application data in one embodiment of the present invention.
- I. Overview
- In FIG. 1, network environment including a
packet switching node 10 is illustrated. The packet switching node may also be referred to as a switch, a data communication node or a data communication switch. Thepacket switching node 10 includesswitching interfaces LANs data paths switching backplane 12. The switchingbackplane 12 preferably includes switching fabric. The switching interfaces may also be coupled to one another overcontrol paths - The
switching interfaces LANs switching node 10 is shown for illustrative purposes only. In practice, packet switching nodes may include more or less than three switching interfaces. - FIG. 2 is a block diagram of a
switching interface 50 in one embodiment of the present invention. Theswitching interface 50 may be similar, for example, to theswitching interfaces switching interface 50 includes anaccess controller 54 coupled between LANs and apacket switching controller 52. Theaccess controller 54, which may, for example, include a media access controller (MAC), preferably receives inbound packets off LANs, performs flow-independent physical and MAC layer operations on the inbound packets and transmits the inbound packets to thepacket switching controller 52 for flow-dependent processing. Theaccess controller 54 preferably also receives outbound packets from thepacket switching controller 52 and transmits the packets on LANs. Theaccess controller 54 may also perform physical and MAC layer operations on the outbound packets prior to transmitting them on LANs. - The
packet switching controller 52 preferably is programmable for handling packets having wide variety of communications protocols. Thepacket switching controller 52 preferably receives inbound packets, classifies the packets, modifies the packets in accordance with flow information and transmits the modified packets on switching backplane, such as the switchingbackplane 12 of FIG. 1. Thepacket switching controller 52 preferably also receives packets modified by other packet switching controllers via the switching backplane and transmits them to theaccess controller 54 for forwarding on LANs. Thepacket switching controller 52 may also subject selected ones of the packets to egress processing prior to transmitting them to theaccess controller 54 for forwarding on LANs. - FIG. 3 is a block diagram of a programmable
packet switching controller 100 in one embodiment of the present invention. The programmablepacket switching controller 100, for example, may be similar to thepacket switching controller 52 of FIG. 2. The programmablepacket switching controller 100 preferably has flow resolution logic for classifying and routing incoming flows of packets. Packet switching controllers in other embodiments may include more or less components. For example, a packet switching controller in another embodiment may include a pattern match module for comparing packet portions against a predetermined pattern to look for a match. The packet switching controller in yet another embodiment may include an edit module for editing inbound packets to generate outbound packets. Further, packet switching controllers in still other embodiments may include other components, such as, for example, a policing engine, in addition to or instead of the components included in the programmablepacket switching controller 100. - Due to its programmable nature, the programmable packet switching controller preferably provides flexibility in handling many different protocols and/or field upgradeability. The programmable packet switching controller may also be referred to as a packet switching controller, a switching controller, a programmable packet processor, a network processor, a communications processor or as another designation commonly used by those skilled in the art.
- The programmable
packet switching controller 100 includes apacket buffer 102, apacket classification engine 104, and anapplication engine 106. The programmablepacket switching controller 100 preferably receivesinbound packets 108. The packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. For example, thepacket buffer 102 may receive inbound packets from one or more Media Access Control (MAC) Layer interfaces over the Ethernet. - The received packets preferably are stored in the
packet buffer 102. Thepacket buffer 102 may include a packet FIFO for receiving and temporarily storing the packets. Thepacket buffer 102 preferably provides the stored packets or portions thereof to thepacket classification engine 104 and theapplication engine 106 for processing. - The
packet buffer 102 may also include an edit module for editing the packets prior to forwarding them out of the switching controller asoutbound packets 118. The edit module may include an edit program construction engine for creating edit programs real-time and/or an edit engine for modifying the packets. Theapplication engine 106 preferably providesapplication data 116, which may include a disposition decision for the packet, to thepacket buffer 102, and the edit program construction engine preferably uses the application data to create the edit programs. Theoutbound packets 118 may be transmitted over a switching fabric interface to communication networks, such as, for example, the Ethernet. - The
packet buffer 102 may also include either or both a header data extractor and a header data cache. The header data extractor preferably is used to extract one or more fields from the packets, and to store the extracted fields in the header data cache as extracted header data. The extracted header data may include, but are not limited to, some or all of the packet header. In an Ethernet system, for example, the header data cache may also store first N bytes of each frame. - The extracted header data preferably is provided in an
output signal 110 to thepacket classification engine 104 for processing. The application engine may also request and receive the extracted header data over aninterface 114. The extracted header data may include, but are not limited to, one or more ofLayer 2 MAC addresses, 802.1P/Q tag status,Layer 2 encapsulation type, Layer 3 protocol type, Layer 3 addresses, ToS (type of service) values and Layer 4 port numbers. In other embodiments, theoutput signal 110 may include the whole inbound packet, instead of or in addition to the extracted header data. In still other embodiments, thepacket classification engine 104 may be used to edit the extracted header data to be placed in a format suitable for use by the application engine, and/or to load data into the header data cache. - The
packet classification engine 104 preferably includes a programmable microcode-driven embedded processing engine. Thepacket classification engine 104 preferably is coupled to an instruction RAM (IRAM) (not shown). The packet classification engine preferably reads and executes instructions stored in the IRAM. In one embodiment, many of the instructions executed by the packet classification engine are conditional jumps. In this embodiment, the classification logic includes a decision tree with leaves at the end points that preferably indicate different types of packet classifications. Further, branches of the decision tree preferably are selected based on comparisons between the conditions of the instructions and the header fields stored in the header data cache. In other embodiments, the classification logic may not be based on a decision tree. - In one embodiment of the present invention, the
application engine 106 preferably has a pipelined architecture wherein multiple programmable sub-engines are pipelined in series. Each programmable sub-engine preferably performs an action on the packet, and preferably forwards the packet to the next programmable sub-engine in a “bucket brigade” fashion. The packet classification engine preferably starts the pipelined packet processing by starting the first programmable sub-engine in the application engine using astart signal 112. Thestart signal 112 may include identification of one or more programs to be executed in theapplication engine 106. Thestart signal 112 may also include packet classification information. The programmable sub-engines in the application engine preferably have direct access to the header data and the extracted fields stored in the header data cache over theinterface 114. - The application engine may include other processing stages not performed by the programmable sub-engines, however, the decision-making stages preferably are performed by the programmable sub-engines to increase flexibility. In other embodiments, the application engine may include other processing architectures. In still other embodiments, the application engine may use a tuple-based lookup scheme to identify application data, such as, for example, the scheme used in U.S. patent application Ser. No. 09/679,138 entitled “Tuple-Based Lookup Scheme for Packet Switching Node.”
- II. Programmable Application Logic
- FIG. 4 is a block diagram of an
application engine 150 in a programmable packet switching controller in one embodiment of the present invention. Theapplication engine 150, for example, may be similar to theapplication engine 106 of FIG. 3. Theapplication engine 150 includes akey builder 152 and a lookup table 154. - The
key builder 152 preferably receivespacket classification information 156 from a packet classification engine, such as, for example, thepacket classification engine 104 of FIG. 3. Thekey builder 152 preferably also receives extractedheader data 158 from a packet buffer, such as, for example, thepacket buffer 102 of FIG. 3. More particularly, the key builder preferably retrieves extracted header data stored in a header data cache included in the packet buffer. - The
key builder 152 preferably contains one or more schema programs. The schema programs preferably are loaded into thekey builder 152 using aninput signal 160. The schema programs preferably are used to identify key data and key control data for inbound packets. Thekey builder 152 preferably uses the classification information, the extracted header data and the schema programs to build one or more search keys to compare against entry keys associated with application data contained in the lookup table 154. - The association information between the application data and the entry keys preferably are contained in the lookup table154 in the form of one or more schema tables. A key control may also be used during the selection of the application data. The key control, such as, for example, IP subnet mask, preferably affects how the search keys from the key builder are compared to the entry keys in the schema tables. The key controls, when used, preferably are provided together with the
search keys 162. - FIG. 5 is a schema table200 in the lookup table 154 in one embodiment of the present invention. The schema table 200, which may also be referred to as a search table, preferably includes various different types of schemata. The
column 202 illustrates various different schema types. It is to be noted that thecolumn 202 is shown for illustrative purposes only, and may not be a part of an actual schema table. The schema table 200 illustrates seven schema types, each type being represented by a row in the table. Thus, Types I through VII correspond, respectively, with therows columns - The schema Type I210 preferably is a type in which source information is used for searching. The entry key in Type I includes Virtual Local Area Network (VLAN) ID, application ID (APP ID), and an invalid bit (I). The VLAN ID is the source VLAN for the packet, e.g., frame, being considered, and preferably allows for identification of the customer. The APP ID preferably allows for awareness of the application being run per customer. In practice, the APP ID may be identified in a packet buffer, such as, for example, the
packet buffer 102 of FIG. 3. In one embodiment of the present invention, the APP ID is a 7-bit index, which has been mapped from 1024 TDP/UDP ports. For example, the APP ID may identify Hyper Text Transfer Protocol (HTTP) application. In other embodiments, the APP ID may have more or less than seven bits, and/or may be identified in a different manner. The invalid bit, when set, preferably indicates entries that are in the process of being deleted from the schema table. - The key control A of the schema Type I preferably is a control bit that preferably enables masking out of the APP ID field from the entry key. The key control A preferably is not supplied by the key builder as a part of the search key. The key control A preferably is used during the search process when comparing the search key to the entry key. If the key control A is the same as the VLAN default data, the masking of the APP ID field may not be used. The setting of the key control A preferably results in the search process ignoring the APP ID field for the entry being looked up. This way, the key control A preferably allows VLAN with unknown applications to be expressed.
- For example, suppose
VLAN 6 is the source of packets, and packets fromVLAN 6 need treatment X. This would be expressed in the schema table as an entry, {Key=(VLAN=6, APP ID=0), Control=(A=1), Data=X}. The setting of the control bit A (i.e., A=1) in this case indicates that the APP ID is to be ignored. Therefore, in this situation, any search key presented to the search process with VLAN=6 and any APP ID preferably matches this entry. - For another example, suppose HTTP packets from
VLAN 6 require different treatment, treatment Y. This would then be expressed in the schema table as an entry, {Key=(VLAN=6, APP ID=HTTP), Control=(A=0), Data=Y}. Since A is not set (i.e., A=0) in this case, the APP ID is valid for this entry. Therefore, in this situation, only HTTP packets preferably are matched by this entry. - In one embodiment of the present invention, the schema table preferably is implemented in such a way that the best matching entry (i.e., the entry in the table with most fields matching) is selected. For example, in case of the above two examples, when a search key having VLAN=6 and APP ID=HTTP is provided, the entry indicating Y treatment preferably is selected over the entry indicating X treatment.
- The Type I application data preferably includes POLICE ID field, Color enable (COL) field, remark enable control (RE) bit, QoS Code Point (CP) field, QoS enable (Q) bit, color control (CO) bit, PAYLOAD ID field, Payload Control (PO) bit, Application Police enable (AP) bit and Accounting Format identifier (ACCT FMT) field. Number of bits in the application data fields of all schema types (Types I through VII) in one embodiment of the present invention, for example, Police ID [17] and QoS CP [6], are indicated in the schema table200. It should be noted that the number of bits used to represent the application data fields may be different in other embodiments.
- The PAYLOAD ID preferably overrides the destination search payload when the PO bit is set. Thus, the PAYLOAD ID preferably allows traffic, e.g., flows or packets, from a particular source or from a particular source and application to be directed to the destination indicated by the PAYLOAD ID rather than as indicated by the destination address (DA).
- When the AP bit is set, a police ID preferably is derived from the APP ID. When available, a Customer ID (CUST ID) may also be used during the derivation of the police ID. The derivation of the police ID using the APP ID and the CUST ID preferably allows bandwidth policing on a per-customer, per-application basis. The ACCT FMT preferably indicates a particular type of accounting to be used for a particular customer. The ACCT FMT, for example, may be used together with the APP ID and/or the CUST ID to determine a type of accounting to be used. The POLICE ID preferably allows policing and/or accounting of a particular entry separate from that provided by policing based on the APP ID and CUST ID fields as indicated by the AP and ACCT FMT fields.
- The COL field preferably enables override of the QoS color (discard eligibility) value as determined by the flow resolution logic. The CO bit preferably enables the use of the COL field. When enabled, the COL field preferably enables the discard eligibility for customer and/or application to be specified.
- The QoS CP field preferably enables the override of the QoS Code Point as determined by the flow resolution logic. This feature preferably is enabled when the Q bit is set. For Differentiated Services (DiffServ) applications, the QoS CP field, together with the COL field, preferably allows customer application to have a specific DiffServ codepoint. For non-QoS traffic, this feature may allow customer application traffic to be assigned to a particular queue. The RE bit preferably is used in DiffServ applications to indicate that the DiffServ codepoint should be remarked in the packet. The RE bit may be used with other QoS fields to apply a specific classification to a packet, e.g., a frame.
- The schema Type II212 preferably is a type in which source information is used for searching. The entry key in Type II includes Virtual Local Area Network (VLAN) ID, application ID (APP ID), Internet Protocol Source Address (IPSA) and an invalid bit (I). The entry key in type II preferably is used to express customers identified by IPSA. Therefore, in schema Type II, customers preferably are identified by IPSA. The VLAN ID is the source VLAN for the packet, e.g., frame, being considered. The APP ID preferably allows for awareness of the application being run per customer. The invalid bit (I) preferably indicates entries in the schema table that are in the process of being deleted.
- The schema Type II preferably includes IPSA Mask [6] for key control. In other embodiments, the IPSA Mask may have more or less than six bits. The IPSA Mask may include a subnet mask used to express Classless Inter-Domain Routing (CIDR) networks.
- The Type II application data preferably includes check verify (CV) bit, forward action (FA) field, VLAN ID CHK field, POLICE ID field, Color enable (COL) field, remark enable control (RE) bit, QoS Code Point (CP) field, QoS enable (Q) bit, color control (CO) bit, PAYLOAD ID field, Payload Control (PO) bit, Application Police enable (AP) bit, Accounting Format identifier (ACCT FMT) field, customer identification (CUST ID) field, Sniff (S1) bit, management resource (MR) bit, filter control (F) bit and search-hit (HS) bit. The POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit and ACCT FMT field preferably are similar to the corresponding fields and bits in the Type I application data.
- If the Type II search key does not match the entry keys, the packet may be dropped or it may be forwarded with learn event generated, based on a per-port control. During the learn event, the source address of the packet preferably is added to an address table associated with the application engine. In other embodiments, the VLAN ID field preferably is set to zero for the search, and when found, the resultant VLAN ID CHK field preferably is compared with the VLAN ID of the source. If there is a mismatch in the comparison, the action indicated by the FA field preferably is performed. The FA actions may include, but is not limited to, one or more of drop, forward and send to management resource (EMM).
- The CUST ID field preferably is used with the APP ID in the key to derive a police ID, which may be used for bandwidth policing on a per-customer, per-application basis. The S1 bit, when set, preferably allows sniffing of traffic from a certain customer or from a customer/application pair. The MR bit preferably indicates that the traffic, e.g., packets or flows, of this type should be sent to EMM. The F bit preferably indicates that the traffic of this type should be discarded. The HS bit, the search hit-bit for the entry, preferably is set by the search engine. The HS bit preferably is used to indicate that the entry has been found during a search operation so that, for example, when selecting entries to age-out (e.g., to reclaim table space), used entries preferably are kept and unused entries preferably are deleted.
- The schema Type III214 preferably is a type in which both source information and destination information may be used for searching. The entry key in Type III includes VLAN ID, MAC Address (MAC), APP IP and an invalid bit (I). Using schema Type III, customers preferably are identified by MAC source address. The source search preferably provides source MAC learning and customer identification. Further, the destination search preferably provides
Layer 2 Bridging. Similar to the schema Type I, the schema Type III includes the key control A for preferably enabling masking out of the APP ID field in the key. Thus, A control bit preferably allows masking out of the APP ID for unknown applications. - For source lookups, the schema Type III preferably identifies customers based on their VLAN ID, MAC Address and APP ID. The VLAN ID preferably represents the source VLAN for the packet, e.g., frame, MAC preferably represents the source MAC Address, and APP ID preferably represents the application ID. When used in a destination search, the APP ID preferably is set to zero. Then, the PAYLOAD ID of the result preferably indicates the forwarding vector to use.
- The Type III application data preferably includes Virtual Source Port Number (V S PORT) field, POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit, ST bit and HD bit. The POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit and HS bit preferably are similar to the corresponding fields and bits in the Type I and Type II application data. The VS PORT field preferably represents a virtual source port on the flow resolution logic in one embodiment of the present invention. On a successful source lookup, the VS PORT field preferably is compared against the ingress port's virtual source port number, which is used for learning.
- The
schema Type IV 216 preferably is a type in which customers preferably are identified from multi protocol label switching (MPLS). The PAYLOAD ID in the application data preferably is used for label switching. The entry key in Type IV includes VLAN ID, LABEL and an invalid bit (I). The VLAN ID preferably represents source VLAN for the packet, e.g., frame. The LABEL field preferably includes the first MPLS label. The invalid bit (I) preferably is used to indicate entries of the schema table in the process of being removed. In this embodiment, key control field is not used with the schema Type IV. In other embodiments, one or more key control fields may be used. - The Type IV application data preferably includes Valid Label (VL) field, L3 Protocol (L3 PROTO) field, POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit, and HD bit. The POLICE ID field, COL field, RE bit, QoS CP field, Q bit, CO bit, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit and HD bit preferably are similar to the corresponding fields and bits in the Type I, Type II and Type III application data.
- The VL field may be used to indicate that the label is dead and should be popped. In this case, the next search preferably is done on the following label and/or the packet may be sent to the EMM. The L3 PROTO field preferably indicates to the egress edge Label Switching Router (LSR) on what protocol is present on top of the MPLS stack. This information may be used to route the packet, e.g., frame, after the last label popping. The egress edge LSER preferably is the termination LSR of a tunnel. MPLS packets preferably flow through a tunnel until they get to an egress edge LSR. The egress edge LSR preferably removes the final label and handles the resulting packet according to the underlying packet type (e.g., normal IP packet).
- The
schema Type V 218 preferably is a type in which customers preferably are identified using both source information and destination information. More particularly, customers preferably are identified by full Border Gateway Protocol (BGP) reverse path lookup. - The entry key in schema Type V preferably includes Internet Protocol Destination Address (IPDA), Internet Protocol Source Address (IPSA), Destination Port (D PORT), Source Port (S PORT), TCP flag (T) bit and invalid (I) bit. In source search mode, IPDA preferably is used as a Source IP Address field and the other key fields in the search key preferably are set to zero. In destination search mode, IPDA preferably is used as the IP Destination Address and the IPSA preferably is used as the IP Source Address.
- The D PORT preferably is used as the Transfer Control Protocol (TCP)/User Datagram Protocol (UDP) destination port number and the S PORT preferably is used as the TCP/UDP source port number. The T bit preferably is set when the TCP protocol is being used on top of IP, and preferably is cleared otherwise. The I bit preferably is used to indicate invalid condition as in other schema types.
- In the key control fields, the schema Type V includes IPDA MASK field and FL bit. Thus, searches preferably are controlled by the IPDA MASK used to set the IPDA subnet size and FL bit, which may be used, when set, to mask out the entire IPSA+D PORT+S PORT+T flow spec portion of the entry.
- The Type V application data preferably includes PATH COUNT field, PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit, and HD bit. The PAYLOAD ID field, PO bit, AP bit, ACCT FMT field, CUST ID field, S1 bit, MR bit, F bit, HS bit and HD bit preferably are similar to the corresponding fields and bits in application data for other schema types. The PATH COUNT field preferably represents the number of paths available for the route. The resultant PAYLOAD ID preferably acts as a base payload to which the IPSA/IPDA hash may be added modulo PATH COUNT.
- The schema Type VI220 preferably is a type in which destination search is used to provide IP multicast routing. The entry key in schema Type VI preferably includes IP Multicast Destination Address (IPMA), VLAN ID, IPSA and inhibit bit (I). The schema Type VI preferably is used for IP multicast destination searching. The VLAN ID preferably represents source VLAN for the packet, e.g., frame. The schema Type VI preferably has MASK in the key control field. The MASK field preferably allows specification of the IPSA subnet and may also mask out the VLAN ID field. The Type VI application data preferably includes PAYLOAD field and HD bit, which are similar to corresponding field and bit in other schema types described above.
- The schema Type VII222 preferably is a type in which destination search is used to provide full length Internet Protocol Version 6 (Ipv6) routing. The entry key in schema Type VII preferably includes IPv6 Destination Address (Ipv6 DA), which is a destination address for IPv6 routing. The schema Type VII preferably has IPDA MASK in the key control field. The IPDA MASK preferably is a full width mask. Thus, for example, the IPDA MASK (7-bit mask) may be able to mask for full Ipv6 CIDR support. The Type VII application data preferably includes PAYLOAD field and HD bit, which may be similar to corresponding field and bit in other schema types described above. Up to 128 different next-hops may be established from the 7-bit payload ID.
- FIG. 4 is a flow diagram of identifying and providing application data for a packet in one embodiment of the present invention. In step,250, schema programs are loaded into an application engine, such as, for example, the
application engine 150 of FIG. 2. Insteps - The schema programs preferably uses the classification information and the header data of the packet to generate one or more keys and key control signals in
step 256. For example, the schema programs preferably selects the schema to be applied to the packet based on the classification information and/or the header data of the packet. The keys generated by the schema programs may also be referred to as search keys, since these keys preferably are used to look up or search application data for the packet in a schema table instep 258. - The schema table preferably is included in a lookup table, such as, for example, the lookup table154 of FIG. 2. The schema table preferably includes application data for one or more different schema types, as illustrated, for example, as TYPE I through TYPE VII in the schema table 200 of FIG. 3. In
step 260, the application engine preferably provides the identified application data. The application data preferably is provided to an edit module, which may reside within a packet buffer, such as, for example, thepacket buffer 102 of FIG. 1. The edit module preferably edits the packet using the application data prior to transmitting the packet as an outbound packet. - Although this invention has been described in certain specific embodiments, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that this invention may be practiced otherwise than as specifically described. Thus, the present embodiments of the invention should be considered in all respects as illustrative and not restrictive, the scope of the invention to be determined by the appended claims and their equivalents.
Claims (30)
1. A packet processing element for processing a packet, the packet processing element having a plurality of schemata programmed thereon, wherein classification information for the packet is used to select at least one schema, and wherein the selected schema is used to produce application data for the packet.
2. The packet processing element according to wherein at least one schema includes one or more key portions and one or more application data portions, and the classification information for the packet is applied to at least one key portion of a schema to produce application data for the packet from at least one application data portion of the schema.
claim 1
3. The packet processing element according to wherein the key portions include at least one data selected from group consisting of source data and destination data.
claim 2
4. The packet processing element according to wherein the application data portions include at least one data selected from group consisting of accounting data, policing data and routing data.
claim 2
5. The packet processing element according to wherein the classification information includes one or more classification data portions, and wherein the classification data portions are compared against the key portions to select at least one schema for the packet.
claim 2
6. The packet processing element according to wherein at least one schema includes one or more key portions, one or more key control portions and one or more application data portions, wherein the classification information for the packet is applied to at least one key portion of a schema in conjunction with at least one key control portion of the schema to produce application data for the packet from at least one application data portion of the schema.
claim 1
7. The packet processing element according to wherein the plurality of schemata include a MAC bridging schema.
claim 1
8. The packet processing element according to wherein the plurality of schemata include an IP routing schema.
claim 1
9. The packet processing element according to wherein the plurality of schemata include an MPLS schema.
claim 1
10. A method of producing application data for a packet using a packet processing element having a plurality of schemata programmed thereon, the method comprising the steps of:
selecting at least one schema using classification information for the packet; and
producing the application data for the packet using the selected schema.
11. The method of producing application data according to wherein at least one schema includes one or more key portions and one or more application data portions, wherein the step of producing the application data comprises the step of applying the classification information for the packet to at least one key portion of schema to produce application data for the packet from at least one application data portion of the schema.
claim 10
12. The method of producing application data according to wherein the key portions include at least one data selected from group consisting of source data and destination data.
claim 11
13. The method of producing application data according to wherein the application data portions include at least one data selected from group consisting of accounting data, policing data and routing data.
claim 11
14. The method of producing application data according to wherein the classification information includes one or more classification data portions, and wherein the step of applying the classification information comprises the step of comparing the classification data portions against the key portions to select at least one schema for the packet.
claim 11
15. The method of producing application data according to wherein at least one schema includes one or more key portions, one or more key control portions and one or more application data portions, wherein the step of producing the application data comprises the step of applying the classification information for the packet to at least one key portion of a schema in conjunction with at least one key control portion of the schema to produce application data for the packet from at least one application data portion of the schema.
claim 10
16. The method of producing application data according to wherein the plurality of schemata include a MAC bridging schema.
claim 10
17. The method of producing application data according to wherein the plurality of schemata include an IP routing schema.
claim 10
18. The method of producing application data according to wherein the plurality of schemata include an MPLS schema.
claim 10
19. A packet switching controller comprising a processing engine, the processing engine comprising:
an element for building a key using classification information for a packet; and
a lookup table containing one or more schemata;
wherein the key is used to select one of the schemata for the packet, and the selected schema provides application data for the packet.
20. The packet switching controller of wherein at least one schema includes a key portion and an application data portion, and the key is compared against the key portion to lookup the application data portion.
claim 19
21. The packet switching controller of wherein the key portion includes at least one data selected from group consisting of source data and destination data, and the application data portion includes at least one data selected from group consisting of accounting data, policing data and routing data.
claim 19
22. The packet switching controller of wherein at least one schema includes a key control portion, and the key control portion is used in conjunction with the key to lookup the application data portion.
claim 20
23. The packet switching controller of wherein the schemata include at least one schema selected from group consisting of a macro access control (MAC) bridging schema, an Internet Protocol (IP) routing schema and a multi-protocol label switching (MPLS) schema.
claim 19
24. A method of producing application data for a packet, the method comprising the steps of:
building a key using classification information for the packet;
selecting a schema for the packet from a lookup table containing one or more schemata; and
reading the application data from the selected schema.
25. The method of producing application data of wherein at least one schema includes a key portion and an application data portion, and the key is compared against the key portion to lookup the application data portion.
claim 24
26. The method of producing application data of wherein the key portion includes at least one data selected from group consisting of source data and destination data, and the application data portion includes at least one data selected from group consisting of accounting data, policing data and routing data.
claim 25
27. The method of producing application data of wherein at least one schema includes a key control portion, and the key control portion is used in conjunction with the key to lookup the application data portion.
claim 25
28. The method of producing application data of wherein the schemata include at least one schema selected from group consisting of a macro access control (MAC) bridging schema, an Internet Protocol (IP) routing schema and a multi-protocol label switching (MPLS) schema.
claim 24
29. A data communication switch having a backplane and a plurality of packet switching controllers interconnected over the backplane, at least one packet switching controller comprising:
an application engine having a plurality of schemata programmed thereon, wherein classification information for the packet is used to select at least one schema, and wherein the selected schema is used to produce application data for the packet.
30. The data communication switch of wherein at least one schema includes one or more key portions and one or more application data portions, and the classification information for the packet is applied to at least one key portion of a schema to produce application data for the packet from at least one application data portion of the schema.
claim 29
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/757,349 US20010053150A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with programmable application logic |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20661700P | 2000-05-24 | 2000-05-24 | |
US20699600P | 2000-05-24 | 2000-05-24 | |
US22033500P | 2000-07-24 | 2000-07-24 | |
US09/757,349 US20010053150A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with programmable application logic |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010053150A1 true US20010053150A1 (en) | 2001-12-20 |
Family
ID=27394964
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/751,194 Expired - Lifetime US7075926B2 (en) | 2000-05-24 | 2000-12-28 | Programmable packet processor with flow resolution logic |
US09/757,349 Abandoned US20010053150A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with programmable application logic |
US09/757,354 Abandoned US20010046229A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with real-time edit program construction engine |
US09/861,013 Abandoned US20020016856A1 (en) | 2000-05-24 | 2001-05-18 | Dynamic application port service provisioning for packet switch |
US11/428,616 Expired - Lifetime US7693149B2 (en) | 2000-05-24 | 2006-07-05 | Programmable packet processor with flow resolution logic |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/751,194 Expired - Lifetime US7075926B2 (en) | 2000-05-24 | 2000-12-28 | Programmable packet processor with flow resolution logic |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/757,354 Abandoned US20010046229A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with real-time edit program construction engine |
US09/861,013 Abandoned US20020016856A1 (en) | 2000-05-24 | 2001-05-18 | Dynamic application port service provisioning for packet switch |
US11/428,616 Expired - Lifetime US7693149B2 (en) | 2000-05-24 | 2006-07-05 | Programmable packet processor with flow resolution logic |
Country Status (5)
Country | Link |
---|---|
US (5) | US7075926B2 (en) |
EP (5) | EP1158724A3 (en) |
JP (5) | JP2002051080A (en) |
CN (1) | CN1278524C (en) |
AU (1) | AU4620501A (en) |
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002065717A1 (en) * | 2001-02-14 | 2002-08-22 | Dynarc Inc. Dba Dynamic Network Architecture Inc., In Ca | Dynamic packet processor architecture |
US20020159459A1 (en) * | 2001-04-27 | 2002-10-31 | Fujitsu Limited | Packet transfer device, semiconductor device, and packet transfer system |
US6606681B1 (en) * | 2001-02-23 | 2003-08-12 | Cisco Systems, Inc. | Optimized content addressable memory (CAM) |
US20040042463A1 (en) * | 2002-08-30 | 2004-03-04 | Intel Corporation | Method and apparatus for address lookup |
US20040057433A1 (en) * | 2002-09-24 | 2004-03-25 | Daniel Wayne T. | Methods and systems for prioritizing packets of data in a communications system |
US20040078469A1 (en) * | 2002-06-04 | 2004-04-22 | Prashanth Ishwar | Managing VLAN traffic in a multiport network node using customer-specific identifiers |
KR100439185B1 (en) * | 2001-12-28 | 2004-07-05 | 한국전자통신연구원 | Method for loading programs in the active network model and hybrid active network node |
US20040179548A1 (en) * | 2000-11-17 | 2004-09-16 | Andrew Chang | Method and system for encoding wide striped cells |
US20050018605A1 (en) * | 2002-07-22 | 2005-01-27 | Richard Foote | Multiprotocol label switching (MPLS) edge service extraction |
US6961808B1 (en) * | 2002-01-08 | 2005-11-01 | Cisco Technology, Inc. | Method and apparatus for implementing and using multiple virtual portions of physical associative memories |
US7054993B1 (en) * | 2001-04-09 | 2006-05-30 | Netlogic Microsystems, Inc. | Ternary content addressable memory device |
US7187687B1 (en) * | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US7206283B2 (en) | 2001-05-15 | 2007-04-17 | Foundry Networks, Inc. | High-performance network switch |
US20070136209A1 (en) * | 2005-12-06 | 2007-06-14 | Shabbir Khan | Digital object title authentication |
US7356030B2 (en) | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7403542B1 (en) * | 2002-07-19 | 2008-07-22 | Qlogic, Corporation | Method and system for processing network data packets |
US20090282148A1 (en) * | 2007-07-18 | 2009-11-12 | Foundry Networks, Inc. | Segmented crc design in high speed networks |
US7639715B1 (en) | 2005-09-09 | 2009-12-29 | Qlogic, Corporation | Dedicated application interface for network systems |
US7649885B1 (en) | 2002-05-06 | 2010-01-19 | Foundry Networks, Inc. | Network routing system for enhanced efficiency and monitoring capability |
US7657703B1 (en) | 2004-10-29 | 2010-02-02 | Foundry Networks, Inc. | Double density content addressable memory (CAM) lookup scheme |
US7738450B1 (en) | 2002-05-06 | 2010-06-15 | Foundry Networks, Inc. | System architecture for very fast ethernet blade |
US20100220742A1 (en) * | 2000-12-19 | 2010-09-02 | Foundry Networks, Inc. | System and method for router queue and congestion management |
US7817659B2 (en) | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US7830884B2 (en) | 2002-05-06 | 2010-11-09 | Foundry Networks, Llc | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US7848253B2 (en) | 1999-01-12 | 2010-12-07 | Mcdata Corporation | Method for scoring queued frames for selective transmission through a switch |
US20110038800A1 (en) * | 2008-05-20 | 2011-02-17 | Elizabeth Henske | Method for the treatment or prophylaxis of lymphagioleiomymatosis (lam) and animal model for use in lam research |
US20110044341A1 (en) * | 2008-05-26 | 2011-02-24 | Oricane Ab | Method for data packet classification in a data communications network |
US7903654B2 (en) | 2006-08-22 | 2011-03-08 | Foundry Networks, Llc | System and method for ECMP load sharing |
US7948872B2 (en) | 2000-11-17 | 2011-05-24 | Foundry Networks, Llc | Backplane interface adapter with error control and redundant fabric |
US7978614B2 (en) | 2007-01-11 | 2011-07-12 | Foundry Network, LLC | Techniques for detecting non-receipt of fault detection protocol packets |
US7978702B2 (en) | 2000-11-17 | 2011-07-12 | Foundry Networks, Llc | Backplane interface adapter |
US20110206064A1 (en) * | 2010-02-19 | 2011-08-25 | Intrusion Inc. | High speed network data extractor |
US8037399B2 (en) | 2007-07-18 | 2011-10-11 | Foundry Networks, Llc | Techniques for segmented CRC design in high speed networks |
US8090901B2 (en) | 2009-05-14 | 2012-01-03 | Brocade Communications Systems, Inc. | TCAM management approach that minimize movements |
US8149839B1 (en) | 2007-09-26 | 2012-04-03 | Foundry Networks, Llc | Selection of trunk ports and paths using rotation |
US8190881B2 (en) | 2007-10-15 | 2012-05-29 | Foundry Networks Llc | Scalable distributed web-based authentication |
US20120140672A1 (en) * | 2001-07-02 | 2012-06-07 | Buckman Charles R | System and method for processing network packet flows |
US8238255B2 (en) | 2006-11-22 | 2012-08-07 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US20120257502A1 (en) * | 2011-04-07 | 2012-10-11 | Jocelyn Le Sage | Managing Network Traffic |
US8448162B2 (en) | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US8599850B2 (en) | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
US8671219B2 (en) | 2002-05-06 | 2014-03-11 | Foundry Networks, Llc | Method and apparatus for efficiently processing data packets in a computer network |
US8718051B2 (en) | 2003-05-15 | 2014-05-06 | Foundry Networks, Llc | System and method for high speed packet transmission |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
US20140204916A1 (en) * | 2002-06-05 | 2014-07-24 | Universal Electronics Inc. | System and method for managing communication links |
US8838753B1 (en) * | 2006-08-10 | 2014-09-16 | Bivio Networks, Inc. | Method for dynamically configuring network services |
US9118590B2 (en) | 2004-07-02 | 2015-08-25 | Rpx Clearinghouse Llc | VLAN support of differentiated services |
US9225656B2 (en) | 2011-02-07 | 2015-12-29 | Brocade Communications Systems, Inc. | Quality of service in a heterogeneous network |
US9356862B2 (en) | 2004-04-06 | 2016-05-31 | Rpx Clearinghouse Llc | Differential forwarding in address-based carrier networks |
US10628353B2 (en) | 2014-03-08 | 2020-04-21 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
US10635316B2 (en) | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US11269670B2 (en) | 2014-03-08 | 2022-03-08 | Diamanti, Inc. | Methods and systems for converged networking and storage |
US11921658B2 (en) | 2014-03-08 | 2024-03-05 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
Families Citing this family (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600131B1 (en) | 1999-07-08 | 2009-10-06 | Broadcom Corporation | Distributed processing in a cryptography acceleration chip |
US7436830B2 (en) * | 2000-04-03 | 2008-10-14 | P-Cube Ltd. | Method and apparatus for wire-speed application layer classification of upstream and downstream data packets |
JP4080169B2 (en) * | 2000-09-29 | 2008-04-23 | 株式会社リコー | Session establishment method |
FI114597B (en) * | 2001-01-24 | 2004-11-15 | Teliasonera Finland Oyj | Procedure for logging in |
US7286532B1 (en) * | 2001-02-22 | 2007-10-23 | Cisco Technology, Inc. | High performance interface logic architecture of an intermediate network node |
WO2002076042A1 (en) * | 2001-03-19 | 2002-09-26 | International Business Machines Corporation | Cache entry selection method and apparatus |
US20020188732A1 (en) * | 2001-06-06 | 2002-12-12 | Buckman Charles R. | System and method for allocating bandwidth across a network |
US6950873B2 (en) * | 2001-08-02 | 2005-09-27 | International Business Machines Corporation | Apparatus and method for port sharing a plurality of server processes |
US20030033519A1 (en) * | 2001-08-13 | 2003-02-13 | Tippingpoint Technologies,Inc. | System and method for programming network nodes |
US7170891B2 (en) * | 2001-08-30 | 2007-01-30 | Messenger Terabit Networks, Inc. | High speed data classification system |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
US20030126234A1 (en) * | 2001-11-20 | 2003-07-03 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US7844688B2 (en) * | 2001-11-20 | 2010-11-30 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US7424019B1 (en) | 2001-11-27 | 2008-09-09 | Marvell Israel (M.I.S.L) Ltd. | Packet header altering device |
US7239639B2 (en) * | 2001-12-27 | 2007-07-03 | 3Com Corporation | System and method for dynamically constructing packet classification rules |
US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
US7298746B1 (en) | 2002-02-11 | 2007-11-20 | Extreme Networks | Method and system for reassembling and parsing packets in a network environment |
US7321926B1 (en) | 2002-02-11 | 2008-01-22 | Extreme Networks | Method of and system for allocating resources to resource requests |
US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
US7447777B1 (en) * | 2002-02-11 | 2008-11-04 | Extreme Networks | Switching system |
SE525183C2 (en) * | 2002-04-04 | 2004-12-21 | Xelerated Ab | Procedure and means for processing by pipelining of data packets |
US7644190B2 (en) | 2002-07-19 | 2010-01-05 | Xelerated Ab | Method and apparatus for pipelined processing of data packets |
EP1552412A4 (en) * | 2002-08-14 | 2007-05-23 | Drs Technical Services Inc | Method and apparatus for monitoring and controlling the allocation of network bandwidth |
EP1395015B1 (en) * | 2002-08-30 | 2005-02-02 | Errikos Pitsos | Method, gateway and system for transmitting data between a device in a public network and a device in an internal network |
JP4598354B2 (en) * | 2002-09-30 | 2010-12-15 | 株式会社エヌ・ティ・ティ・ドコモ | COMMUNICATION SYSTEM, RELAY DEVICE, AND COMMUNICATION CONTROL METHOD |
US7568110B2 (en) * | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
US20040123120A1 (en) * | 2002-12-18 | 2004-06-24 | Broadcom Corporation | Cryptography accelerator input interface data handling |
US20040196840A1 (en) * | 2003-04-04 | 2004-10-07 | Bharadwaj Amrutur | Passive measurement platform |
US7953885B1 (en) * | 2003-04-18 | 2011-05-31 | Cisco Technology, Inc. | Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause |
US7613775B2 (en) | 2003-11-25 | 2009-11-03 | Freescale Semiconductor, Inc. | Network message filtering using hashing and pattern matching |
US7240041B2 (en) * | 2003-11-25 | 2007-07-03 | Freescale Semiconductor, Inc. | Network message processing using inverse pattern matching |
US8181258B2 (en) * | 2003-11-26 | 2012-05-15 | Agere Systems Inc. | Access control list constructed as a tree of matching tables |
US7644085B2 (en) * | 2003-11-26 | 2010-01-05 | Agere Systems Inc. | Directed graph approach for constructing a tree representation of an access control list |
US7903555B2 (en) * | 2003-12-17 | 2011-03-08 | Intel Corporation | Packet tracing |
US7535899B2 (en) * | 2003-12-18 | 2009-05-19 | Intel Corporation | Packet classification |
US7496684B2 (en) * | 2004-01-20 | 2009-02-24 | International Business Machines Corporation | Developing portable packet processing applications in a network processor |
US20050199292A1 (en) * | 2004-03-10 | 2005-09-15 | Stedman David W. | Fluid device actuator with manual override |
US8161270B1 (en) | 2004-03-30 | 2012-04-17 | Extreme Networks, Inc. | Packet data modification processor |
US7304996B1 (en) | 2004-03-30 | 2007-12-04 | Extreme Networks, Inc. | System and method for assembling a data packet |
US7292591B2 (en) | 2004-03-30 | 2007-11-06 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7385984B2 (en) * | 2004-03-30 | 2008-06-10 | Extreme Networks, Inc. | Packet processing system architecture and method |
US8923292B2 (en) | 2004-04-06 | 2014-12-30 | Rockstar Consortium Us Lp | Differential forwarding in address-based carrier networks |
US7813263B2 (en) | 2004-06-30 | 2010-10-12 | Conexant Systems, Inc. | Method and apparatus providing rapid end-to-end failover in a packet switched communications network |
US7760719B2 (en) * | 2004-06-30 | 2010-07-20 | Conexant Systems, Inc. | Combined pipelined classification and address search method and apparatus for switching environments |
US20060080467A1 (en) * | 2004-08-26 | 2006-04-13 | Sensory Networks, Inc. | Apparatus and method for high performance data content processing |
US9197857B2 (en) * | 2004-09-24 | 2015-11-24 | Cisco Technology, Inc. | IP-based stream splicing with content-specific splice points |
US8966551B2 (en) * | 2007-11-01 | 2015-02-24 | Cisco Technology, Inc. | Locating points of interest using references to media frames within a packet flow |
FR2878346A1 (en) * | 2004-11-22 | 2006-05-26 | France Telecom | METHOD AND SYSTEM FOR MEASURING THE USE OF AN APPLICATION |
US20060198375A1 (en) * | 2004-12-07 | 2006-09-07 | Baik Kwang H | Method and apparatus for pattern matching based on packet reassembly |
US7990966B2 (en) * | 2004-12-13 | 2011-08-02 | Electronics And Telecommunications Research Institute | Apparatus for changing MAC address to identify subscriber and method thereof |
CN101088256B (en) | 2004-12-21 | 2010-12-08 | 艾利森电话股份有限公司 | Arrangement and method relating to flow of packets in communication systems |
US8250231B2 (en) | 2004-12-22 | 2012-08-21 | Marvell International Ltd. | Method for reducing buffer capacity in a pipeline processor |
US20060248375A1 (en) * | 2005-04-18 | 2006-11-02 | Bertan Tezcan | Packet processing switch and methods of operation thereof |
CN100446505C (en) * | 2005-06-06 | 2008-12-24 | 华为技术有限公司 | Realization method for improving backbone network security |
JP2006345406A (en) | 2005-06-10 | 2006-12-21 | Ntt Docomo Inc | Portable communication terminal, storage medium |
US8498297B2 (en) | 2005-08-26 | 2013-07-30 | Rockstar Consortium Us Lp | Forwarding table minimisation in ethernet switches |
US9686183B2 (en) * | 2005-12-06 | 2017-06-20 | Zarbaña Digital Fund Llc | Digital object routing based on a service request |
JP4759389B2 (en) * | 2006-01-10 | 2011-08-31 | アラクサラネットワークス株式会社 | Packet communication device |
US7596142B1 (en) * | 2006-05-12 | 2009-09-29 | Integrated Device Technology, Inc | Packet processing in a packet switch with improved output data distribution |
US7747904B1 (en) | 2006-05-12 | 2010-06-29 | Integrated Device Technology, Inc. | Error management system and method for a packet switch |
US7817652B1 (en) | 2006-05-12 | 2010-10-19 | Integrated Device Technology, Inc. | System and method of constructing data packets in a packet switch |
US7706387B1 (en) | 2006-05-31 | 2010-04-27 | Integrated Device Technology, Inc. | System and method for round robin arbitration |
US20070291768A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS |
US8064464B2 (en) * | 2006-06-16 | 2011-11-22 | Harris Corporation | Method and system for inbound content-based QoS |
KR100847146B1 (en) | 2006-11-06 | 2008-07-18 | 한국전자통신연구원 | 2×10 giga bit ethernet application implementation apparatus |
US8179896B2 (en) * | 2006-11-09 | 2012-05-15 | Justin Mark Sobaje | Network processors and pipeline optimization methods |
US8594085B2 (en) * | 2007-04-11 | 2013-11-26 | Palo Alto Networks, Inc. | L2/L3 multi-mode switch including policy processing |
JP5055429B2 (en) * | 2007-04-24 | 2012-10-24 | アクララ パワー−ライン システムズ インコーポレイテッド | Improved detection of outgoing message signals in power line bidirectional communication systems |
US7693040B1 (en) | 2007-05-01 | 2010-04-06 | Integrated Device Technology, Inc. | Processing switch for orthogonal frequency division multiplexing |
US8023419B2 (en) | 2007-05-14 | 2011-09-20 | Cisco Technology, Inc. | Remote monitoring of real-time internet protocol media streams |
US7936695B2 (en) | 2007-05-14 | 2011-05-03 | Cisco Technology, Inc. | Tunneling reports for real-time internet protocol media streams |
US7835406B2 (en) | 2007-06-18 | 2010-11-16 | Cisco Technology, Inc. | Surrogate stream for monitoring realtime media |
US8301789B2 (en) | 2007-06-18 | 2012-10-30 | Emc Corporation | Techniques for port hopping |
US7817546B2 (en) | 2007-07-06 | 2010-10-19 | Cisco Technology, Inc. | Quasi RTP metrics for non-RTP media flows |
DE602007013747D1 (en) * | 2007-08-10 | 2011-05-19 | Alcatel Lucent | Method and device for classifying data traffic in IP networks |
US7996520B2 (en) | 2007-09-19 | 2011-08-09 | Cisco Technology, Inc. | Behavioral classification of communication sessions using active session initiation |
US8656451B2 (en) * | 2008-03-07 | 2014-02-18 | At&T Mobility Ii Llc | Policy application server for mobile data networks |
US7864764B1 (en) * | 2008-09-16 | 2011-01-04 | Juniper Networks, Inc. | Accelerated packet processing in a network acceleration device |
US8539035B2 (en) * | 2008-09-29 | 2013-09-17 | Fujitsu Limited | Message tying processing method and apparatus |
US7916735B2 (en) | 2008-12-02 | 2011-03-29 | At&T Intellectual Property I, L.P. | Method for applying macro-controls onto IP networks using intelligent route indexing |
TWI378688B (en) * | 2009-02-10 | 2012-12-01 | Ralink Technology Corp | Method and apparatus for preloading packet headers and system using the same |
CN101808029B (en) * | 2009-02-13 | 2013-03-13 | 雷凌科技股份有限公司 | Method and device for preloading packet header and system using method |
US8284776B2 (en) * | 2009-06-10 | 2012-10-09 | Broadcom Corporation | Recursive packet header processing |
US8301982B2 (en) * | 2009-11-18 | 2012-10-30 | Cisco Technology, Inc. | RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows |
US8600850B2 (en) * | 2009-12-10 | 2013-12-03 | Redknee Inc. | Feedback loop for dynamic network resource allocation |
US8819714B2 (en) | 2010-05-19 | 2014-08-26 | Cisco Technology, Inc. | Ratings and quality measurements for digital broadcast viewers |
KR101145389B1 (en) | 2010-09-28 | 2012-05-15 | 한국전자통신연구원 | Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor |
US9148360B2 (en) * | 2010-11-01 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Managing MAC moves with secure port groups |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US9385917B1 (en) | 2011-03-31 | 2016-07-05 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US9001667B1 (en) | 2011-03-31 | 2015-04-07 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US8661295B1 (en) * | 2011-03-31 | 2014-02-25 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
JP5655692B2 (en) * | 2011-04-28 | 2015-01-21 | 富士通株式会社 | Communication apparatus and communication method |
US8830834B2 (en) * | 2011-12-21 | 2014-09-09 | Cisco Technology, Inc. | Overlay-based packet steering |
KR20130093848A (en) * | 2012-01-27 | 2013-08-23 | 한국전자통신연구원 | Packet processing apparatus and method for load balancing of multi-layered protocols |
US9104543B1 (en) | 2012-04-06 | 2015-08-11 | Amazon Technologies, Inc. | Determining locations of network failures |
US9798588B1 (en) | 2012-04-25 | 2017-10-24 | Significs And Elements, Llc | Efficient packet forwarding using cyber-security aware policies |
US9094459B2 (en) * | 2012-07-16 | 2015-07-28 | International Business Machines Corporation | Flow based overlay network |
US8937870B1 (en) | 2012-09-11 | 2015-01-20 | Amazon Technologies, Inc. | Network link monitoring and testing |
US9197495B1 (en) | 2013-02-11 | 2015-11-24 | Amazon Technologies, Inc. | Determining locations of network failures |
US9210038B1 (en) | 2013-02-11 | 2015-12-08 | Amazon Technologies, Inc. | Determining locations of network failures |
KR101353262B1 (en) * | 2013-04-19 | 2014-01-23 | 주식회사 셀모티브 | Metal foam for electrode of lithium secondary battery, preparing method thereof and lithium secondary battery including the metalfoam |
KR101467942B1 (en) * | 2013-04-24 | 2014-12-02 | 주식회사 윈스 | Fast Application Recognition System and Processing Method Therof |
US9742638B1 (en) | 2013-08-05 | 2017-08-22 | Amazon Technologies, Inc. | Determining impact of network failures |
US9324039B2 (en) | 2013-11-27 | 2016-04-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Incremental updates for ordered multi-field classification rules when represented by a tree of longest prefix matching tables |
WO2015107385A2 (en) * | 2013-12-18 | 2015-07-23 | Marvell Israel (M.I.S.L.) Ltd. | Methods and network device for oversubscription handling |
US9620213B2 (en) | 2013-12-27 | 2017-04-11 | Cavium, Inc. | Method and system for reconfigurable parallel lookups using multiple shared memories |
US9379963B2 (en) | 2013-12-30 | 2016-06-28 | Cavium, Inc. | Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine |
US9880844B2 (en) * | 2013-12-30 | 2018-01-30 | Cavium, Inc. | Method and apparatus for parallel and conditional data manipulation in a software-defined network processing engine |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
CN105024846A (en) * | 2014-04-30 | 2015-11-04 | 中兴通讯股份有限公司 | Heterogeneous network management method and system, and network element management and network management systems |
US9503552B2 (en) * | 2014-05-09 | 2016-11-22 | Google Inc. | System and method for adapting to network protocol updates |
KR101564644B1 (en) * | 2014-07-03 | 2015-10-30 | 한국전자통신연구원 | Method and system of extracting access control list |
US10505188B2 (en) * | 2015-03-03 | 2019-12-10 | The Government Of The United States As Represented By The Secretary Of The Army | “B” and “O” site doped AB2O4 spinel cathode material, method of preparing the same, and rechargeable lithium and Li-ion electrochemical systems containing the same |
US10911353B2 (en) * | 2015-06-17 | 2021-02-02 | Extreme Networks, Inc. | Architecture for a network visibility system |
US10129088B2 (en) | 2015-06-17 | 2018-11-13 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
CN104809158B (en) * | 2015-03-26 | 2018-05-18 | 小米科技有限责任公司 | Web content filter method and device |
US20170092964A1 (en) * | 2015-09-28 | 2017-03-30 | General Electric Company | Fuel cell module including heat exchanger and method of operating such module |
JP6909787B2 (en) * | 2015-11-11 | 2021-07-28 | スリーエム イノベイティブ プロパティズ カンパニー | Conductive fluoropolymer composition |
WO2017196821A1 (en) | 2016-05-09 | 2017-11-16 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
TWI726561B (en) * | 2019-12-31 | 2021-05-01 | 新唐科技股份有限公司 | Operating circuit and control method thereof |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398245A (en) * | 1991-10-04 | 1995-03-14 | Bay Networks, Inc. | Packet processing method and apparatus |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US6145064A (en) * | 1996-08-28 | 2000-11-07 | Canon Information Systems Research Australia Pty Ltd | Method of efficiently updating hashed page tables |
US6212183B1 (en) * | 1997-08-22 | 2001-04-03 | Cisco Technology, Inc. | Multiple parallel packet routing lookup |
US6525850B1 (en) * | 1998-07-17 | 2003-02-25 | The Regents Of The University Of California | High-throughput, low-latency next generation internet networks using optical label switching and high-speed optical header generation, detection and reinsertion |
US6567408B1 (en) * | 1999-02-01 | 2003-05-20 | Redback Networks Inc. | Methods and apparatus for packet classification with multi-level data structure |
US6697380B1 (en) * | 1999-12-07 | 2004-02-24 | Advanced Micro Devices, Inc. | Multiple key lookup arrangement for a shared switching logic address table in a network switch |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3777797D1 (en) * | 1987-01-28 | 1992-04-30 | Ibm | DEVICE FOR MEDIATING BETWEEN CHANNELS FOR SYNCHRONOUS MESSAGE AND FOR MEDIATING ASYNCHRONOUS DATA PACKAGES. |
US5182748A (en) * | 1989-10-20 | 1993-01-26 | Kokusai Denshin Denwa Co., Ltd. | Protocol conversion system |
DE69226436T2 (en) * | 1992-06-17 | 1998-12-03 | Hewlett-Packard Co., Palo Alto, Calif. | NETWORK MONITORING METHOD AND DEVICE |
GB9326476D0 (en) * | 1993-12-24 | 1994-02-23 | Newbridge Networks Corp | Network |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5563878A (en) * | 1995-01-05 | 1996-10-08 | International Business Machines Corporation | Transaction message routing in digital communication networks |
US5938736A (en) * | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
WO1999027684A1 (en) * | 1997-11-25 | 1999-06-03 | Packeteer, Inc. | Method for automatically classifying traffic in a packet communications network |
US6781994B1 (en) * | 1997-12-25 | 2004-08-24 | Kabushiki Kaisha Toshiba | Distributing ATM cells to output ports based upon destination information using ATM switch core and IP forwarding |
US7466703B1 (en) * | 1998-05-01 | 2008-12-16 | Alcatel-Lucent Usa Inc. | Scalable high speed router apparatus |
US6628653B1 (en) * | 1998-06-04 | 2003-09-30 | Nortel Networks Limited | Programmable packet switching device |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6876653B2 (en) * | 1998-07-08 | 2005-04-05 | Broadcom Corporation | Fast flexible filter processor based architecture for a network device |
JP2000092118A (en) * | 1998-09-08 | 2000-03-31 | Hitachi Ltd | Programmable network |
US6678268B1 (en) * | 1998-09-18 | 2004-01-13 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) with rapid fault recovery capability |
US6611524B2 (en) * | 1999-06-30 | 2003-08-26 | Cisco Technology, Inc. | Programmable data packet parser |
DE60045552D1 (en) * | 1999-06-30 | 2011-03-03 | Apptitude Inc | METHOD AND DEVICE TO MONITOR THE NETWORK TRANSPORT |
JP3643507B2 (en) * | 1999-09-20 | 2005-04-27 | 株式会社東芝 | Packet processing apparatus and packet processing method |
US6728243B1 (en) * | 1999-10-28 | 2004-04-27 | Intel Corporation | Method for specifying TCP/IP packet classification parameters |
US6977930B1 (en) * | 2000-02-14 | 2005-12-20 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
US6778546B1 (en) * | 2000-02-14 | 2004-08-17 | Cisco Technology, Inc. | High-speed hardware implementation of MDRR algorithm over a large number of queues |
US6778534B1 (en) * | 2000-06-30 | 2004-08-17 | E. Z. Chip Technologies Ltd. | High-performance network processor |
US20030009466A1 (en) * | 2001-06-21 | 2003-01-09 | Ta John D. C. | Search engine with pipeline structure |
US20050232303A1 (en) * | 2002-04-26 | 2005-10-20 | Koen Deforche | Efficient packet processing pipeline device and method |
-
2000
- 2000-12-28 US US09/751,194 patent/US7075926B2/en not_active Expired - Lifetime
-
2001
- 2001-01-08 US US09/757,349 patent/US20010053150A1/en not_active Abandoned
- 2001-01-08 US US09/757,354 patent/US20010046229A1/en not_active Abandoned
- 2001-05-18 US US09/861,013 patent/US20020016856A1/en not_active Abandoned
- 2001-05-22 AU AU46205/01A patent/AU4620501A/en not_active Abandoned
- 2001-05-23 JP JP2001154079A patent/JP2002051080A/en not_active Withdrawn
- 2001-05-23 EP EP01112005A patent/EP1158724A3/en not_active Ceased
- 2001-05-23 JP JP2001154078A patent/JP2002077269A/en not_active Withdrawn
- 2001-05-23 EP EP01112008A patent/EP1158727A3/en not_active Withdrawn
- 2001-05-23 JP JP2001154076A patent/JP2002044150A/en not_active Withdrawn
- 2001-05-23 EP EP01112009A patent/EP1158728A3/en not_active Withdrawn
- 2001-05-23 JP JP2001154080A patent/JP2002051081A/en not_active Withdrawn
- 2001-05-23 EP EP01112007A patent/EP1158726A3/en not_active Ceased
- 2001-05-23 JP JP2001154081A patent/JP2002064563A/en not_active Withdrawn
- 2001-05-23 EP EP01112011A patent/EP1158730A3/en not_active Ceased
- 2001-05-24 CN CN01119067.1A patent/CN1278524C/en not_active Expired - Fee Related
-
2006
- 2006-07-05 US US11/428,616 patent/US7693149B2/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398245A (en) * | 1991-10-04 | 1995-03-14 | Bay Networks, Inc. | Packet processing method and apparatus |
US6145064A (en) * | 1996-08-28 | 2000-11-07 | Canon Information Systems Research Australia Pty Ltd | Method of efficiently updating hashed page tables |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US6212183B1 (en) * | 1997-08-22 | 2001-04-03 | Cisco Technology, Inc. | Multiple parallel packet routing lookup |
US6525850B1 (en) * | 1998-07-17 | 2003-02-25 | The Regents Of The University Of California | High-throughput, low-latency next generation internet networks using optical label switching and high-speed optical header generation, detection and reinsertion |
US6567408B1 (en) * | 1999-02-01 | 2003-05-20 | Redback Networks Inc. | Methods and apparatus for packet classification with multi-level data structure |
US6697380B1 (en) * | 1999-12-07 | 2004-02-24 | Advanced Micro Devices, Inc. | Multiple key lookup arrangement for a shared switching logic address table in a network switch |
Cited By (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7848253B2 (en) | 1999-01-12 | 2010-12-07 | Mcdata Corporation | Method for scoring queued frames for selective transmission through a switch |
US8014315B2 (en) | 1999-01-12 | 2011-09-06 | Mcdata Corporation | Method for scoring queued frames for selective transmission through a switch |
US9030937B2 (en) | 2000-11-17 | 2015-05-12 | Foundry Networks, Llc | Backplane interface adapter with error control and redundant fabric |
US8514716B2 (en) | 2000-11-17 | 2013-08-20 | Foundry Networks, Llc | Backplane interface adapter with error control and redundant fabric |
US8964754B2 (en) | 2000-11-17 | 2015-02-24 | Foundry Networks, Llc | Backplane interface adapter with error control and redundant fabric |
US20040179548A1 (en) * | 2000-11-17 | 2004-09-16 | Andrew Chang | Method and system for encoding wide striped cells |
US7995580B2 (en) | 2000-11-17 | 2011-08-09 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US7948872B2 (en) | 2000-11-17 | 2011-05-24 | Foundry Networks, Llc | Backplane interface adapter with error control and redundant fabric |
US7356030B2 (en) | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7978702B2 (en) | 2000-11-17 | 2011-07-12 | Foundry Networks, Llc | Backplane interface adapter |
US7203194B2 (en) | 2000-11-17 | 2007-04-10 | Foundry Networks, Inc. | Method and system for encoding wide striped cells |
US8619781B2 (en) | 2000-11-17 | 2013-12-31 | Foundry Networks, Llc | Backplane interface adapter with error control and redundant fabric |
US20100220742A1 (en) * | 2000-12-19 | 2010-09-02 | Foundry Networks, Inc. | System and method for router queue and congestion management |
US7974208B2 (en) | 2000-12-19 | 2011-07-05 | Foundry Networks, Inc. | System and method for router queue and congestion management |
US7813365B2 (en) | 2000-12-19 | 2010-10-12 | Foundry Networks, Inc. | System and method for router queue and congestion management |
WO2002065717A1 (en) * | 2001-02-14 | 2002-08-22 | Dynarc Inc. Dba Dynamic Network Architecture Inc., In Ca | Dynamic packet processor architecture |
US6606681B1 (en) * | 2001-02-23 | 2003-08-12 | Cisco Systems, Inc. | Optimized content addressable memory (CAM) |
US7054993B1 (en) * | 2001-04-09 | 2006-05-30 | Netlogic Microsystems, Inc. | Ternary content addressable memory device |
US7154890B2 (en) * | 2001-04-27 | 2006-12-26 | Fujitsu Limited | Packet transfer device, semiconductor device, and packet transfer system |
US20020159459A1 (en) * | 2001-04-27 | 2002-10-31 | Fujitsu Limited | Packet transfer device, semiconductor device, and packet transfer system |
US7206283B2 (en) | 2001-05-15 | 2007-04-17 | Foundry Networks, Inc. | High-performance network switch |
US20120140672A1 (en) * | 2001-07-02 | 2012-06-07 | Buckman Charles R | System and method for processing network packet flows |
US8570866B2 (en) * | 2001-07-02 | 2013-10-29 | Hewlett-Packard Development Company, L.P. | System and method for processing network packet flows |
KR100439185B1 (en) * | 2001-12-28 | 2004-07-05 | 한국전자통신연구원 | Method for loading programs in the active network model and hybrid active network node |
US6961808B1 (en) * | 2002-01-08 | 2005-11-01 | Cisco Technology, Inc. | Method and apparatus for implementing and using multiple virtual portions of physical associative memories |
US8989202B2 (en) | 2002-05-06 | 2015-03-24 | Foundry Networks, Llc | Pipeline method and system for switching packets |
US8170044B2 (en) | 2002-05-06 | 2012-05-01 | Foundry Networks, Llc | Pipeline method and system for switching packets |
US7813367B2 (en) | 2002-05-06 | 2010-10-12 | 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 |
US7830884B2 (en) | 2002-05-06 | 2010-11-09 | Foundry Networks, Llc | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US8194666B2 (en) | 2002-05-06 | 2012-06-05 | Foundry Networks, Llc | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US7738450B1 (en) | 2002-05-06 | 2010-06-15 | Foundry Networks, Inc. | System architecture for very fast ethernet blade |
US7187687B1 (en) * | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US8671219B2 (en) | 2002-05-06 | 2014-03-11 | Foundry Networks, Llc | Method and apparatus for efficiently processing data packets in a computer network |
US7548541B2 (en) * | 2002-06-04 | 2009-06-16 | Alcatel-Lucent Usa Inc. | Managing VLAN traffic in a multiport network node using customer-specific identifiers |
US20040078469A1 (en) * | 2002-06-04 | 2004-04-22 | Prashanth Ishwar | Managing VLAN traffic in a multiport network node using customer-specific identifiers |
US20140204916A1 (en) * | 2002-06-05 | 2014-07-24 | Universal Electronics Inc. | System and method for managing communication links |
US9160501B2 (en) * | 2002-06-05 | 2015-10-13 | Universal Electronics Inc. | System and method for managing communication links |
US7403542B1 (en) * | 2002-07-19 | 2008-07-22 | Qlogic, Corporation | Method and system for processing network data packets |
US7411904B2 (en) * | 2002-07-22 | 2008-08-12 | Lucent Technologies Inc. | Multiprotocol label switching (MPLS) edge service extraction |
US20050018605A1 (en) * | 2002-07-22 | 2005-01-27 | Richard Foote | Multiprotocol label switching (MPLS) edge service extraction |
US20040042463A1 (en) * | 2002-08-30 | 2004-03-04 | Intel Corporation | Method and apparatus for address lookup |
US20040057433A1 (en) * | 2002-09-24 | 2004-03-25 | Daniel Wayne T. | Methods and systems for prioritizing packets of data in a communications system |
US9461940B2 (en) | 2003-05-15 | 2016-10-04 | Foundry Networks, Llc | System and method for high speed packet transmission |
US8718051B2 (en) | 2003-05-15 | 2014-05-06 | Foundry Networks, Llc | System and method for high speed packet transmission |
US8811390B2 (en) | 2003-05-15 | 2014-08-19 | Foundry Networks, Llc | System and method for high speed packet transmission |
US9338100B2 (en) | 2004-03-26 | 2016-05-10 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US8493988B2 (en) | 2004-03-26 | 2013-07-23 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US7817659B2 (en) | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US9356862B2 (en) | 2004-04-06 | 2016-05-31 | Rpx Clearinghouse Llc | Differential forwarding in address-based carrier networks |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
US9118590B2 (en) | 2004-07-02 | 2015-08-25 | Rpx Clearinghouse Llc | VLAN support of differentiated services |
US7657703B1 (en) | 2004-10-29 | 2010-02-02 | Foundry Networks, Inc. | Double density content addressable memory (CAM) lookup scheme |
US7953923B2 (en) | 2004-10-29 | 2011-05-31 | Foundry Networks, Llc | Double density content addressable memory (CAM) lookup scheme |
US7953922B2 (en) | 2004-10-29 | 2011-05-31 | Foundry Networks, Llc | Double density content addressable memory (CAM) lookup scheme |
US7639715B1 (en) | 2005-09-09 | 2009-12-29 | Qlogic, Corporation | Dedicated application interface for network systems |
US20070136209A1 (en) * | 2005-12-06 | 2007-06-14 | Shabbir Khan | Digital object title authentication |
US9378005B2 (en) | 2005-12-28 | 2016-06-28 | Foundry Networks, Llc | Hitless software upgrades |
US8448162B2 (en) | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US8838753B1 (en) * | 2006-08-10 | 2014-09-16 | Bivio Networks, Inc. | Method for dynamically configuring network services |
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 |
US9030943B2 (en) | 2006-11-22 | 2015-05-12 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US8155011B2 (en) | 2007-01-11 | 2012-04-10 | Foundry Networks, Llc | Techniques for using dual memory structures for processing failure detection protocol packets |
US8395996B2 (en) | 2007-01-11 | 2013-03-12 | Foundry Networks, Llc | Techniques for processing incoming failure detection protocol packets |
US7978614B2 (en) | 2007-01-11 | 2011-07-12 | Foundry Network, LLC | Techniques for detecting non-receipt of fault detection protocol packets |
US9112780B2 (en) | 2007-01-11 | 2015-08-18 | Foundry Networks, Llc | Techniques for processing incoming failure detection protocol packets |
US20090282148A1 (en) * | 2007-07-18 | 2009-11-12 | Foundry Networks, Inc. | 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 |
US8037399B2 (en) | 2007-07-18 | 2011-10-11 | Foundry Networks, Llc | Techniques for segmented CRC design in high speed networks |
US8149839B1 (en) | 2007-09-26 | 2012-04-03 | Foundry Networks, Llc | Selection of trunk ports and paths using rotation |
US8509236B2 (en) | 2007-09-26 | 2013-08-13 | Foundry Networks, Llc | Techniques for selecting paths and/or trunk ports for forwarding traffic flows |
US8799645B2 (en) | 2007-10-15 | 2014-08-05 | Foundry Networks, LLC. | Scalable distributed web-based authentication |
US8667268B2 (en) | 2007-10-15 | 2014-03-04 | Foundry Networks, Llc | Scalable distributed web-based authentication |
US8190881B2 (en) | 2007-10-15 | 2012-05-29 | Foundry Networks Llc | Scalable distributed web-based authentication |
US20110038800A1 (en) * | 2008-05-20 | 2011-02-17 | Elizabeth Henske | Method for the treatment or prophylaxis of lymphagioleiomymatosis (lam) and animal model for use in lam research |
US20110044341A1 (en) * | 2008-05-26 | 2011-02-24 | Oricane Ab | Method for data packet classification in a data communications network |
US8472446B2 (en) * | 2008-05-26 | 2013-06-25 | Oricane Ab | Method for data packet classification in a data communications network |
US8090901B2 (en) | 2009-05-14 | 2012-01-03 | Brocade Communications Systems, Inc. | TCAM management approach that minimize movements |
US9166818B2 (en) | 2009-09-21 | 2015-10-20 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
US8599850B2 (en) | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
US20110206064A1 (en) * | 2010-02-19 | 2011-08-25 | Intrusion Inc. | High speed network data extractor |
US8291058B2 (en) | 2010-02-19 | 2012-10-16 | Intrusion, Inc. | High speed network data extractor |
US9225656B2 (en) | 2011-02-07 | 2015-12-29 | Brocade Communications Systems, Inc. | Quality of service in a heterogeneous network |
US8730811B2 (en) * | 2011-04-07 | 2014-05-20 | Hewlett-Packard Development Company, L.P. | Managing network traffic |
US20120257502A1 (en) * | 2011-04-07 | 2012-10-11 | Jocelyn Le Sage | Managing Network Traffic |
US10628353B2 (en) | 2014-03-08 | 2020-04-21 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
US10635316B2 (en) | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US10860213B2 (en) | 2014-03-08 | 2020-12-08 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US11269518B2 (en) | 2014-03-08 | 2022-03-08 | Diamanti, Inc. | Single-step configuration of storage and network devices in a virtualized cluster of storage resources |
US11269670B2 (en) | 2014-03-08 | 2022-03-08 | Diamanti, Inc. | Methods and systems for converged networking and storage |
US11921658B2 (en) | 2014-03-08 | 2024-03-05 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
Also Published As
Publication number | Publication date |
---|---|
EP1158726A2 (en) | 2001-11-28 |
EP1158727A2 (en) | 2001-11-28 |
EP1158728A2 (en) | 2001-11-28 |
JP2002044150A (en) | 2002-02-08 |
US7693149B2 (en) | 2010-04-06 |
CN1278524C (en) | 2006-10-04 |
EP1158726A3 (en) | 2004-05-12 |
US20010046229A1 (en) | 2001-11-29 |
EP1158728A3 (en) | 2004-05-19 |
JP2002051081A (en) | 2002-02-15 |
CN1359217A (en) | 2002-07-17 |
JP2002051080A (en) | 2002-02-15 |
EP1158730A2 (en) | 2001-11-28 |
US20020085560A1 (en) | 2002-07-04 |
US20020016856A1 (en) | 2002-02-07 |
JP2002077269A (en) | 2002-03-15 |
JP2002064563A (en) | 2002-02-28 |
EP1158724A2 (en) | 2001-11-28 |
EP1158727A3 (en) | 2004-05-19 |
EP1158724A3 (en) | 2004-06-23 |
US7075926B2 (en) | 2006-07-11 |
AU4620501A (en) | 2001-11-29 |
EP1158730A3 (en) | 2004-06-30 |
US20060251069A1 (en) | 2006-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010053150A1 (en) | Packet processor with programmable application logic | |
US7680943B2 (en) | Methods and apparatus for implementing multiple types of network tunneling in a uniform manner | |
US6977932B1 (en) | System and method for network tunneling utilizing micro-flow state information | |
US8194664B2 (en) | Two-level load-balancing of network traffic over an MPLS network | |
US8189585B2 (en) | Techniques for virtual private network fast convergence | |
US7289498B2 (en) | Classifying and distributing traffic at a network node | |
EP1158725B1 (en) | Method and apparatus for multi- redundant router protocol support | |
US7519062B1 (en) | Method and apparatus for implementing forwarding decision shortcuts at a network switch | |
US6798788B1 (en) | Arrangement determining policies for layer 3 frame fragments in a network switch | |
US7567569B2 (en) | Method for recursive BGP route updates in MPLS networks | |
JP4115721B2 (en) | Classification and tagging rules for switching nodes | |
US7760719B2 (en) | Combined pipelined classification and address search method and apparatus for switching environments | |
US6683885B1 (en) | Network relaying apparatus and network relaying method | |
US20040017816A1 (en) | Managing traffic in a multiport network node using logical ports | |
US20030007489A1 (en) | Data extraction system for packet analysis | |
US20020089929A1 (en) | Packet processor with multi-level policing logic | |
KR100358153B1 (en) | QoS supported IP packet forwarding dispersion processing apparatus and method | |
US20030225881A1 (en) | Efficient cascaded lookups at a network node | |
US20040252722A1 (en) | Apparatus and method for implementing VLAN bridging and a VPN in a distributed architecture router | |
JP2003304278A (en) | Flow detector and packet transfer device having flow detecting function | |
US7496096B1 (en) | Method and system for defining hardware routing paths for networks having IP and MPLS paths | |
US20090135833A1 (en) | Ingress node and egress node with improved packet transfer rate on multi-protocol label switching (MPLS) network, and method of improving packet transfer rate in MPLS network system | |
US6658003B1 (en) | Network relaying apparatus and network relaying method capable of high-speed flow detection | |
US20020116521A1 (en) | Soft multi-contract rate policing | |
US7643496B1 (en) | Application specified steering policy implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALCATEL, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CLEAR, DAVID;DAVIS, GREG;MICHELS, TIM;AND OTHERS;REEL/FRAME:012013/0721;SIGNING DATES FROM 20010328 TO 20010426 |
|
AS | Assignment |
Owner name: ALCATEL INTERNETWORKING (PE), INC., WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALCATEL;REEL/FRAME:012041/0769 Effective date: 20010621 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |