TCP/UDP acceleration
First Claim
Patent Images
1. A digital processing system for processing data packets in at least one data network, said system comprising:
- a first resource card, comprising;
a receiving module, wherein the receiving module;
receives packets from the data network; and
executes a lookup in a forwarding database for an entry corresponding to each received packet; and
a first processing module, wherein the first processing module;
receives packets from the receiving module having corresponding entries in the forwarding database;
executes a lookup in a flow database for a corresponding flow ID for those packets having corresponding entries in the forwarding database; and
inserts corresponding flow IDs into the packets; and
a second resource card operatively interconnected to the first resource card by a switching fabric, wherein the first processing module forwards packets having corresponding flow IDs to the second resource card, wherein the second resource card comprises;
a first stack for performing a first type of packet processing with a first number of processing steps;
a slow path processing engine associated with the first stack;
a second stack for performing a second type of packet processing that comprises a second number of processing steps wherein the second number of processing steps is less than the first number of processing steps; and
a fast path processing engine associated with the second stack, wherein the fast path processing engine receives packets having corresponding flow IDs from the first processing module and determines whether the received packets correspond to the first or second types of packet processing, wherein the fast path processing engine injects packets that correspond to the first type of packet processing into the first stack and processes packets that correspond to the second type of packet processing according to the second stack.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for accelerating TCP/UDP packet switching. The method involves determining whether exception processing is necessary; if not, the packet is forwarded to a special stack for expedited processing. Packets requiring exception processing are forwarded to the conventional stack.
-
Citations
16 Claims
-
1. A digital processing system for processing data packets in at least one data network, said system comprising:
-
a first resource card, comprising; a receiving module, wherein the receiving module; receives packets from the data network; and executes a lookup in a forwarding database for an entry corresponding to each received packet; and a first processing module, wherein the first processing module; receives packets from the receiving module having corresponding entries in the forwarding database; executes a lookup in a flow database for a corresponding flow ID for those packets having corresponding entries in the forwarding database; and inserts corresponding flow IDs into the packets; and a second resource card operatively interconnected to the first resource card by a switching fabric, wherein the first processing module forwards packets having corresponding flow IDs to the second resource card, wherein the second resource card comprises; a first stack for performing a first type of packet processing with a first number of processing steps; a slow path processing engine associated with the first stack; a second stack for performing a second type of packet processing that comprises a second number of processing steps wherein the second number of processing steps is less than the first number of processing steps; and a fast path processing engine associated with the second stack, wherein the fast path processing engine receives packets having corresponding flow IDs from the first processing module and determines whether the received packets correspond to the first or second types of packet processing, wherein the fast path processing engine injects packets that correspond to the first type of packet processing into the first stack and processes packets that correspond to the second type of packet processing according to the second stack. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A digital processing system for processing data packets in at least one data network, said system comprising:
-
a first resource card, comprising; a receiving module, wherein the receiving module; receives packets from the data network; and executes a lookup in a forwarding database for an entry corresponding to each received packet; and a first processing module, wherein the first processing module; receives packets from the receiving module having corresponding entries in the forwarding database; executes a lookup in a flow database for a corresponding flow ID for those packets having corresponding entries in the forwarding database; and inserts corresponding flow IDs into the packets; and a second resource card operatively interconnected to the first resource card by a switching fabric, wherein the first processing module forwards packets having corresponding flow IDs to the second resource card, wherein the second resource card comprises; a first stack for performing a first type of packet processing that comprises a plurality of processing tasks; a slow path processing engine associated with the first stack; a second stack for performing a second type of packet processing that comprises at least one processing task, wherein the at least one processing task of the second type of packet processing is different than at least one processing task of the plurality of processing tasks of the first type of packet processing; and a fast path processing engine associated with the second stack, wherein the fast path processing engine receives packets having corresponding flow IDs from the first processing module and determines whether the received packets correspond to the first or second types of packet processing, wherein the fast path processing engine injects packets that correspond to the first type of packet processing into the first stack and processes packets that correspond to the second type of packet processing according to the second stack.
-
-
16. A digital processing system for processing data packets in at least one data network, said system comprising:
-
a first resource card, comprising; a receiving module, wherein the receiving module; receives packets from the data network; and executes a lookup in a forwarding database for an entry corresponding to each received packet; and a first processing module, wherein the first processing module; receives packets from the receiving module having corresponding entries in the forwarding database; executes a lookup in a flow database for a corresponding flow ID for those packets having corresponding entries in the forwarding database; and inserts corresponding flow IDs into the packets; and a second resource card operatively interconnected to the first resource card by a switching fabric, wherein the first processing module forwards packets having corresponding flow IDs to the second resource card, wherein the second resource card comprises; a first stack for performing a first type of processing over a first duration of time; a slow path processing engine associated with the first stack; a second stack for performing a second type of processing over a second duration of time, wherein the second duration of time is shorter than the first duration of time; and a fast path processing engine associated with the second stack, wherein the fast path processing engine receives packets having corresponding flow IDs from the first processing module and determines whether the received packets correspond to the first type of processing or the second type of processing, wherein the fast path processing engine injects packets that correspond to the first type of processing into the first stack and processes packets that correspond to the second type of processing according to the second stack.
-
Specification