A method and apparatus for in-line processing a data packet while routing the packet through a router in a system transmitting data packets between a source and a destination over a network including the router. The method includes receiving the data packet and pre-processing layer header data for t
A method and apparatus for in-line processing a data packet while routing the packet through a router in a system transmitting data packets between a source and a destination over a network including the router. The method includes receiving the data packet and pre-processing layer header data for the data packet as the data packet is received and prior to transferring any portion of the data packet to packet memory. The data packet is thereafter stored in the packet memory. A routing through the router is determined including a next hop index describing the next connection in the network. The data packet is retrieved from the packet memory and a new layer header for the data packet is constructed from the next hop index while the data packet is being retrieved from memory. The new layer header is coupled to the data packet prior to transfer from the router.
대표청구항▼
1. A device, comprising: one or more processors, at least partially implemented in hardware, to: determine information identifying a destination of a data packet;receive the data packet, the data packet being received at a multiport of the device, andthe data packet including a plurality of headers;
1. A device, comprising: one or more processors, at least partially implemented in hardware, to: determine information identifying a destination of a data packet;receive the data packet, the data packet being received at a multiport of the device, andthe data packet including a plurality of headers;retrieve a plurality of templates associated with the plurality of headers, the plurality of templates including a common template and a custom template;modify the data packet based on the information and based on retrieving the plurality of templates, the data packet being modified while the data packet is being received; andtransmit, via a transmitter, the data packet toward the destination after modifying the data packet, the one or more processors comprising the transmitter. 2. The device of claim 1, where the one or more processors are further to: divide the data packet into a plurality of portions based on receiving the data packet, each portion, of the plurality of portions, being of a particular length; andprovide the plurality of portions to a switch via an interface. 3. The device of claim 1, where the one or more processors are further to: examine a first header, of the plurality of headers, for one or more first errors based on receiving the data packet, the one or more first errors including at least one of: an unrecognized header format; oran unconfigured connection. 4. The device of claim 3, where the one or more processors are further to: store the data packet in a queue after examining the first header; andexamine a second header for one or more second errors while storing the data packet in the queue, the one or more second errors including at least one of: a checksum error;a packet length error; ora second header error. 5. The device of claim 1, where the one or more processors, when modifying the data packet, are to: remove a first header, of the plurality of headers, from the data packet;construct a new first header based on the plurality of templates; andmodify a second header, of the plurality of headers, in the data packet. 6. The device of claim 1, where: the common template is associated with a common portion of a first header of the plurality of headers; andthe custom template is associated with a unique portion of the first header. 7. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors, cause the one or more processors to: determine information identifying a destination of a packet;receive the packet, the packet including a plurality of headers;retrieve a plurality of templates associated with the plurality of headers, the plurality of templates including a common template and a custom template;modify the packet based on the information and based on retrieving the plurality of templates, the packet being modified while the packet is being received; andtransmit the packet toward the destination after modifying the packet. 8. The non-transitory computer-readable medium of claim 7, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: receive a route look-up request;perform a match look-up based on receiving the route look-up request; andprovide the information based on performing the match look-up, the information identifying a multiport to be used to transmit the packet toward the destination. 9. The non-transitory computer-readable medium of claim 7, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: receive offset information, the offset information being derived from a header of the plurality of headers;determine that the offset information is greater than a data size;determine that overflow data is to be stored based on the offset information being greater than the data size; andstore the overflow data in an overflow queue based on determining that the overflow data is to be stored. 10. The non-transitory computer-readable medium of claim 7, where the one or more instructions, that cause the one or more processors to modify the packet, cause the one or more processors to: remove a first header, of the plurality of headers, from the packet;detect a start of a second header, of the plurality of headers, in the packet;examine the second header for errors;attach a new first header to the packet; andupdate the second header. 11. The non-transitory computer-readable medium of claim 7, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: divide the packet into a plurality of portions based on receiving the packet, a portion, of the plurality of portions, being of a particular length; andprovide the plurality of portions to a switch via an interface. 12. The non-transitory computer-readable medium of claim 11, where the particular length of the portion is 80 bytes, and where the portion includes control information and data, the control information being 16 bytes, andthe data being 64 bytes. 13. The non-transitory computer-readable medium of claim 7, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: examine a first header, of the plurality of headers, for one or more first errors based on receiving the packet, the one or more first errors including at least one of: an unrecognized header format; oran unconfigured connection. 14. The non-transitory computer-readable medium of claim 13, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: store the packet in a queue after examining the first header; andexamine a second header for one or more second errors while storing the packet in the queue, the one or more second errors include at least one of: a checksum error;a packet length error; ora second header error. 15. A method, comprising: determining, by a device, information identifying a destination of a packet;receiving, by the device, the packet, the packet including a plurality of headers;retrieving, by the device, a plurality of templates associated with the plurality of headers, the plurality of templates including a common template and a custom template;modifying, by the device, the packet based on the information and based on retrieving the plurality of templates, the packet being modified while the packet is being received; andtransmitting, by the device, the packet toward the destination after modifying the packet. 16. The method of claim 15, where modifying the packet comprises: removing a first header, of the plurality of headers, from the packet;constructing a new first header based on the plurality of templates; andmodifying a second header, of the plurality of headers, in the packet. 17. The method of claim 15, where: the common template is associated with a common portion of a first header of the plurality of headers; andthe custom template is associated with a unique portion of the first header. 18. The method of claim 15, further comprising: receiving a route look-up request;performing a match look-up based on receiving the route look-up request; andproviding the information based on performing the match look-up, the information identifying a multiport to be used to transmit the packet toward the destination. 19. The method of claim 15, further comprising: receiving offset information, the offset information being derived from a header of the plurality of headers;determining that the offset information is greater than a data size based on receiving the offset information;determining that overflow data is to be stored based on the offset information being greater than the data size; andstoring the overflow data in an overflow queue based on determining that the overflow data is to be stored. 20. The method of claim 15, where modifying the packet comprises: removing a first header, of the plurality of headers, from the packet;detecting a start of a second header, of the plurality of headers, in the packet;examining the second header for errors;attaching a new first header to the packet; andupdating the second header.
Fichou Aline,FRX ; Fdida Serge,FRX ; Galand Claude,FRX ; Marin Gerald Arnold ; Onvural Raif O. ; Vu Ken Van, ATM network congestion control system using explicit rate cell marking.
Casper Daniel F. (Poughkeepsie NY) Flanagan John R. (Staatsburg NY) Gregg Thomas A. (Highland NY) Huang Catherine C. (Poughkeepsie NY) Kalos Matthew J. (Tucson AZ), Apparatus for decoding frames from a data link.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; McGuire, Jacob Mark; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Cascading multiple services on a forwarding agent.
Chiappa J. Noel (708 E. Woodland Dr. Grafton VA 23692), Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to se.
Muller Shimon ; Yeung Louise ; Hendel Ariel, Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Distribution of network services among multiple service managers without client involvement.
Brodnik Andrej,SIX ; Degermark Mikael,SEX ; Carlsson Svante,SEX ; Pink Stephen,SEX, Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Handling packet fragments in a distributed network service environment.
Morrissey Douglas E. (Exton PA) Cavanagh ; Jr. Edward T. (Norristown PA) Ng Kin H. (Glenmoore PA), I/O subsystem with header and error detection code generation and checking.
Fuhrmann Amir Michael ; Rakib Selim Shlomo ; Azenkot Yehuda, Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant.
Angle Richard (Wellesley MA) Ladwig Geoffrey (Worcester MA), Method and apparatus for a delayed replace mechanism for a streaming packet modification engine.
Doidge Dennis Albert ; Ervin Jim P. ; Henderson Douglas Ray ; Ku Edward Hau-chun ; Patel Pramod Narottambhai ; Reiss Loren Blair ; Ryle Thomas Eric ; Rash Joseph M., Method and apparatus for hardware forwarding of LAN frames over ATM networks.
van Ooijen Gijsbertus G. (Eemnes NLX) Verbeek Robert J. M. (Hoevelaken NLX), Method and apparatus for privacy of traffic behavior on a shared medium network.
Galand Claude,FRX ; Lebizay Gerald,FRX ; Spagnol Victor,FRX, Method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environmen.
Coss Michael John ; Majette David L. ; Sharp Ronald L., Methods and apparatus for a computer network firewall with dynamic rule processing with the ability to dynamically alter the operations of rules.
Baum Richard I. (Poughkeepsie NY) Brotman Charles H. (Poughkeepsie NY) Rymarczyk James W. (Poughkeepsie NY), Multiprocessing packet switching connection system having provision for error correction and recovery.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; McGuire, Jacob Mark; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Network address translation using a forwarding agent.
Hughes James P. ; Olson Steve A., Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; McGuire, Jacob Mark; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming; Wong, Bruce, Proxying and unproxying a connection using a forwarding agent.
Opher Ayal (Mountain View CA) Garg Gaurav (Mountain View CA) Kruzinski Philip (Redwood City CA) Sikdar Som (San Jose CA), Routing device utilizing an ATM switch as a multi-channel backplane in a communication network.
Albert,Mark; Howes,Richard A.; Jordan,James A.; Kersey,Edward A.; Menditto,Louis F.; O'Rourke,Chris; Tiwari,Pranav Kumar; Tsang,Tzu Ming, Sending instructions from a service manager to forwarding agents on a need to know basis.
Sindhu,Pradeep S.; Kompella,Kireeti; Ferguson,Dennis C.; Liencres,Bjorn O.; Agarwal,Nalini; Ju,Hann Hwan; Lim,Raymond Marcelino Manese; Oskouy,Rasoul Mirzazadeh; Veeragandham,Sreeram, Separation of data and control in a switching device.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Wong, Bruce F., Stateful failover of service managers.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward C.; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Synchronizing service instructions among forwarding agents using a service manager.
Poole, Nigel T.; Brown, IV, Joseph H.; Nolan, Scott William; Spinney, Barry A.; Szmauz, Richard L., System and process for flexible queuing of data packets in network switching.
Hussain, Muhammad R.; Badr, Imran; Masood, Faisal; Dickinson, Philip H.; Kessler, Richard E.; Katz, Daniel A.; Bertone, Michael S.; Sanzone, Robert A.; Hummel, Thomas F.; Bouchard, Gregg A., TCP engine.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.