US2016344634A1PendingUtilityA1
Dynamically assigning packet flows
Est. expirySep 30, 2024(expired)· nominal 20-yr term from priority
H04L 47/125H04L 47/193H04L 47/50
53
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
In general, in one aspect, the disclosure describes a method includes accessing data of an egress packet belonging to a flow, storing data associating the flow with at least one queue based on a source of the data of the egress packet. The method also includes accessing an ingress packet belonging to the flow, performing a lookup of the at least one queue associated with the flow, and enqueueing data of the ingress packet to the at least one queue associated with the flow.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
accessing data of an egress packet belonging to a flow; storing data associating the flow with at least one queue based on a source of the data of the egress packet; accessing an ingress packet belonging to the flow; performing a lookup of the at least one queue associated with the flow; and enqueueing data of the ingress packet to the at least one queue associated with the flow.
2 . The method of claim 1 ,
wherein the ingress packet comprises a Transmission Control Protocol/Internet Protocol (TCP/IP) packet and wherein the flow comprises a TCP/IP connection.
3 . The method of claim 1 ,
wherein the queue comprises one of multiple queues associated with multiple, respective, processors.
4 . The method of claim 3 , wherein the processors comprise processor cores, at least some of the cores being integrated on the same die.
5 . The method of claim 3 ,
wherein the at least one queue comprises a part of one of multiple queue pairs, individual queue pairs including a transmit queue and a receive queue.
6 . The method of claim 5 ,
wherein some, but not all, of the multiple queue pairs are associated with the same processor.
8 . The method of claim 1 , wherein the source comprises at least one selected from the following group: a processor, a queue pair, and a queue.
9 . A network interface controller, comprising:
at least one interface to a communications medium; at least one media access controller communicatively coupled to the at least one interface; circuitry to:
store data associating a flow of an egress packet with at least one queue based on a source of the egress packet;
perform a lookup in the stored data for at least one queue associated with a flow of an ingress packet; and
enqueue data of the ingress packet to the at least one queue associated with the flow identified by the lookup.
10 . The controller of claim 8 ,
wherein the circuitry comprises circuitry to identify a source queue of the egress packet data.
11 . The controller of claim 8 ,
wherein the data associating flows with queues comprises data identifying a flow based, at least in part, on a combination of Internet Protocol source and destination addresses and source and destination ports.
12 . The controller of claim 8 ,
wherein the at least one queue comprise a queue in a queue pair including a transmit queue and a receive queue.
13 . The controller of claim 11 ,
wherein a one of the queue pairs is exclusively associated with one of a set of multiple processors.
14 . The controller of claim 8 , wherein the source comprises at least one selected from the following group: a processor, a queue pair, and a queue.
15 . A system comprising:
at least one processor; memory, coupled to the at least one processor; and a network interface controller, comprising:
at least one interface to a communications medium;
at least one media access controller communicatively coupled to the at least one interface;
circuitry to:
store data associating a flow of an egress packet with at least one queue based on a source of the egress packet;
perform a lookup in the stored data for at least one queue associated with a flow of an ingress packet; and
enqueue data of the ingress packet to the at least one queue associated with the flow identified by the lookup.
16 . The system of claim 15 ,
wherein the circuitry comprises circuitry to identify a source queue of the egress packet.
17 . The system of claim 15 ,
wherein the data associating flows with queues comprises data identifying a flow based, at least in part, on a combination of Internet Protocol source and destination addresses and source and destination ports.
18 . The system of claim 15 ,
wherein the at least one queue comprises a queue in a queue pair including a transmit queue and a receive queue.
19 . The system of claim 18 ,
wherein a one of the queue pairs is exclusively associated with one of a set of multiple processors.
20 . The system of claim 15 , wherein the source comprises at least one selected from the following group: a processor, a queue pair, and a queue.
21 . An article of manufacture, comprising executable instructions to:
access data of an egress packet belonging to a flow; store data associating the flow with at least one queue based on a source of the egress packet data; access data of an ingress packet belonging to the flow; perform a lookup of the at least one queue associated with the flow; and enqueue data of the one or more ingress packets to the at least one queue associated with the flow.
22 . The article of claim 21 ,
wherein the ingress packet comprises a Transmission Control Protocol/Internet Protocol (TCP/IP) packet and wherein the flow comprises a TCP/IP connection.
23 . The article of claim 21 ,
wherein the at least one queue comprises one of multiple queues associated with multiple, respective, processors.
24 . The article of claim 23 ,
wherein the at least one queue comprises a part of one of multiple queue pairs, individual queue pairs including a transmit queue and a receive queue.
25 . The article of claim 21 , wherein the source comprises at least one selected from the following group: a processor, a queue pair, and a queue.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.