Systems and methods for handling virtual machine packets
AssigneeBroadcom Corporation
InventorsAriel Hendel, Karagada Ramarao Kishore
Life of this patent
Estimating the term…
Abstract
Systems and methods for handling virtual machine packets are provided. In some aspects, a method includes receiving, by a network interface controller, an indicator of a packet from a virtual machine. The indicator bypasses a virtual switch coupled to the virtual machine. The method also includes determining, in response to receiving the indicator, whether the packet is designated for accelerated processing. The method also includes providing the indicator to the virtual switch for processing if the packet is determined not to be designated for accelerated processing. The method also includes processing, by the network interface controller, the packet for transmission if the packet is determined to be designated for accelerated processing.
Claims20
A method for handling virtual machine packets, the method comprising:
- receiving, by a network interface controller, indicators of packets from a virtual machine, wherein the indicators bypass a virtual switch coupled to the virtual machine;
- determining, in response to receiving each of the indicators and based at least in part on an amount of processing resources available for managing each of the packets by the virtual switch, whether each of the packets is designated for accelerated processing;
- providing, via the virtual machine, one of indicators to the virtual switch for processing for one of the packets that is determined not to be designated for accelerated processing;
- and
- processing, by the network interface controller and bypassing the virtual switch, another of the packets for transmission, wherein the another of the packets is determined to be designated for accelerated processing.
A system for handling virtual machine packets, the system comprising:
- a memory comprising instructions for handing virtual machine packets;
- and
- a processor configured to execute the instructions to:
- receive a first header of a first packet and a second header of a second packet;
- determine, in response to receiving each of the first and second headers and based at least in part on whether the first and second headers are associated with an audio stream or a video stream, whether each of the first and second packets is designated for accelerated processing;
- provide the first header to a virtual switch for processing when the first packet is determined not to be designated for accelerated processing, the virtual switch being coupled to the system;
- and
- process the second packet, bypassing the virtual switch, when the second packet is determined to be designated for accelerated processing.
A computer program product comprising instructions stored in a non-transitory computer-readable storage medium, the instructions comprising:
- instructions to receive, by a network interface controller, indicators of packets from a virtual machine, wherein the indicators bypass a virtual switch coupled to the virtual machine;
- instructions to determine, in response to receiving each of the indicators and based at least in part on an amount of processing resources available for managing each of the packets by the virtual switch, whether each of the packets is designated for accelerated processing;
- instructions to provide, via the virtual machine, one of indicators to the virtual switch for processing for one of the packets that is determined not to be designated for accelerated processing;
- and
- instructions to process, by the network interface controller and bypassing the virtual switch, another of the packets for transmission, wherein the another of the packets is determined to be designated for accelerated processing.
Dependencies are inferred from the claim text.