US 12,014,197 B2
Offloading packet processing programs from virtual machines to a hypervisor and efficiently executing the offloaded packet processing programs
Bo Chen, Beijing (CN); Songtao Zheng, Beijing (CN); Shu Wu, Beijing (CN); Bingqing Shao, Beijing (CN); Yi Liao, Beijing (CN); and Danqi Sun, Beijing (CN)
Assigned to VMware LLC, Palo Alto, CA (US)
Appl. No. 16/971,243
Filed by VMware LLC, Palo Alto, CA (US)
PCT Filed Jul. 21, 2020, PCT No. PCT/CN2020/103168
§ 371(c)(1), (2) Date Aug. 19, 2020,
.
Prior Publication US 2023/0195482 A1, Jun. 22, 2023
Int. Cl. G06F 9/455 (2018.01)
CPC G06F 9/45558 (2013.01) [G06F 2009/45595 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a hypervisor of a host system, a packet processing program from a virtual network interface controller (NIC) driver of a virtual machine (VM) running on the hypervisor;
attaching, by the hypervisor, the packet processing program to a first execution point in a physical NIC driver of the hypervisor; and
attaching, by the hypervisor, the packet processing program to a second execution point in a virtual NIC backend of the hypervisor, the virtual NIC backend corresponding to a virtual NIC of the VM that originated the packet processing program;
wherein the hypervisor is configured to determine an optimal execution point for the packet processing program between the physical NIC driver and the virtual NIC backend.