US20040258057A1 - Method and hardware apparatus for implementing frame alteration commands - Google Patents

Method and hardware apparatus for implementing frame alteration commands Download PDF

Info

Publication number
US20040258057A1
US20040258057A1 US10/463,281 US46328103A US2004258057A1 US 20040258057 A1 US20040258057 A1 US 20040258057A1 US 46328103 A US46328103 A US 46328103A US 2004258057 A1 US2004258057 A1 US 2004258057A1
Authority
US
United States
Prior art keywords
frame alteration
frame
commands
alteration instruction
implementing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/463,281
Other versions
US7362753B2 (en
Inventor
John Irish
Ibrahim Ouda
James Steenburgh
Jason Thompson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US10/463,281 priority Critical patent/US7362753B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OUDA, IBRAHIM ABDEL-RAHMAN, STEENBURGH, JAMES A., IRISH, JOHN DAVID, THOMPSON, JASON ANDREW
Publication of US20040258057A1 publication Critical patent/US20040258057A1/en
Priority to US12/044,998 priority patent/US7961732B2/en
Application granted granted Critical
Publication of US7362753B2 publication Critical patent/US7362753B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines

Definitions

  • the present invention relates generally to the data processing field, and more particularly, relates to a method and apparatus for implementing frame alteration commands in a communications network processor.
  • Network processing functions of a network processor must be performed at a high rate to avoid causing any bottleneck in the communications network.
  • a processor and software typically handle frame alteration operations.
  • U.S. Pat. No. 6,546,021 to Albert Alfonse Slane discloses a method and apparatus for user programmable packet to connection translation.
  • a protocol type for the received data block is identified based upon the media connection or port number for the received data block.
  • a connection identification is formed utilizing a header of the received data block, responsive to the identified protocol type for the received data block.
  • An instruction array is used with an arithmetic logic unit (ALU). Different code sequences are loaded into the instruction array based upon the user configured protocol type for a media connection or port number of the received data block.
  • ALU arithmetic logic unit
  • a principal object of the present invention is to provide a method and apparatus for implementing frame alteration commands in a communications network processor.
  • Other important objects of the present invention are to provide such method and apparatus for implementing frame alteration commands in a communications network processor substantially without negative effect and that overcome some of the disadvantages of prior art arrangements.
  • a method and apparatus are provided for implementing frame alteration commands in a communications network processor.
  • a set of frame alteration instruction templates is defined.
  • a frame alteration instruction template is identified based upon the packet type recognition result of a received packet.
  • a frame alteration instruction stream is generated utilizing the frame alteration instruction template.
  • each of the frame alteration instruction templates includes different frame alteration commands to be performed on a packet.
  • Pointers to indirect data bytes to be inserted in a packet are stored in the frame alteration instruction templates.
  • the generated frame alteration instruction stream is used by hardware to provide frame alterations.
  • FIG. 1 is a block diagram representation illustrating a network processor system for implementing frame alteration commands in accordance with the preferred embodiment
  • FIG. 2 is a block diagram representation illustrating an exemplary hardware mechanism for implementing frame alteration commands in the network processor system of FIG. 1 in accordance with the preferred embodiment
  • FIG. 3 is a diagram illustrating an exemplary hardware logic implementation for performing frame alterations in the network processor system of FIG. 1 in accordance with the preferred embodiment.
  • network processor system 100 for carrying out methods for implementing predefined actions based upon packet classification and lookup results of the preferred embodiment.
  • network processor system 100 includes a network processor 102 .
  • Network processor system 100 includes a control processor 104 , and a dataflow processor 106 coupled by a network processor bus to dataflow assist hardware (HW) 108 of the preferred embodiment.
  • the dataflow assist hardware (HW) 108 of the preferred embodiment is coupled to multiple network ports #1-N, 110 for communicating using various ones of known network protocols, such as, an Asynchronous Transfer Mode (ATM), Ethernet, and the like.
  • ATM Asynchronous Transfer Mode
  • Network processor system 100 includes an input/output (I/O) 112 coupled to peripheral devices.
  • Network processor system 100 includes a system memory 114 including a dynamic random access memory (DRAM) 116 .
  • DRAM dynamic random access memory
  • Network processor 102 can be implemented with various standard processors, for example, with one of the PowerPC® line of processors manufactured by International Business Machines Corporation.
  • dataflow assist hardware (HW) 108 includes a hardware mechanism 200 and hardware logic 300 , as illustrated and described with respect to FIGS. 2, and 3 , for implementing frame alteration commands.
  • Network processor 102 is enabled to effectively perform packet routing with hardware mechanism 200 and hardware logic 300 that iimplement a method for constructing frame alteration commands from a table within the hardware.
  • Hardware mechanism 200 and hardware logic 300 enables routing multiple different kinds of packets for each network port 110 which can require different frame alteration commands and frame alteration data from either the packet, classification leafs, or direct bytes.
  • the dataflow assist hardware (HW) 108 includes hardware mechanism 200 and hardware logic 300 for implementing frame alteration commands and performing frame alterations in the network processor system 100 in accordance with the preferred embodiment.
  • hardware mechanism 200 includes a packet type recognition function 202 that recognizes packet types, and applies a template selection or pointer to a frame alteration instruction templates table 204 .
  • the frame alteration instruction templates table 204 holds different frame alteration commands that can be used for packet routing depending upon the type of packet classified by the packet type recognition function 202 .
  • table 204 includes 32 entries or frame alteration instruction templates, each having different frame alteration commands to be performed on a packet.
  • the template selection pointer produced by the packet type recognition function 202 determines a selected frame alteration instruction template 206 .
  • hardware logic 300 receives the selected frame alteration instruction template 206 including multiple bytes 0 -N, 301 that is coupled to packet data 302 , table lookup results 304 , and memory 306 that includes registers within the dataflow assist hardware 108 .
  • the frame alteration instruction template 206 has the ability to get data from the original header data 302 along with data from classification leafs hit during a packet classification, for example, from table lookup results 304 and from memory 306 .
  • Each byte of frame alteration instruction template 206 in each entry has a mask 308 for creating frame alteration provided in a frame alteration instruction stream 310 via a selector 312 .
  • the mask 308 includes bits 0 -N.
  • a plurality of registers 0 -N, 314 stores corresponding bytes 0 -N of the generated frame alteration instruction stream 310
  • Each bit of mask 308 is used to select a byte from the frame alteration instruction template 206 or a byte pointed to by the frame alteration instruction template 206 in one or more of the packet data 302 , table lookup results 304 , and memory 306 .
  • Each byte 0 -N of the frame alteration instruction stream 310 can either be a direct byte taken from the table frame alteration instruction template 206 or an indirect byte provided from one or more of the packet data 302 , table lookup results 304 , and memory 306 .
  • the frame alteration instruction stream 310 includes frame alteration commands and can contain bytes to be inserted in the packet.
  • the packet and generated frame alteration instruction stream 310 are stored.
  • the frame alteration instruction stream 310 is used by other dataflow assist hardware 108 to perform frame alterations.
  • IP Internet Protocol
  • MAC Ethernet media access control
  • DA destination address
  • the frame alteration instruction stream 310 provides commands and data for the frame alteration operations that are needed, such as: Overlay the first 6 bytes of the packet with the new MAC DA.
  • the selected frame alteration instruction template 206 from the frame alteration command table 204 of the preferred embodiment is set up to specify one or more direct bytes representing the Op-code, position, and length of the overlay operation and one or more indirect bytes that point to the location of the MCA DA that was found during the classification process to generate a particular frame alteration instruction stream 310 .

Abstract

A method and apparatus are provided for implementing frame alteration commands in a communications network processor. A set of frame alteration instruction templates is defined. A frame alteration instruction template is identified based upon the packet type recognition result of a received packet. A frame alteration instruction stream is generated utilizing the frame alteration instruction template. Each of the frame alteration instruction templates includes different frame alteration commands to be performed on a packet. Pointers to indirect data bytes to be inserted in a packet are stored in the frame alteration instruction templates. The generated frame alteration instruction stream is used by hardware to provide frame alterations.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to the data processing field, and more particularly, relates to a method and apparatus for implementing frame alteration commands in a communications network processor. [0001]
  • DESCRIPTION OF THE RELATED ART
  • Network processing functions of a network processor must be performed at a high rate to avoid causing any bottleneck in the communications network. A processor and software typically handle frame alteration operations. [0002]
  • U.S. Pat. No. 6,546,021 to Albert Alfonse Slane, issued Apr. 8, 2003 and assigned to the present assignee, discloses a method and apparatus for user programmable packet to connection translation. When a data block is received, a protocol type for the received data block is identified based upon the media connection or port number for the received data block. A connection identification is formed utilizing a header of the received data block, responsive to the identified protocol type for the received data block. An instruction array is used with an arithmetic logic unit (ALU). Different code sequences are loaded into the instruction array based upon the user configured protocol type for a media connection or port number of the received data block. [0003]
  • A need exists for an improved mechanism for implementing frame alteration commands. It is desirable that such a mechanism that enables generating different frame alteration commands based upon different types of packets going over the same port or different ports and that is implemented in hardware to minimize software usage and processor overhead. [0004]
  • SUMMARY OF THE INVENTION
  • A principal object of the present invention is to provide a method and apparatus for implementing frame alteration commands in a communications network processor. Other important objects of the present invention are to provide such method and apparatus for implementing frame alteration commands in a communications network processor substantially without negative effect and that overcome some of the disadvantages of prior art arrangements. [0005]
  • In brief, a method and apparatus are provided for implementing frame alteration commands in a communications network processor. A set of frame alteration instruction templates is defined. A frame alteration instruction template is identified based upon the packet type recognition result of a received packet. A frame alteration instruction stream is generated utilizing the frame alteration instruction template. [0006]
  • In accordance with features of the invention, each of the frame alteration instruction templates includes different frame alteration commands to be performed on a packet. Pointers to indirect data bytes to be inserted in a packet are stored in the frame alteration instruction templates. The generated frame alteration instruction stream is used by hardware to provide frame alterations.[0007]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein: [0008]
  • FIG. 1 is a block diagram representation illustrating a network processor system for implementing frame alteration commands in accordance with the preferred embodiment; [0009]
  • FIG. 2 is a block diagram representation illustrating an exemplary hardware mechanism for implementing frame alteration commands in the network processor system of FIG. 1 in accordance with the preferred embodiment; and [0010]
  • FIG. 3 is a diagram illustrating an exemplary hardware logic implementation for performing frame alterations in the network processor system of FIG. 1 in accordance with the preferred embodiment.[0011]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Having reference now to the drawings, in FIG. 1, there is shown a network processor system generally designated by the [0012] reference character 100 for carrying out methods for implementing predefined actions based upon packet classification and lookup results of the preferred embodiment. As shown in FIG. 1, network processor system 100 includes a network processor 102. Network processor system 100 includes a control processor 104, and a dataflow processor 106 coupled by a network processor bus to dataflow assist hardware (HW) 108 of the preferred embodiment. The dataflow assist hardware (HW) 108 of the preferred embodiment is coupled to multiple network ports #1-N, 110 for communicating using various ones of known network protocols, such as, an Asynchronous Transfer Mode (ATM), Ethernet, and the like. In accordance with features of the preferred embodiment, a single or multiple different protocols can be used at each of the network ports #1-N, 110. Network processor system 100 includes an input/output (I/O) 112 coupled to peripheral devices. Network processor system 100 includes a system memory 114 including a dynamic random access memory (DRAM) 116.
  • [0013] Network processor 102 can be implemented with various standard processors, for example, with one of the PowerPC® line of processors manufactured by International Business Machines Corporation.
  • In accordance with features of the preferred embodiment, dataflow assist hardware (HW) [0014] 108 includes a hardware mechanism 200 and hardware logic 300, as illustrated and described with respect to FIGS. 2, and 3, for implementing frame alteration commands. Network processor 102 is enabled to effectively perform packet routing with hardware mechanism 200 and hardware logic 300 that iimplement a method for constructing frame alteration commands from a table within the hardware. Hardware mechanism 200 and hardware logic 300 enables routing multiple different kinds of packets for each network port 110 which can require different frame alteration commands and frame alteration data from either the packet, classification leafs, or direct bytes.
  • Referring now to FIGS. 2 and 3, the dataflow assist hardware (HW) [0015] 108 includes hardware mechanism 200 and hardware logic 300 for implementing frame alteration commands and performing frame alterations in the network processor system 100 in accordance with the preferred embodiment.
  • As shown in FIG. 2, [0016] hardware mechanism 200 includes a packet type recognition function 202 that recognizes packet types, and applies a template selection or pointer to a frame alteration instruction templates table 204. The frame alteration instruction templates table 204 holds different frame alteration commands that can be used for packet routing depending upon the type of packet classified by the packet type recognition function 202. For example, table 204 includes 32 entries or frame alteration instruction templates, each having different frame alteration commands to be performed on a packet. The template selection pointer produced by the packet type recognition function 202 determines a selected frame alteration instruction template 206.
  • Referring to FIG. 3, [0017] hardware logic 300 receives the selected frame alteration instruction template 206 including multiple bytes 0-N, 301 that is coupled to packet data 302, table lookup results 304, and memory 306 that includes registers within the dataflow assist hardware 108. The frame alteration instruction template 206 has the ability to get data from the original header data 302 along with data from classification leafs hit during a packet classification, for example, from table lookup results 304 and from memory 306. Each byte of frame alteration instruction template 206 in each entry has a mask 308 for creating frame alteration provided in a frame alteration instruction stream 310 via a selector 312. The mask 308 includes bits 0-N. A plurality of registers 0-N, 314 stores corresponding bytes 0-N of the generated frame alteration instruction stream 310
  • Each bit of [0018] mask 308 is used to select a byte from the frame alteration instruction template 206 or a byte pointed to by the frame alteration instruction template 206 in one or more of the packet data 302, table lookup results 304, and memory 306.
  • Each byte [0019] 0-N of the frame alteration instruction stream 310 can either be a direct byte taken from the table frame alteration instruction template 206 or an indirect byte provided from one or more of the packet data 302, table lookup results 304, and memory 306.
  • The frame [0020] alteration instruction stream 310 includes frame alteration commands and can contain bytes to be inserted in the packet. The packet and generated frame alteration instruction stream 310 are stored. The frame alteration instruction stream 310 is used by other dataflow assist hardware 108 to perform frame alterations.
  • As an example, consider a packet that is routed via an Internet Protocol (IP) address and is sent over an Ethernet-connection. Part of the IP classification at [0021] packet type recognition 202 will determine the Ethernet media access control (MAC) address of the node that the packet will be routed to next. This MAC address must replace the destination address (DA) associated with the Ethernet MAC address that the packet originally had when it arrived at the current node. The frame alteration instruction stream 310 provides commands and data for the frame alteration operations that are needed, such as: Overlay the first 6 bytes of the packet with the new MAC DA. The selected frame alteration instruction template 206 from the frame alteration command table 204 of the preferred embodiment is set up to specify one or more direct bytes representing the Op-code, position, and length of the overlay operation and one or more indirect bytes that point to the location of the MCA DA that was found during the classification process to generate a particular frame alteration instruction stream 310.
  • While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims. [0022]

Claims (18)

What is claimed is:
1. A method for implementing frame alteration commands in a communications network processor comprising the steps of:
defining a set of frame alteration instruction templates;
receiving a packet header and identifying a frame alteration instruction template from said set of frame alteration instruction templates based upon the packet type recognition result; and
generating a frame alteration instruction stream utilizing said frame alteration instruction template.
2. A method for implementing frame alteration commands as recited in claim 1 wherein the step of defining a set of frame alteration instruction templates includes the steps of storing a set of frame alteration instruction templates, each including a plurality of bytes 0-N.
3. A method for implementing frame alteration commands as recited in claim 2 includes the steps of storing different frame alteration commands to be performed on a packet in each of said frame alteration instruction templates.
4. A method for implementing frame alteration commands as recited in claim 2 includes the steps of storing pointers to indirect data bytes to be inserted in a packet in said frame alteration instruction templates.
5. A method for implementing frame alteration commands as recited in claim 4 wherein the step of storing pointers to indirect data bytes includes storing pointers to one or more of packet data; table lookup results; and memory.
6. A method for implementing frame alteration commands as recited in claim 1 wherein the step of generating said frame alteration instruction stream utilizing said frame alteration instruction template includes the steps of providing a selector coupled to said frame alteration instruction template, packet data; table lookup results; and memory, using a mask for selecting a direct byte from said frame alteration instruction template or an indirect byte provided from one or more of the packet data, table lookup results, and memory.
7. A method for implementing frame alteration commands as recited in claim 2 wherein the step of generating said frame alteration instruction stream utilizing said frame alteration instruction template includes the steps of generating said frame alteration instruction stream including said plurality of bytes 0-N.
8. A method for implementing frame alteration commands as recited in claim 1 wherein the step of generating said frame alteration instruction stream utilizing said frame alteration instruction template includes the steps of storing said generated frame alteration instruction stream.
9. A method for implementing frame alteration commands as recited in claim 1 wherein the step of generating said frame alteration instruction stream utilizing said frame alteration instruction template includes the steps of providing hardware logic for receiving said frame alteration instruction template and generating said frame alteration instruction stream.
10. Apparatus for implementing frame alteration commands in a communications network processor comprising the steps of:
a set of frame alteration instruction templates;
a packet type recognition function for receiving a packet header and identifying a frame alteration instruction template from said set of frame alteration instruction templates based upon the packet type recognition result; and
a frame alteration instruction stream generating logic utilizing said frame alteration instruction template for generating a frame alteration instruction stream.
11. Apparatus for implementing frame alteration commands as recited in claim 10 wherein each said frame alteration instruction template includes a plurality of bytes 0-N.
12. Apparatus for implementing frame alteration commands as recited in claim 10 wherein each said frame alteration instruction template stores one or more different frame alteration commands to be performed on a packet.
13. Apparatus for implementing frame alteration commands as recited in claim 10 wherein said frame alteration instruction template stores pointers to indirect data bytes to be inserted in a packet.
14. Apparatus for implementing frame alteration commands as recited in claim 10 wherein said frame alteration instruction template stores pointers to indirect data bytes including one or more pointers to packet data; table lookup results; and memory.
15. Apparatus for implementing frame alteration commands as recited in claim 10 wherein said frame alteration instruction stream generating logic includes a selector coupled to said frame alteration instruction template, packet data; table lookup results; and memory.
16. Apparatus for implementing frame alteration commands as recited in claim 15 further includes a mask for selecting a direct byte from said frame alteration instruction template or an indirect byte provided from one or more of the packet data, table lookup results, and memory.
17. Apparatus for implementing frame alteration commands as recited in claim 10 wherein said frame alteration instruction template and said frame alteration instruction stream include a plurality of bytes 0-N.
18. Apparatus for implementing frame alteration commands as recited in claim 17 wherein said frame alteration instruction stream generating logic includes a selector coupled to said frame alteration instruction template, packet data; table lookup results; and memory; a mask coupled to said selector for selecting a direct byte from said frame alteration instruction template or an indirect byte provided from one or more of the packet data, table lookup results, and memory; and aid mask including a plurality of bits 0-N.
US10/463,281 2003-06-17 2003-06-17 Method and hardware apparatus for implementing frame alteration commands Expired - Fee Related US7362753B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/463,281 US7362753B2 (en) 2003-06-17 2003-06-17 Method and hardware apparatus for implementing frame alteration commands
US12/044,998 US7961732B2 (en) 2003-06-17 2008-03-09 Method and hardware apparatus for implementing frame alteration commands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/463,281 US7362753B2 (en) 2003-06-17 2003-06-17 Method and hardware apparatus for implementing frame alteration commands

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/044,998 Continuation US7961732B2 (en) 2003-06-17 2008-03-09 Method and hardware apparatus for implementing frame alteration commands

Publications (2)

Publication Number Publication Date
US20040258057A1 true US20040258057A1 (en) 2004-12-23
US7362753B2 US7362753B2 (en) 2008-04-22

Family

ID=33517072

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/463,281 Expired - Fee Related US7362753B2 (en) 2003-06-17 2003-06-17 Method and hardware apparatus for implementing frame alteration commands
US12/044,998 Expired - Fee Related US7961732B2 (en) 2003-06-17 2008-03-09 Method and hardware apparatus for implementing frame alteration commands

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/044,998 Expired - Fee Related US7961732B2 (en) 2003-06-17 2008-03-09 Method and hardware apparatus for implementing frame alteration commands

Country Status (1)

Country Link
US (2) US7362753B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193334A1 (en) * 2004-02-26 2005-09-01 Seiko Epson Corporation Layout system, layout apparatus, layout program, template selection program, storage medium having stored therein layout program, and storage medium having stored therein template selection program, as well as layout method
US7822875B1 (en) * 2006-12-22 2010-10-26 Marvell International Ltd. Method for flexible modifications to a packet

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7570629B1 (en) * 2004-06-21 2009-08-04 Nortel Network Limited Distribution of packets to multiple addresses

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157641A (en) * 1997-08-22 2000-12-05 Cisco Technology, Inc. Multiprotocol packet recognition and switching
US20030043823A1 (en) * 2001-08-29 2003-03-06 Alcatel Router
US20040003110A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing frame header alterations
US20040001484A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing alterations on multiple concurrent frames
US20040001486A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing frame header alterations using byte-wise arithmetic logic units
US20040156368A1 (en) * 2003-02-11 2004-08-12 International Business Machines Corporation Frame alteration logic for network processors
US6904057B2 (en) * 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US7133931B1 (en) * 2000-01-07 2006-11-07 International Business Machines Corporation Method and system for making a frame alteration in a network processing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617332B2 (en) 2003-05-01 2009-11-10 International Business Machines Corporation Method and apparatus for implementing packet command instructions for network processing
US7660908B2 (en) 2003-05-01 2010-02-09 International Business Machines Corporation Implementing virtual packet storage via packet work area
US7240166B2 (en) 2003-05-01 2007-07-03 International Business Machines Corporation Method and apparatus for implementing packet work area accesses and buffer sharing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157641A (en) * 1997-08-22 2000-12-05 Cisco Technology, Inc. Multiprotocol packet recognition and switching
US7133931B1 (en) * 2000-01-07 2006-11-07 International Business Machines Corporation Method and system for making a frame alteration in a network processing system
US6904057B2 (en) * 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US20030043823A1 (en) * 2001-08-29 2003-03-06 Alcatel Router
US20040003110A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing frame header alterations
US20040001484A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing alterations on multiple concurrent frames
US20040001486A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing frame header alterations using byte-wise arithmetic logic units
US7218647B2 (en) * 2002-06-27 2007-05-15 International Business Machines Corporation Method and apparatus for implementing frame header alterations
US20040156368A1 (en) * 2003-02-11 2004-08-12 International Business Machines Corporation Frame alteration logic for network processors

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193334A1 (en) * 2004-02-26 2005-09-01 Seiko Epson Corporation Layout system, layout apparatus, layout program, template selection program, storage medium having stored therein layout program, and storage medium having stored therein template selection program, as well as layout method
US7822875B1 (en) * 2006-12-22 2010-10-26 Marvell International Ltd. Method for flexible modifications to a packet
US20110022732A1 (en) * 2006-12-22 2011-01-27 Marvell International Ltd. Method for flexible modifications to a packet
US8131877B2 (en) 2006-12-22 2012-03-06 Marvell International Ltd. Method for flexible modifications to a packet

Also Published As

Publication number Publication date
US7362753B2 (en) 2008-04-22
US7961732B2 (en) 2011-06-14
US20080162893A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
US20030007489A1 (en) Data extraction system for packet analysis
JP3643507B2 (en) Packet processing apparatus and packet processing method
US20080198853A1 (en) Apparatus for implementing actions based on packet classification and lookup results
US8867395B2 (en) Accelerating data packet parsing
US7835375B2 (en) Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US7248585B2 (en) Method and apparatus for a packet classifier
US7254632B2 (en) Apparatus and method for pattern matching in text based protocol
US6892237B1 (en) Method and apparatus for high-speed parsing of network messages
US7599364B2 (en) Configurable network connection address forming hardware
US8024787B2 (en) Packet firewalls of particular use in packet switching devices
CA2432322A1 (en) Packet encrypton system and method
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
CN113438252B (en) Message access control method, device, equipment and storage medium
US7937495B2 (en) System and method for modifying data transferred from a source to a destination
US20210185153A1 (en) Hybrid Fixed/Programmable Header Parser for Network Devices
US7961732B2 (en) Method and hardware apparatus for implementing frame alteration commands
US7280541B2 (en) Packet filtering based on conditional expression table
US8730961B1 (en) System and method for optimizing router lookup
US7757006B2 (en) Implementing conditional packet alterations based on transmit port
US7756921B2 (en) Programmable packet field replacement based on a range technique
JP4423728B2 (en) Data transmission apparatus and method
JPH06276198A (en) Packet switchboard
JP2002077291A (en) Header-processing method

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:IRISH, JOHN DAVID;OUDA, IBRAHIM ABDEL-RAHMAN;STEENBURGH, JAMES A.;AND OTHERS;REEL/FRAME:014199/0132;SIGNING DATES FROM 20030605 TO 20030616

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 4

SULP Surcharge for late payment
REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20160422