NIC-based packet assignment for virtual networks
First Claim
Patent Images
1. A method comprising:
- receiving, by a network interface card (NIC) of a computing device, configuration data defining a plurality of receipt queues of the NIC and associated with respective virtual machines executing on the computing device; and
assigning, by the NIC and based on respective virtual machine identifiers included in tunnel encapsulation information of packets received by the NIC, each of the virtual machine identifiers uniquely identifying a corresponding one of the virtual machines executing on the computing device, the packets to the plurality of receipt queues associated with the respective virtual machines.
1 Assignment
0 Petitions
Accused Products
Abstract
In some examples, a computing device includes one or more processors configured to execute a plurality of virtual machines; and a network interface card (NIC) coupled to the one or more processors and configured to receive configuration data defining a plurality of receipt queues of the NIC and associated with respective virtual machines of the plurality of virtual machines. The NIC is further configured to assign, based on respective virtual machine identifiers of packets received by the NIC, the packets to the plurality of receipt queues associated with the respective virtual machines.
42 Citations
32 Claims
-
1. A method comprising:
-
receiving, by a network interface card (NIC) of a computing device, configuration data defining a plurality of receipt queues of the NIC and associated with respective virtual machines executing on the computing device; and assigning, by the NIC and based on respective virtual machine identifiers included in tunnel encapsulation information of packets received by the NIC, each of the virtual machine identifiers uniquely identifying a corresponding one of the virtual machines executing on the computing device, the packets to the plurality of receipt queues associated with the respective virtual machines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
receiving, by a network interface card (NIC) of a computing device, a packet; and sending, by the NIC based on a Multiprotocol Label Switching label of the packet, the Multiprotocol Label Switching label uniquely identifying a corresponding one of a plurality of virtual machines executing on the computing device, packet data of the packet directly to the corresponding virtual machine of the plurality of virtual machines. - View Dependent Claims (15)
-
-
16. A computing device comprising:
-
one or more processors configured to execute a plurality of virtual machines; and a network interface card (NIC) coupled to the one or more processors and configured to receive configuration data defining a plurality of receipt queues of the NIC and associated with respective virtual machines of the plurality of virtual machines, wherein the NIC is further configured to assign, based on respective virtual machine identifiers included in tunnel encapsulation information of packets received by the NIC, each of the virtual machine identifiers uniquely identifying a corresponding one of the virtual machines executing on the computing device, the packets to the plurality of receipt queues associated with the respective virtual machines. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computing device comprising:
-
one or more processors configured to execute a plurality of virtual machines; and a network interface card (NIC) coupled to the one or more processors and configured to receive a packet, wherein the NIC is further configured to send, based on a Multiprotocol Label Switching label of the packet, the Multiprotocol Label Switching label uniquely identifying a corresponding one of the plurality of virtual machines executing on the computing device, packet data of the packet directly to the corresponding virtual machine of the plurality of virtual machines. - View Dependent Claims (30)
-
-
31. A non-transitory computer-readable medium comprising instructions for causing one or more programmable processors to:
-
receive, by a network interface card (NIC) of a computing device, configuration data defining a plurality of receipt queues of the NIC and associated with respective virtual machines configured for execution by the one or more programmable processors; and assign, by the NIC and based on respective virtual machine identifiers included in tunnel encapsulation information of packets received by the NIC, each of the virtual machine identifiers uniquely identifying a corresponding one of the virtual machines executing on the computing device, the packets to the plurality of receipt queues associated with the respective virtual machines.
-
-
32. A non-transitory computer-readable medium comprising instructions for causing one or more programmable processors to:
-
receive, by a network interface card (NIC) of a computing device, a packet; and send, by the NIC based on a Multiprotocol Label Switching label of the packet, the Multiprotocol Label Switching label uniquely identifying a corresponding one of a plurality of virtual machines configured for execution by the one or more programmable processors, packet data of the packet directly to the corresponding virtual machine of the plurality of virtual machines, wherein sending the packets directly to the corresponding virtual machine comprises sending the packets to the corresponding virtual machine without a software-based virtual router executed by a general-purpose processor of the computing device accessing the Multiprotocol Label Switching label of the packet.
-
Specification