摘要 |
A system and method are disclosed for assigning incoming packets to receive queues of a virtual machine. In accordance with one embodiment, a hypervisor that is executed by a computer system receives a request from a virtual machine to transmit an outgoing packet to a destination, and an identification of a receive queue of a plurality of receive queues of the virtual machine, where the identification of the receive queue is provided to the hypervisor by the virtual machine along with the request. The hypervisor obtains a flow identifier from a header of the outgoing packet that identifies a flow associated with the outgoing packet, and the outgoing packet is transmitted to the destination. The computer system then receives an incoming packet whose header specifies the flow identifier, and the hypervisor inserts the incoming packet into the receive queue using the identification of the receive queue. |
主权项 |
1. A method comprising:
receiving from a virtual machine, by a processor executing a hypervisor that is hosted by a computer system, a request to transmit an outgoing packet to a destination, and an identification of a receive queue of a plurality of receive queues of the virtual machine, wherein the identification of the receive queue is provided to the hypervisor by the virtual machine along with the request; obtaining by the hypervisor, from a header of the outgoing packet, a flow identifier that identifies a flow associated with the outgoing packet; storing an association between the flow identifier and the receive queue; transmitting the outgoing packet to the destination; receiving, after the transmitting of the outgoing packet, an incoming packet whose header specifies the flow identifier; and inserting, by the hypervisor, the incoming packet into the receive queue using the identification of the receive queue. |