Patent ID: 8503459

Claim:
A method for distributing flows of network traffic across a plurality of packet processing engines executing on a corresponding core of a multi-core device, the method comprising: (a) receiving, by a flow distributor of the multi-core device intermediary to a plurality of clients and a plurality of servers, a first packet of a first flow of network traffic between a first client of the plurality of clients and a first server of a plurality of servers, the first flow identified by application information of the first packet; (b) assigning, by the flow distributor, the first packet of the first flow to a first core of the multi-core device executing a first packet processing engine of the plurality of packet processing engines executed by the multi-core device, responsive to identifying the first flow based on the application information of the first packet; (c) distributing, by the flow distributor, the first packet to the first core, responsive to the assignment; (d) distributing, by the flow distributor, a second packet of a second flow of network traffic between a second client and a second server to a second core executing a second packet processing engine of the plurality of packet processing engines, responsive to identifying the second flow based on application information of the second packet; and (e) determining, by the flow distributor, to distribute to the first core a third packet received by the flow distributor from a received side scaler (RSS) of the multi-core device for the first flow of network traffic and distributed by the RSS to a third core of the multi-core device, responsive to identifying the first flow based on application information of the third packet, and redistributing the third packet to the first core.