Using different TCP/IP stacks for different hypervisor services

US9832112B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9832112-B2
Application numberUS-201414231705-A
CountryUS
Kind codeB2
Filing dateMar 31, 2014
Priority dateMar 31, 2014
Publication dateNov 28, 2017
Grant dateNov 28, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Re-configuration of fast packet switches · CPC title

  • Virtual switches · CPC title

  • H04L45/42Primary

    Centralised routing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9832112B2 cover?
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…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/42. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).