Streamlined guest networking in a virtualized environment
First Claim
1. A computer-implemented method for processing network packets, comprising:
- under control of one or more computer systems configured with executable instructions,receiving a first packet to a transmit-side network layer of a first host machine, the first packet complying with a first network protocol;
determining a packet size limit for transmitting data corresponding to the first packet from the first host machine to a second host machine via a physical network interface of the first host machine;
at the transmit-side network layer, converting the first packet into one or more second packets each complying with a second network protocol and having a size of at most the packet size limit; and
sending the one or more second packets to the physical network interface, the physical network interface operable to transmit the one or more second packets to the second host machine.
1 Assignment
0 Petitions
Accused Products
Abstract
Networking speed in a virtualized environment can be improved by utilizing an enhanced protocol and parallel stack to bypass restrictions of a conventional network stack that complies with standard networking protocols. In one embodiment, an enhanced TCP protocol enables large packets received from a guest application to bypass the guest networking stack and be received to a bottom conversion layer of the enhanced stack, which is able to segment the packet into appropriately sized segments that conform to the conventional protocol. These segments can be passed to a network interface card (NIC) or other device for encapsulation, framing, or other such processing to be transmitted to the destination as Ethernet frames or other such packets.
-
Citations
24 Claims
-
1. A computer-implemented method for processing network packets, comprising:
under control of one or more computer systems configured with executable instructions, receiving a first packet to a transmit-side network layer of a first host machine, the first packet complying with a first network protocol; determining a packet size limit for transmitting data corresponding to the first packet from the first host machine to a second host machine via a physical network interface of the first host machine; at the transmit-side network layer, converting the first packet into one or more second packets each complying with a second network protocol and having a size of at most the packet size limit; and sending the one or more second packets to the physical network interface, the physical network interface operable to transmit the one or more second packets to the second host machine. - View Dependent Claims (2, 3, 4, 5)
-
6. A computer-implemented method for processing network packets comprising:
under control of one or more computer systems configured with executable instructions, receiving one or more first packets to a physical network interface of a host machine at a first network stack, each of the one or more first packets complying with a first network protocol; sending the one or more first packets to a receive-side network layer of a second network stack; at the receive-side network layer, converting the one or more first packets into a second packet complying with a second network protocol; and transmitting the second packet through the second network stack, wherein the first network stack is bypassed during transmission. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
13. A system for processing network packets, comprising:
-
at least one processor; a physical network interface; and a memory device including instructions that, when executed by the at least one processor, cause the system to; receive a first packet complying with a first network protocol to a transmit-side network layer of the system; determine a packet size limit for transmitting data corresponding to the first packet from the system to a second system via the physical network interface; at the transmit-side network layer, convert the first packet into one or more second packets each complying with a second network protocol and having a size of at most the packet size limit; and send the one or more second packets to the physical network interface, the network interface operable to transmit the one or more second packets to the second system. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A non-transitory computer-readable storage medium including instructions for processing network packets, the instructions when executed by a processor of a computer system causing the computer system to:
-
receive one or more first packets to a physical network interface of a host machine at a first network stack, each of the one or more first packets complying with a first network protocol; send the one or more first packets to a receive-side network layer of a second network stack; at the receive-side network layer, convert the one or more first packets into a second packet complying with a second network protocol; and transmit the second packet using the second network stack, wherein the first network stack is bypassed during transmission. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification