CPC H04L 47/125 (2013.01) [H04L 47/28 (2013.01); H04L 49/103 (2013.01)] | 25 Claims |
1. A method of distributing packets over multiple paths, the method comprising:
receiving a packet at a processing thread;
performing a lookup function for the packet to determine a selected path among the plurality of paths to which the packet is to be transmitted;
performing a hash function for the packet to determine a flow record address for the packet;
issuing a memory instruction to a memory controller, the memory instruction including the flow record address and a path value indicating the selected path;
obtaining a current time associated with the packet;
accessing a flow record according to the flow record address to retrieve a timestamp of a previous packet;
determining an elapsed time between the packet and the previous packet based on a difference between the current time and the timestamp; and
determining, based on a comparison of the elapsed time and an inter-packet gap threshold, whether to transmit the packet over the selected path or a previously selected path associated with the previous packet.
|