METHOD AND APPARATUS FOR PACKET PROCESSING AND A PREPROCESSOR
First Claim
Patent Images
1. An apparatus for packet processing, the apparatus to be implemented in a server, the apparatus comprising:
- a preprocessor; and
at least two processors respectively connected with the preprocessor;
wherein the preprocessor is to classify packets received at an external interface of the server, and to distribute the classified packets to the respective processors, wherein packets in a same flow are distributed to a same processor, and wherein each of the processors is to receive and process a packet distributed to the processors by the preprocessor.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for packet processing is provided. The apparatus is to be implemented in a server and includes: a preprocessor and at least two processors which are respectively connected with the preprocessor. The preprocessor is to classify packets received externally from the server, and to distribute the classified packets to the respective processors, wherein packets in a same flow are distributed to a same processor. Each of the processors is to receive and process a packet distributed by the preprocessor.
-
Citations
15 Claims
-
1. An apparatus for packet processing, the apparatus to be implemented in a server, the apparatus comprising:
-
a preprocessor; and at least two processors respectively connected with the preprocessor; wherein the preprocessor is to classify packets received at an external interface of the server, and to distribute the classified packets to the respective processors, wherein packets in a same flow are distributed to a same processor, and wherein each of the processors is to receive and process a packet distributed to the processors by the preprocessor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for packet processing, said method to be implemented in a server comprising a preprocessor and at least two processors respectively connected with the preprocessor, the method comprising:
-
receiving, by the preprocessor, a packet from an external interface of the server; classifying, by the preprocessor, the packet; and distributing, by the preprocessor, the classified packet to a processor among the at least two processors, wherein packets in a same flow are distributed to the same processor. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A preprocessor to be implemented in a server, said server comprising the preprocessor and at least two processors respectively connected with the preprocessor, the preprocessor comprising:
-
a packet receiving module; a packet processing module; a flow classifying module; and a flow table maintaining module; wherein the packet receiving module is to receive packets from an external interface of the server, to send a fragmented packet among the received packets to the packet processing module, and to send a non-fragmented packet among the received packets to the flow classifying module; wherein the packet processing module is to; record when the fragmented packet is the first fragment of the fragmented packet, quintuple information and Internet Protocol Identity (IPID) information of the first fragment, and to send the first fragment to the flow classifying module; when the fragmented packet is a subsequent fragment, to obtain Source PORT (SPORT) and Destination PORT (DPORT) information corresponding to quintuple information of the subsequent fragment, and if the SPORT and DPORT information is obtained, to send the subsequent fragment and the SPORT and DPORT information obtained to the flow classifying module, and if no SPORT and DPORT information is obtained, to buffer the subsequent fragment and continue obtaining the SPORT and DPORT information, and to send the subsequent fragment and the SPORT and DPORT information obtained to the flow classifying module when the SPORT and DPORT information is obtained; wherein the flow classifying module is to receive quintuple information of a packet sent by the packet receiving module and quintuple information of a packet sent by the packet processing module to the flow table maintaining module, to receive a processor identifier corresponding to quintuple information of a packet from the flow table maintaining module, and to send the packet to a processor corresponding to the processor identifier received; wherein the flow table maintaining module is to receive the quintuple information of a packet sent by the flow classifying module, to query whether there is a flow table entry corresponding to the quintuple information of the packet; if the flow table entry exists, to obtain the processor identifier in the flow table entry and to send the processor identifier to the flow classifying module; if the flow table entry does not exist, to create a flow table entry according to the quintuple information of the packet sent by the flow classifying module, wherein the flow table entry comprises the quintuple information of the packet and the processor identifier of the processor for processing the packet. - View Dependent Claims (15)
-
Specification