Scaling egress network traffic
First Claim
Patent Images
1. A method for distributing traffic, said method executed on a transmit side of a network connection, said method comprising:
- establishing, via at least one protocol stack, said network connection;
generating an identifier associated with said network connection at said at least one protocol stack;
sending at least one transmit request comprising said identifier from said at least one protocol stack to a network device driver;
selecting, via a network device driver, at least one transmit queue from a plurality of transmit queues, said selecting comprising using said identifier as an index in a lookup table, each entry in said lookup table corresponding to at least one transmit queue from said plurality of transmit queues;
determining whether said lookup table has changed using said at least one protocol stack; and
waiting and ensuring that any previously submitted transmit requests have completed submission prior to sending an additional transmit request to said network device driver if said lookup table has changed; and
sending an additional transmit request from said at least one protocol stack to said network device driver after any previously submitted transmit requests have been completed.
0 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a method is provided. The method of this embodiment provides generating one or more packets of data, the one or more packets of data being associated with a connection; and associating the one or more packets with one of a plurality of transmit queues based, at least in part, on the connection associated with the one or more packets.
-
Citations
11 Claims
-
1. A method for distributing traffic, said method executed on a transmit side of a network connection, said method comprising:
-
establishing, via at least one protocol stack, said network connection; generating an identifier associated with said network connection at said at least one protocol stack; sending at least one transmit request comprising said identifier from said at least one protocol stack to a network device driver; selecting, via a network device driver, at least one transmit queue from a plurality of transmit queues, said selecting comprising using said identifier as an index in a lookup table, each entry in said lookup table corresponding to at least one transmit queue from said plurality of transmit queues; determining whether said lookup table has changed using said at least one protocol stack; and waiting and ensuring that any previously submitted transmit requests have completed submission prior to sending an additional transmit request to said network device driver if said lookup table has changed; and sending an additional transmit request from said at least one protocol stack to said network device driver after any previously submitted transmit requests have been completed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for distributing traffic, said apparatus being on a transmit side of a network connection, said apparatus comprising:
-
at least one processor; and circuitry configured to be coupled to said at least one processor, said circuitry comprising a plurality of transmit queues configured to store packets to be transmitted and further configured to store at least one application and an operating system, said operating system comprising; a network device driver; and at least one protocol stack configured to establish said network connection and to transmit at least one transmit request to said network device driver, said transmit request comprising an identifier associated with said network connection; wherein; the network device driver is configured to select at least one transmit queue from said plurality of transmit queues using said identifier as an index in a lookup table, each entry in said lookup table corresponding to at least one transmit queue from said plurality of transmit queues; an entry is added to said lookup table if said identifier is not found in said lookup table, said entry comprising said identifier and said at least one transmit queue from said plurality of transmit queues; said at least one protocol stack is configured to determine whether said lookup table has changed, to wait and ensure any previously submitted transmit requests have completed submission prior to sending new transmit requests to said network device driver if said lookup table has changed, and to send an additional transmit request to said network device driver after any previously submitted transmit requests have been completed. - View Dependent Claims (8, 9, 10, 11)
-
Specification