Adaptive virtual function drivers for electronic devices
Abstract
Techniques for providing adaptive virtual function (VF) drivers capable of operating with physical devices having a plurality of different hardware configurations are described. In one embodiment, for example, an apparatus may include logic to implement a virtual machine (VM), the logic to initialize an adaptive virtual function (VF) driver to facilitate communication between the VM and a physical device to be virtualized, establish communication between the adaptive VF driver and a physical function (PF) driver of the hypervisor for the physical device, activate a standard feature set for the adaptive VF driver to execute on a PF of the physical device, and negotiate activation of an advanced feature set for the adaptive VF driver to execute on the PF, the adaptive VF driver to provide the advanced feature set to the PF, the PF activate each feature of the advanced feature set supported by the PF.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. An apparatus, comprising:
processing circuitry; and
a memory to store instructions for an adaptive virtual function (VF) driver for a physical device, the instructions executable by the circuitry to cause the circuitry to:
activate a standard feature set supported by the adaptive VF driver and a physical function (PF) of the physical device;
identify an advanced feature set supported by the adaptive VF driver and the PF; and
activate the advanced feature set supported by the adaptive VF driver and the PF.
2. The apparatus of claim 1 , the instructions executable by the circuitry to cause the circuitry to, prior to activation of the advanced feature set:
write, to a hardware mailbox, indications that the adaptive VF driver supports the advanced feature set.
3. The apparatus of claim 2 , the instructions executable by the circuitry to cause the circuitry to:
identify, in the hardware mailbox, indications that the PF supports the activated feature set.
4. The apparatus of claim 1 , wherein the adaptive VF driver is to support another advanced feature, the instructions executable by the circuitry to cause the circuitry to:
read, in a hardware mailbox, indications of a plurality of features supported by the PF, wherein the plurality of features comprise the standard feature set and the advanced feature set;
determine, based on the indications of the plurality of features supported by the PF in the hardware mailbox, that the PF does not support the another advanced feature; and
disable the another advanced feature based on the PF not supporting the another advanced feature.
5. The apparatus of claim 1 , the instructions executable by the circuitry to cause the circuitry to, prior to activation of the standard feature set:
write, to a hardware mailbox, indications that the adaptive VF driver supports the standard feature set; and
identify, in the hardware mailbox, indications that the PF supports the standard feature set.
6. The apparatus of claim 1 , wherein the adaptive VF driver is to support another advanced feature, the instructions executable by the circuitry to cause the circuitry to:
disable the another advanced feature based on a determination that the another enhanced feature is not supported by the PF.
7. The apparatus of claim 1 , the physical device to comprise a network interface.
8. The apparatus of claim 1 , the advanced feature set supported by the adaptive VF driver and the PF to comprise a subset of an advanced feature set supported by the adaptive VF driver.
9. A non-transitory computer-readable storage medium that stores computer-executable instructions for execution by processing circuitry of a computing device, the computer-executable instructions, when executed, to cause the circuitry to:
activate a standard feature set supported by an adaptive virtual function (VF) driver and a physical function (PF) of a physical device;
identify an advanced feature set supported by the adaptive VF driver and the PF; and
activate the advanced feature set supported by the adaptive VF driver and the PF.
10. The non-transitory computer-readable storage medium of claim 9 , the computer-executable instructions, when executed, to cause the circuitry to, prior to activation of the advanced feature set:
write indications that the adaptive VF driver supports the advanced feature set.
11. The non-transitory computer-readable storage medium of claim 10 , the computer-executable instructions, when executed, to cause the circuitry to:
identify indications that the PF supports the activated feature set.
12. The non-transitory computer-readable storage medium of claim 9 , wherein the adaptive VF driver is to support another advanced feature, the computer-executable instructions, when executed, to cause the circuitry to:
read indications of a plurality of features supported by the PF, wherein the plurality of features comprise the standard feature set and the advanced feature set;
determine, based on the indications of the plurality of features supported by the PF, that the PF does not support the another advanced feature; and
disable the another advanced feature based on the PF not supporting the another advanced feature.
13. The non-transitory computer-readable storage medium of claim 9 , the computer-executable instructions, when executed, to cause the circuitry to, prior to activation of the standard feature set:
write indications that the adaptive VF driver supports the standard feature set; and
identify indications that the PF supports the standard feature set.
14. The non-transitory computer-readable storage medium of claim 9 , wherein the adaptive VF driver is to support another advanced feature, the computer-executable instructions, when executed, to cause the circuitry to:
disable the another advanced feature based on a determination that the another enhanced feature is not supported by the PF.
15. The non-transitory computer-readable storage medium of claim 9 , the advanced feature set supported by the adaptive VF driver and the PF to comprise a subset of an advanced feature set supported by the adaptive VF driver.
16. The non-transitory computer-readable storage medium of claim 9 , the computer-executable instructions to identify the advanced feature set supported by the adaptive VF driver and the PF to comprise instructions, when executed, to cause the circuitry to:
negotiate, by the PF and the adaptive VF driver, the advanced feature set supported by the adaptive VF driver and the PF.
17. The non-transitory computer-readable storage medium of claim 9 , the computer-executable instructions to identify the advanced feature set supported by the adaptive VF driver and the PF to comprise instructions, when executed, to cause the circuitry to:
negotiate, by the PF and the adaptive VF driver via an application programming interface (API), the advanced feature set supported by the adaptive VF driver and the PF.
18. A computer-implemented method, comprising:
activating, by an adaptive virtual function (VF) driver executing on processor circuitry, a standard feature set supported by the adaptive VF driver and a physical function (PF) of a physical device;
identifying, by the adaptive VF driver, an advanced feature set supported by the adaptive VF driver and the PF; and
activating, by the adaptive VF driver, the advanced feature set supported by the adaptive VF driver and the PF.
19. The method of claim 18 , further comprising prior to activating the advanced feature set:
writing, by the adaptive VF driver to a hardware mailbox, indications that the adaptive VF driver supports the advanced feature set; and
identifying, by the adaptive VF driver in the hardware mailbox, indications that the PF supports the activated feature set.
20. The method of claim 18 , wherein the adaptive VF driver is to support another advanced feature, the method further comprising:
reading, by the adaptive VF driver in a hardware mailbox, indications of a plurality of features supported by the PF, wherein the plurality of features comprise the standard feature set and the advanced feature set;
determining, by the adaptive VF driver based on the indications of the plurality of features supported by the PF in the hardware mailbox, that the PF does not support the another advanced feature; and
disabling, by the adaptive VF driver, the another advanced feature based on the PF not supporting the another advanced feature.
21. The method of claim 18 , further comprising prior to activating the standard feature set:
writing, by the adaptive VF driver to a hardware mailbox, indications that the adaptive VF driver supports the standard feature set; and
identify, by the adaptive VF driver in the hardware mailbox, indications that the PF supports the standard feature set.
22. The method of claim 18 , the physical device to comprise a network interface, the advanced feature set supported by the adaptive VF driver and the PF to comprise a subset of an advanced feature set supported by the adaptive VF driver.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.