Global Queue Pair Management in a Point-to-Point Computer Network
First Claim
1. A method comprising:
- receiving, at a local module, a data frame initiated by a first virtual machine, wherein the data frame has a target destination at a second virtual machine that executes on a destination host;
identifying a destination global queue pair number and a destination local port ID that correspond to the second virtual machine, wherein the destination global queue pair number is independent of the destination host;
including the destination global queue pair number and the destination local port ID in an overlay header;
encapsulating the data frame with the overlay header, the encapsulating resulting in an encapsulated frame; and
sending the encapsulated frame through a computer network to the second virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
An approach is provided in which a local module receives a data frame initiated by a first virtual machine and has a target destination at a second virtual machine, which executes on a destination host system. The local module identifies a destination local port ID and a destination global queue pair number corresponding to the second virtual machine. In one embodiment, the destination local port ID corresponds to the destination host, but the destination global queue pair number is independent of the destination host. The local module includes the destination global queue pair number and the destination local port ID in an overlay header and encapsulates the data frame with the overlay header, which results in an encapsulated frame. In turn, the local module sends the encapsulated frame through a computer network to the second virtual machine.
70 Citations
25 Claims
-
1. A method comprising:
-
receiving, at a local module, a data frame initiated by a first virtual machine, wherein the data frame has a target destination at a second virtual machine that executes on a destination host; identifying a destination global queue pair number and a destination local port ID that correspond to the second virtual machine, wherein the destination global queue pair number is independent of the destination host; including the destination global queue pair number and the destination local port ID in an overlay header; encapsulating the data frame with the overlay header, the encapsulating resulting in an encapsulated frame; and sending the encapsulated frame through a computer network to the second virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An information handling system comprising:
-
one or more processors; a memory coupled to at least one of the processors; a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of; receiving, at a local module, a data frame initiated by a first virtual machine, wherein the data frame has a target destination at a second virtual machine that executes on a destination host; identifying a destination global queue pair number and a destination local port ID that correspond to the second virtual machine, wherein the destination global queue pair number is independent of the destination host; including the destination global queue pair number and the destination local port ID in an overlay header; encapsulating the data frame with the overlay header, the encapsulating resulting in an encapsulated frame; and sending the encapsulated frame through a computer network to the second virtual machine. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:
-
receiving, at a local module, a data frame initiated by a first virtual machine, wherein the data frame has a target destination at a second virtual machine that executes on a destination host; identifying a destination global queue pair number and a destination local port ID that correspond to the second virtual machine, wherein the destination global queue pair number is independent of the destination host; including the destination global queue pair number and the destination local port ID in an overlay header; encapsulating the data frame with the overlay header, the encapsulating resulting in an encapsulated frame; and sending the encapsulated frame through a computer network to the second virtual machine. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method comprising:
-
receiving, at a local module, a data frame initiated by a first virtual machine that executes on a first host, wherein the data frame has a target destination at a second virtual machine that executes on a second host; identifying a destination global queue pair number and a destination local port ID that correspond to the second virtual machine, wherein the destination global queue pair number is independent of the destination host; determining, by the local module, that the destination local port ID is not valid; querying a distributed policy service by the local module for an updated local port ID that corresponds to the destination global queue pair number; receiving the updated destination local port ID from the distributed policy service at the local module in response to the querying, wherein the updated destination local port ID corresponds to a third host to which the second virtual machine migrated; including the destination global queue pair number and the updated destination local port ID in an overlay header; encapsulating the data frame with the overlay header, the encapsulating resulting in an encapsulated frame; and sending the encapsulated frame through a computer network to the second virtual machine executing on the third host.
-
Specification