CPC G06F 13/387 (2013.01) [G06F 9/45545 (2013.01); G06F 9/45558 (2013.01); G06F 13/4027 (2013.01); G06F 2009/45579 (2013.01)] | 12 Claims |
1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for hypervisor bridging of different versions of an I/O protocol, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:
receiving, by the hypervisor, a first request from a guest using a first version of the I/O protocol to create a first protocol admin Submission Queue (ASQ) and first protocol admin Completion Queue (ASQ) to be used to handle administrative commands using the first version of the I/O protocol;
in response to receiving the first request, transmitting, by the hypervisor, a second request to a second protocol endpoint using a second version of the I/O protocol to create a second protocol admin Submission Queue (ASQ) and second protocol admin Completion Queue (ACQ) to be used to handle administrative commands using the second version of the I/O protocol;
receiving a confirmation message, from the second protocol endpoint indicating that the second protocol ASQ and second protocol ACQ have been configured;
in response to receiving the confirmation message, changing a status of the first protocol ASQ and the first protocol ACQ to activate the first protocol ASQ and first protocol ACQ;
receiving a third request from the guest using the first version of the I/O protocol to create a first protocol I/O Completion Queue (I/O CQ) to be used to handle I/O operations using the first version of the I/O protocol;
in response to receiving the third request, transmitting, by the hypervisor, a fourth request to the second protocol endpoint using the second version of the I/O protocol to create a second protocol I/O Submission Queue (I/O SQ) and corresponding second protocol I/O Completion Queue (I/O CQ) to be used to handle I/O operations using the second version of the I/O protocol;
receiving a fifth request from the guest using the first version of the I/O protocol to create a first protocol I/O Submission Queue (I/O SQ) to be associated with the first protocol I/O Completion Queue (I/O CQ);
in response to receiving the fifth request:
transmitting a dummy request to the second protocol endpoint using the second version of the I/O protocol;
receiving a response to the dummy request; and
in response to receiving the response to the dummy request, changing a status of the first protocol I/O SQ to activate the first protocol I/O SQ;
receiving, by the hypervisor, a sixth request from the guest using the first version of the I/O protocol to delete the first protocol I/O SQ; and
in response to receiving the fifth request, deactivating the first protocol I/O SQ without deleting the second protocol I/O Submission Queue (I/O SQ).
|