US 12,455,760 B2
Passing single-root input-output virtualization functions to nested virtual machines
Michael Tsirkin, Yokneam (IL)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by RED HAT, INC., Raleigh, NC (US)
Filed on Jan. 11, 2023, as Appl. No. 18/095,563.
Prior Publication US 2024/0231872 A1, Jul. 11, 2024
Int. Cl. G06F 9/455 (2018.01)
CPC G06F 9/45558 (2013.01) [G06F 2009/45566 (2013.01); G06F 2009/45579 (2013.01)] 20 Claims
OG exemplary drawing
 
8. A method comprising,
assigning, by a processing device, at least two guest virtual functions to a guest virtual machine, each guest virtual function of the at least two guest virtual functions being mapped to a respective host virtual function executed by a single-root input-output virtualization (SR-IOV) device, a first guest virtual function of the at least two guest virtual functions for the guest virtual machine being configured to act as a guest physical function;
receiving, by the processing device, a request generated by a nested virtual function assigned to a nested virtual machine hosted by the guest virtual machine, the request being forwarded to a host hypervisor by a physical function executed by the SR-IOV device, the nested virtual function being mapped to a second guest virtual function of the at least two guest virtual functions for the guest virtual machine;
in response to receiving the request, translating, by the processing device, a guest memory address for the guest physical function to a host memory address for the guest physical function; and
forwarding, by the processing device, the request to the guest physical function using the translated host memory address for the guest physical function, the guest physical function being configured to fulfill the request from the nested virtual machine.