| US 7,493,409 B2 | ||
| Apparatus, system and method for implementing a generalized queue pair in a system area network | ||
| David F. Craddock, New Paltz, N.Y. (US); Donald William Schmidt, Stone Ridge, N.Y. (US); and Bruce Marshall Walk, Rochester, Minn. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Apr. 10, 2003, as Appl. No. 10/411,425. | ||
| Prior Publication US 2004/0215848 A1, Oct. 28, 2004 | ||
| Int. Cl. G06F 15/173 (2006.01); G06F 15/177 (2006.01); G06F 15/16 (2006.01) | ||
| U.S. Cl. 709—238 [709/220; 709/221; 709/222; 709/223; 709/249] | 20 Claims |

| 1. A method of allocating a queue pair in a host channel adapter of a system area network, comprising: receiving a request, from a requestor, to allocate the queue pair; sending the request to a hypervisor of the host channel adapter, wherein the hypervisor allocates the queue pair comprising a set of one or more queue pair partition key registers; identifying a type of the requestor; writing a partition key mode in a set of queue pair hypervisor control registers to indicate a type of partition key checking to be performed with the queue pair based on the type of the requestor, wherein the partition key mode is one of a single partition key check mode if the requestor is a user application, a multiple partition key check mode if the requestor is an application that performs multicasting, or a partition key check disabled mode if the queue pair is being allocated for use by the hypervisor of the host channel adapter; and writing one or more partition keys to the set of one or more queue pair partition key registers of the queue pair based on the partition key mode; wherein the one or more partition keys are partition keys assigned by a subnet manager in a system area network and stored in a partition key table associated with a port of the host channel adapter. |