Receive queue device with efficient queue flow control, segment placement and virtualization mechanisms
First Claim
1. A method, in a data processing system, for managing a work queue, comprising:
- receiving a work request;
creating a receive work queue entry in a receive work queue in response to receipt of the work request;
sending a notification to an Internet Protocol Suite Offload Engine (IPSOE) notifying the IPSOE of the creation of the receive work queue entry; and
processing a completion queue entry in a completion queue in response to receiving a notification that the completion queue entry has been created by the IPSOE in response to processing of the receive work queue entry.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism for offloading the management of receive queues in a split (e.g. split socket, split iSCSI, split DAFS) stack environment, including efficient queue flow control and TCP/IP retransmission support. An Upper Layer Protocol (ULP) creates receive work queues and completion queues that are utilized by an Internet Protocol Suite Offload Engine (IPSOE) and the ULP to transfer information and carry out send operations. As consumers initiate receive operations, receive work queue entries (RWQEs) are created by the ULP and written to the receive work queue (RWQ). The ISPOE is notified of a new entry to the RWQ and it subsequently reads this entry that contains pointers to the data that is to be received. After the data is received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). After the CQE is written, the ULP subsequently processes the entry and removes it from the CQE, freeing up a space in both the RWQ and CQ. The number of entries available in the RWQ are monitored by the ULP so that it does not overwrite any valid entries. Likewise, the IPSOE monitors the number of entries available in the CQ, so as not overwrite the CQ.
162 Citations
30 Claims
-
1. A method, in a data processing system, for managing a work queue, comprising:
-
receiving a work request;
creating a receive work queue entry in a receive work queue in response to receipt of the work request;
sending a notification to an Internet Protocol Suite Offload Engine (IPSOE) notifying the IPSOE of the creation of the receive work queue entry; and
processing a completion queue entry in a completion queue in response to receiving a notification that the completion queue entry has been created by the IPSOE in response to processing of the receive work queue entry. - View Dependent Claims (2, 3, 4, 28)
-
-
5. A method of sharing an Internet Protocol Suite Offload Engine (IPSOE) between virtual servers of a data processing system, comprising:
-
assigning a first address to a port of the IPSOE; and
assigning a second address to the port of the IPSOE, wherein the first address is assigned to a first virtual server, and wherein the second address is assigned to a second virtual server different from the first virtual server. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
29. A computer program product in a computer readable medium for sharing an Internet Protocol Suite Offload Engine (IPSOE) between virtual servers of a data processing system, comprising:
-
first instructions for assigning a first address to a port of the IPSOE; and
second instructions for assigning a second address to the port of the IPSOE, wherein the first address is assigned to a first virtual server, and wherein the second address is assigned to a second virtual server different from the first virtual server.
-
-
30. An apparatus for sharing an Internet Protocol Suite Offload Engine (IPSOE) between virtual servers of a data processing system, comprising:
-
means for assigning a first address to a port of the IPSOE; and
means for assigning a second address to the port of the IPSOE, wherein the first address is assigned to a first virtual server, and wherein the second address is assigned to a second virtual server different from the first virtual server.
-
Specification