Back to results
US 7,460,473 B1Granted
Network receive interface for high bandwidth hardware-accelerated packet processing
AssigneeiStor Networks, Inc.
InventorsJean Kodama, Li Xu
Life of this patent
Estimating the term…
Abstract
Disclosed is a system and methods for accelerating network packet processing for devices configured to process network traffic at relatively high data rates. The system incorporates a hardware-accelerated packet processing module that handles in-sequence network packets and a software-based processing module that handles out-of-sequence and exception case network packets.
Claims31
A system for network packet processing comprising:
- a packet reception subsystem configure to receive network packets comprising common case network packets and non-common case network packets;
- a fast-path acceleration subsystem configured to process the common case network packets using a hardware acceleration component;
- and
- a slow-path subsystem configured to process the non-common case network packets using software-based code executed on one or more general purpose processors;
- wherein the fast path acceleration subsystem is configured to operate at approximately line rate and avoid stalls while processing packets in a pipelined manner and wherein stalls in network processing through the fast-path acceleration subsystem are avoided, in part, using network packet buffering components configured with rewind and fast-forward mechanisms to remove network packets containing errors or other exceptions during continuous operation at approximately line rate.
2 more elements
A system for network packet processing comprising:
- a packet reception subsystem configure to receive network packets comprising common case network packets and non-common case network packets;
- a fast-path acceleration subsystem configured to process the common case network packets using a hardware acceleration component;
- and
- a slow-path subsystem configured to process the non-common case network packets using software-based code executed on one or more general purpose processors;
- wherein, the fast-past and slow-path subsystems are configured to operate with a plurality of networking protocols selected from the group consisting of:
- Transmission Control Protocol/Internet Protocol (TCP/IP), Small Computer Systems Interface over TCP/IP (iSCSI), User Datagram Protocol (UDP), Stream Control Transmission Protocol (SCTP), Internet Wide Area Remote Direct Memory Access Protocol (iWARP), Service Delivery Protocol (SDP), and Datagram Delivery Protocol (DDP).
3 more elements
A system for network packet processing applying a hardware pipelining approach, the system comprising:
- at least one pre-classifier module, assigned for at least one network port receiving incoming network packet streams, the at least one pre-classifier module used to partially parse and validate the incoming network packet streams;
- a parser module configured to parse the incoming network packet streams to demarcate packet boundaries for one or more network protocol segments contained within the network packet streams, the parser module further configured to categorize network packets for processing in a hardware-accelerated fast path if the network packets are identified as being in-sequence or a software-assisted slow-path if the network packets are identified as being out-of-sequence;
- an ingress buffer queue associated with the at least one network port configured to buffer incoming network packets while they are validated;
- a dispatcher module configured to dispatch information extracted from the network packets to packet processing and protocol processing components according to whether the network packets are to be processed by the hardware-accelerated fast path or the software-assisted slow path;
- and
- a packet processor configured to process the network packets and determine at which location in an application memory area data contained within the network packets should be deposited, the packet processor further configured to effectuate the deposition of the data contained within the network packets into the identified location.
3 more elements
Dependencies are inferred from the claim text.