A method of creating a virtual machine, VM, fabric profile for a virtual machine comprising the steps of: generating a virtual machine identifier, VM-id; generating a virtual host channel adapter instance ID that identifies a virtual host channel adapter, vHCA; assigning, from a pool of globally unique identifiers, a virtual globally unique identifier, vGUID, as a current fabric address of a virtual port of the vHCA; creating a first relationship between a P_Key that defines an admin partition and the vGUID, wherein the relationship between the P_Key and the vGUID defines the virtual port for which the vGUID is assigned as the current fabric address as a member of the admin partition defined by the P_Key; creating a second relationship between the VM-id and the vHCA instance ID, wherein the second relationship allows the vHCA instance ID to be retrieved through access to the VM-id; creating a third relationship between the VM-id and the vGUID, wherein the third relationship allows the vGUID to be retrieved through access to the VM-id; persisting the VM-id, the virtual host channel adapter instance ID, the vGUID, the first relationship, the second relationship, and the third relationship in a format that preserves the VM-id, the virtual host channel adapter, the vGUID, the first relationship, the second relationship, and the third relationship; placing the VM-id, the vHCA instance ID, the vGUID, the first relationship, the second relationship, the third relationship, and the P_Key in a cache of a subnet manager of a subnet, wherein the admin partition defined by the P_Key is defined within the subnet; and using the VM-id as a lookup key to access the vHCA instance ID, the vGUID, and the P_Key, wherein the using the VM-id as a lookup key is initiated by a physical host channel adapter attempting to register the vHCA instance ID with a virtual function of the physical host channel adapter. generating a virtual machine identifier, VM-id; generating a virtual host channel adapter instance ID that identifies a virtual host channel adapter, vHCA; assigning, from a pool of globally unique identifiers, a virtual globally unique identifier, vGUID, as a current fabric address of a virtual port of the vHCA; creating a first relationship between a P_Key that defines an admin partition and the vGUID, wherein the relationship between the P_Key and the vGUID defines the virtual port for which the vGUID is assigned as the current fabric address as a member of the admin partition defined by the P_Key; creating a second relationship between the VM-id and the vHCA instance ID, wherein the second relationship allows the vHCA instance ID to be retrieved through access to the VM-id; creating a third relationship between the VM-id and the vGUID, wherein the third relationship allows the vGUID to be retrieved through access to the VM-id; persisting the VM-id, the virtual host channel adapter instance ID, the vGUID, the first relationship, the second relationship, and the third relationship in a format that preserves the VM-id, the virtual host channel adapter, the vGUID, the first relationship, the second relationship, and the third relationship; placing the VM-id, the vHCA instance ID, the vGUID, the first relationship, the second relationship, the third relationship, and the P_Key in a cache of a subnet manager of a subnet, wherein the admin partition defined by the P_Key is defined within the subnet; and using the VM-id as a lookup key to access the vHCA instance ID, the vGUID, and the P_Key, wherein the using the VM-id as a lookup key is initiated by a physical host channel adapter attempting to register the vHCA instance ID with a virtual function of the physical host channel adapter.