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

Claim 5:
6. One or more non-transitory computer-readable storage media storing one or more computer instructions which, when executed by one or more processors, cause the one or more processors to perform:
receiving one or more packets of a data flow;
enabling a virtual machine to perform slow path packet processing of the one or more packets of the data flow;
generating a set of instructions for performing network function processing offload on data packets that belong to the data flow, 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;
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 a 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 whether the network function processing for the data flow can be offloaded to a kernel space module of the hypervisor;
in response to determining that the network function processing for the data flow can be offloaded to the kernel space module of the hypervisor:
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.