Flexible and extensible receive side scaling
First Claim
Patent Images
1. A computer implemented method for distributing packets across a plurality of processors of a computer, said method comprising:
- in response to receiving a packet, looking up a packet characteristic in one of at least one protocol table stored on a computer readable memory to determine one or more fields of the packet to use as a hash value;
applying a hash function to the hash value to obtain a hash result;
using the hash result to determine one of said plurality of processors on which to process the packet; and
transmitting said packet to said determined one of said plurality of processors.
0 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a method is provided. The method of this embodiment provides in response to receiving a packet, looking up a packet characteristic in one of at least one protocol table to determine one or more fields of the packet to use as a hash value, applying a hash function to the hash value to obtain a hash result, and using the hash result to determine one of a plurality of processors on which to process the packet.
-
Citations
22 Claims
-
1. A computer implemented method for distributing packets across a plurality of processors of a computer, said method comprising:
-
in response to receiving a packet, looking up a packet characteristic in one of at least one protocol table stored on a computer readable memory to determine one or more fields of the packet to use as a hash value; applying a hash function to the hash value to obtain a hash result; using the hash result to determine one of said plurality of processors on which to process the packet; and transmitting said packet to said determined one of said plurality of processors. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for distributing packets across a plurality of processors, said apparatus comprising:
-
a computer comprising said plurality of processors; and logic configured to run on said computer, said logic configured to; in response to receiving a packet, look up a packet characteristic in one of at least one protocol table stored on a computer readable memory to determine one or more fields of the packet to use as a hash value; apply a hash function to the hash value to obtain a hash result; and use the hash result to determine one of said plurality of processors on which to process the packet; and transmit said packet to said determined one of said plurality of processors. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system comprising:
a circuit card that is capable of being coupled to a circuit board via a circuit card slot of said circuit board, the circuit card including logic operable to; in response to receiving a packet, look up a packet characteristic in one of at least one protocol table to determine one or more fields of the packet to use as a hash value; in response to receiving a packet, look up a packet characteristic in one of at least one protocol table to determine one or more fields of the packet to use as a hash value apply a hash function to the hash value to obtain a hash result; and use the hash result to determine one of a plurality of processors on which to process the packet. - View Dependent Claims (14, 15, 16, 17)
-
18. A system comprising:
-
a plurality of processors; a plurality of receive queues, each of said plurality of receive queues associated with only one of said plurality of processors; and a circuit card configured to receive a packet, the circuit card including logic operable to; in response to receiving a packet, look up a packet characteristic in one of at least one protocol table to determine one or more fields of the packet to use as a hash value; apply a hash function to the hash value to obtain a hash result; use the hash result to determine one of said plurality of processors on which to process the packet; and transmitting said packet to a receive queue associated with said determined one of said plurality of processors. - View Dependent Claims (19, 20, 21, 22)
-
Specification