Patent ID: 11936562
Assignee: VMWARE LLC
Field: Digital communication (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 0:
1. A method comprising:
receiving, by a virtual machine (VM), one or more packets of a data flow; performing, by the VM, slow path packet processing of the one or more packets of the data flow;
generating, by the VM, a set of instructions for performing network function processing offload on data packets that belong to the data flow that would otherwise be performed by the VM, the network function processing comprising a network processing function that operates on any network layer between the lower layers of networking and the Layer 4 of networking;
providing the set of instructions for the data flow to a hypervisor;
in response to receiving the set of instructions for the data flow:
obtaining available resources for each of a plurality of destinations, the plurality of destinations comprising the following resources: a physical network interface controller (“PNIC”), a hypervisor kernel space module and a hypervisor user space module;
determining, based on hardware capabilities of the PNIC and capabilities of the hypervisor, whether to offload the network function processing of the data flow to the hypervisor;
in response to determining that the network function processing for the data flow can be offloaded to the hypervisor:
determining to offload the network function processing of the data flow to a kernel space module of a hypervisor; and
based on the determining, downloading the set of instructions to the kernel space module of the hypervisor to configure the hypervisor to enable the hypervisor to provide the network function processing on the data packets that belong to the data flow.