Function for directing packets
First Claim
Patent Images
1. A method, comprising:
- receiving a key, wherein a value is capable of being generated from the key and an input string corresponding to a packet;
computing intermediary values based on substrings of the key and substrings of the input string;
storing the intermediary values in a data structure at boot time, wherein the stored intermediary values are capable of being used to generate the value;
receiving the input string;
performing exclusive OR operations on selected intermediary values based on bits in the received input string;
computing the value by aggregating results obtained from the stored intermediary values in the data structure, subsequent to the performing of the exclusive OR operations; and
queuing the packet corresponding to the received input string to a corresponding processor of a plurality of processors, wherein the queuing of the packet is based on the value, wherein the key is a secret key generated by an operating system, and wherein the receiving, computing, and storing are performed by an application in a computational platform including a network interface hardware that does not provide support for receive side scaling.
1 Assignment
0 Petitions
Accused Products
Abstract
In certain embodiments, a key is received, wherein a value is capable of being generated from the key and an input string corresponding to a packet. Intermediary values are computed based on substrings of the key and substrings of the input string. The intermediary values are stored in a data structure, wherein the stored intermediary values are capable of being used to generate the value.
-
Citations
20 Claims
-
1. A method, comprising:
-
receiving a key, wherein a value is capable of being generated from the key and an input string corresponding to a packet; computing intermediary values based on substrings of the key and substrings of the input string; storing the intermediary values in a data structure at boot time, wherein the stored intermediary values are capable of being used to generate the value; receiving the input string; performing exclusive OR operations on selected intermediary values based on bits in the received input string; computing the value by aggregating results obtained from the stored intermediary values in the data structure, subsequent to the performing of the exclusive OR operations; and queuing the packet corresponding to the received input string to a corresponding processor of a plurality of processors, wherein the queuing of the packet is based on the value, wherein the key is a secret key generated by an operating system, and wherein the receiving, computing, and storing are performed by an application in a computational platform including a network interface hardware that does not provide support for receive side scaling. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a memory; a network interface hardware coupled to the memory, wherein the network interface hardware does not provide hardware support for receive side scaling; and circuitry coupled to the memory, wherein the circuitry is operable to; receive a key, wherein a value is capable of being generated from the key and an input string corresponding to a packet; compute intermediary values based on substrings of the key and substrings of the input string; store the intermediary values in a data structure at boot time, wherein the stored intermediary values are capable of being used to generate the value; receive the input string; perform exclusive OR operations on selected intermediary values based on bits in the received input string; compute the value by aggregating results obtained from the intermediary values stored in the data structure, subsequent to the performing of the exclusive OR operations; and queue the packet corresponding to the received input string to a corresponding processor of a plurality of processors, wherein the value is used to queue the packet, wherein the key is a secret key generated by an operating system, and wherein reception of the key, computation of the intermediary values, and storage of the intermediary values are performed by an application coupled to the operating system. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system, comprising:
-
a computational platform; a storage controller implemented in the computational platform; a network interface hardware coupled to the memory, wherein the network interface hardware does not provide hardware support for receive side scaling; memory implemented in the computational platform; and circuitry coupled to the memory, wherein the circuitry is operable to; receive a key, wherein a value is capable of being generated from the key and an input string corresponding to a packet; compute intermediary values based on substrings of the key and substrings of the input string; store the intermediary values in a data structure at boot time, wherein the stored intermediary values are capable of being used to generate the value; receive the input string; perform exclusive OR operations on selected intermediary values based on bits in the received input string; compute the value by aggregating results obtained from the intermediary values stored in the data structure, subsequent to the performing of the exclusive OR operations; and queue the packet corresponding to the received input string to a corresponding processor of a plurality of processors, wherein the value is used to queue the packet, wherein the key is a secret key generated by an operating system, and wherein reception of the key, computation of the intermediary values, and storage of the intermediary values are performed by an application coupled to the operating system. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An article of manufacture, comprising a storage medium having stored therein instructions capable of being executed by a machine to:
-
receive a key, wherein a value is capable of being generated from the key and an input string corresponding to a packet; compute intermediary values based on substrings of the key and substrings of the input string; store the intermediary values in a data structure at boot time, wherein the stored intermediary values are capable of being used to generate the value; receive the input string; perform exclusive OR operations on selected intermediary values based on bits in the received input string; compute the value by aggregating results obtained from the intermediary values stored in the data structure, subsequent to the performing of the exclusive OR operations; and queue the packet corresponding to the received input string to a corresponding processor of a plurality of processors, wherein the value is used to queue the packet, wherein the key is a secret key generated by an operating system, and wherein reception of the key, computation of the intermediary values, and storage of the intermediary values are performed by an application in a computational platform including a network interface hardware, and wherein the network interface hardware does not provide support for receive side scaling. - View Dependent Claims (17, 18, 19, 20)
-
Specification