Path calculation method
US-9203702-B2 · Dec 1, 2015 · US
US9832112B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9832112-B2 |
| Application number | US-201414231705-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 31, 2014 |
| Priority date | Mar 31, 2014 |
| Publication date | Nov 28, 2017 |
| Grant date | Nov 28, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Multiple TCP/IP stack processors on a host. The multiple TCP/IP stack processors are provided independently of TCP/IP stack processors implemented by virtual machines on the host. The TCP/IP stack processors provide multiple different default gateway addresses for use with multiple processes. The default gateway addresses allow a service to communicate across an L3 network. Processes outside of virtual machines that utilize the TCP/IP stack processor on a first host can benefit from using their own gateway, and communicate with their peer process on a second host, regardless of whether the second host is located within the same subnet or a different subnet. The multiple TCP/IP stack processors can use separately allocated resources. Separate TCP/IP stack processors can be provided for each of multiple tenants on the host. Separate loopback interfaces of multiple TCP/IP stack processors can be used to create separate containment for separate sets of processes on a host.
Opening claim text (preview).
What is claimed is: 1. A method of generating IP packets for a first hypervisor process running on a first electronic computing device that implements a generic TCP/IP stack processor and at least one dedicated TCP/IP stack processor, wherein the first hypervisor process operates outside of any virtual machine on the first electronic computing device, the method comprising: retrieving configuration data for the dedicated TCP/IP stack processor, wherein the configuration data comprises a designation of a first default gateway for the dedicated TCP/IP stack processor that is different from a second default gateway for the generic TCP/IP stack processor, wherein the generic and dedicated TCP/IP stack processors are not implemented by virtual machines; implementing the dedicated TCP/IP stack processor with the first default gateway; processing data using the dedicated TCP/IP stack processor to generate an IP packet with an IP address not in a routing table of the dedicated TCP/IP stack processor; and sending the IP packet to the IP address of the first default gateway, wherein sending the IP packet is part of a communication between the first hypervisor process and a second peer hypervisor process running on a second electronic computing device through the first default gateway. 2. The method of claim 1 , wherein the first and second hypervisor processes are virtual machine migrator processes. 3. The method of claim 1 further comprising: sending IP packets from the dedicated TCP/IP stack processor out of the electronic computing device through a first physical network interface card (pNIC); and sending IP packets from the generic TCP/IP stack processor out of the electronic computing device through a second pNIC. 4. The method of claim 3 further comprising: processing the IP packets from the dedicated TCP/IP stack processor with a virtual switch that sends the IP packets from the dedicated TCP/IP stack processor to the first pNIC; and processing the IP packets from the generic TCP/IP stack processor with the virtual switch that sends the IP packets from the generic TCP/IP stack processor to the second pNIC. 5. The method of claim 3 further comprising: processing the IP packets from the dedicated TCP/IP stack processor with a first virtual switch that sends the IP packets from the dedicated TCP/IP stack processor to the first pNIC; and processing the IP packets from the generic TCP/IP stack processor with a second virtual switch that sends the IP packets from the generic TCP/IP stack processor to the second pNIC. 6. The method of claim 1 , wherein the dedicated TCP/IP stack processor is a first dedicated TCP/IP stack processor and the IP packet is a first IP packet, the method further comprising: retrieving configuration data for a second dedicated TCP/IP stack processor, wherein the configuration data for the second dedicated TCP/IP stack processor comprises a designation of a third default gateway for the second dedicated TCP/IP stack processor that is different from the first default gateway for the dedicated TCP/IP stack processor and the second default gateway for the generic TCP/IP stack processor; implementing the second dedicated TCP/IP stack processor with an IP address of the second third default gateway; processing data using the second dedicated TCP/IP stack processor to generate a second IP packet with an IP address not in a routing table of the second dedicated TCP/IP stack processor; and sending the second IP packet to the IP address of the third default gateway. 7. The method of claim 6 , wherein the generic TCP/IP stack processor provides TCP/IP processing for a plurality of processes not assigned to any dedicated IP stack. 8. The method of claim 1 , wherein implementing the dedicated TCP/IP stack processor with the first default gateway comprises configuring, without user input, a default gateway address of the dedicated TCP/IP stack processor as an IP address of the first default gateway. 9. The method of claim 8 , wherein the default gateway address of the dedicated TCP/IP stack processor is configured dynamically. 10. The method of claim 9 , wherein the default gateway address of the dedicated TCP/IP stack processor is configured using a dynamic host configuration protocol. 11. A non-transitory machine readable medium storing a program which when executed by at least one processing unit implements a plurality of TCP/IP stack processors outside of any virtual machine, the program comprising sets of instructions for: retrieving configuration data for a dedicated TCP/IP stack processor, wherein the configuration data comprises a designation of a first default gateway for the dedicated TCP/IP stack processor that is different from a second default gateway for a generic TCP/IP stack processor, wherein the generic and dedicated TCP/IP stack processes are not implemented by virtual machines; without user input, configuring the dedicated TCP/IP stack processor with an IP address of the first default gateway; processing data using the dedicated TCP/IP stack processor to generate an IP packet with an IP address not in a routing table of the dedicated TCP/IP stack processor; and sending the IP packet to the IP address of the first default gateway. 12. The non-transitory machine readable medium of claim 11 , wherein the dedicated TCP/IP stack processor is a first dedicated TCP/IP stack processor, the program comprises a set of instructions for implementing a second dedicated TCP/IP stack processor with a third default gateway. 13. The non-transitory machine readable medium of claim 12 wherein the first dedicated TCP/IP stack processor is implemented with a first virtual local area network (VLAN) and the second dedicated TCP/IP stack processor is implemented with a second VLAN. 14. The non-transitory machine readable medium of claim 13 , wherein the program further comprises a set of instructions for adding a first VLAN tag to IP packets produced by the first dedicated TCP/IP stack processor and a second VLAN tag to IP packets produced by the second dedicated TCP/IP stack processor. 15. The non-transitory machine readable medium of claim 14 , wherein IP packets with the first VLAN tag and IP packets with the second VLAN tag are sent to a single physical network interface card (pNIC). 16. The non-transitory machine readable medium of claim 11 , wherein the processing units are processing units of a host device that implements a user space and a kernel space. 17. The non-transitory machine readable medium of claim 16 , wherein the data is produced by a process operating in the kernel space. 18. The non-transitory machine readable medium of claim 16 , wherein the data is produced by a process operating in the user space. 19. A method of communicating between a first hypervisor service process on a first subnet and a second hypervisor service process on a second subnet, the method comprising: retrieving configuration data for a dedicated TCP/IP stack processor on a host of the first subnet, wherein the configuration data comprises a designation of a first default gateway for the dedicated TCP/IP stack processor that is different from a second default gateway for a generic TCP/IP stack processor on the host of the first subnet; implementing the dedicated TCP/IP stack processor with the first default gateway; processing data from the first hypervisor service process using the dedicated TCP/IP stack processor to generate an IP packet with an IP address not in a routing table of the dedicated TCP/IP stack processor; and
Related publications grouped by family.
Answers are generated from the same data shown on this page.