IP Library Granted Patent US 11,374,899
Granted Patent B2
US 11,374,899 · App. 17/069,197 · Granted Jun 28, 2022

Managing network connectivity between cloud computing service endpoints and virtual machines

Inventors: Mukesh Hira (Palo Alto, CA); Sandeep Siroya (Santa Clara, CA)
Assignee: Nicira, Inc.
H04L61/2007H04L47/125H04L61/2514H04L61/2521G06F2009/45595H04L61/6018H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,374,899
App. No.
17/069,197
Granted
Jun 28, 2022
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance connectivity between cloud computing service endpoints and virtual machines. In one implementation, a method of managing data packet addressing in a first namespace includes receiving a data packet at a first interface for the first namespace, wherein the first interface is paired with a second interface of a second namespace. The method also includes identifying if the packet is destined for a service node in an underlay network outside of an overlay network for the second namespace, and if destined for a service node outside of an overlay network for the second namespace, modifying addressing in the data packet to support the underlay network and transferring the data packet over a virtual network interface for the virtual machine.

Claims (74)

1. A method of managing data packet addressing in a first namespace, the method comprising:

receiving a data packet at a first interface for the first namespace, wherein the first interface is part of a veth pair with a second interface of a second namespace;

determining whether the data packet includes a destination address for a node in an overlay network for the second namespace or the data packet includes a destination address for a node in an underlay network outside of the overlay network for the second namespace; and

when the data packet includes a destination address for a node in the underlay network:

replacing a first source internet protocol (IP) address with a second source IP address in the data packet to support the underlay network; and

transferring the data packet over a network interface.

2. The method of claim 1 further comprising:

receiving a return data packet from the service node;

replacing the second IP source address associated with the underlay network to the first source IP address associated with the overlay network; and

transferring the return data packet to the second namespace via the first interface.

3. The method of claim 1 , wherein the destination address comprises a destination IP address.

4. The method of claim 1 , wherein determining whether the data packet includes a destination address for a node in an overlay network for the second namespace or the data packet includes a destination address for a node in an underlay network outside of the overlay network for the second namespace comprises determining that the data packet includes a destination address for a node in the underlay network and the method further comprising:

receiving a second data packet at the first interface;

determining that the second data packet includes a second destination address for a node in the overlay network; and

in response to determining that the second data packet includes a second destination address for the node in the overlay network:

encapsulating the second data packet; and

communicating the encapsulated second data packet over the network interface.

5. The method of claim 4 , wherein encapsulating the second data packet comprises adding addressing information to the second data packet in association with the underlay network.

6. The method of claim 1 , wherein the node comprises a load balancer.

7. The method of claim 1 , wherein the node comprises a container or a virtual machine.

8. The method of claim 1 further comprising:

receiving a second data packet at the network interface;

determining whether the second data packet originated from a second node in the underlay or the overlay network; and

when the second data packet originated from a second node in the overlay network:

decapsulating the second data packet; and

transfer the decapsulated second data packet to the second namespace via the first interface.

9. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system; and

program instructions stored on the storage system to manage data packet addressing in a first namespace that, when executed by the processing system, direct the computing apparatus to:

receive a data packet at a first interface for the first namespace, wherein the first interface is part of a veth pair with a second interface of a second namespace;

determine whether the data packet includes a destination address for a node in an overlay network for the second namespace or the data packet includes a destination address for a node in an underlay network outside of the overlay network for the second namespace;

when the data packet includes a destination address for a node in the underlay network:

replace a first source internet protocol (IP) address with a second source IP address in the data packet to support the underlay network; and

transfer the data packet over a network interface; and

when the data packet includes a destination address for a node in the overlay network:

encapsulate the data packet; and

communicate the encapsulated data packet over the network interface.

10. The computing apparatus of claim 9 , wherein the destination address comprises a destination IP address.

11. The computing apparatus of claim 9 , wherein encapsulating the data packet comprises adding addressing information to the data packet in association with the underlay network.

12. The computing apparatus of claim 9 , wherein the node in the underlay network comprises a load balancer.

13. The computing apparatus of claim 9 , wherein the node in the underlay network comprises a container or a virtual machine.

14. The computing apparatus of claim 9 , wherein the program instructions further direct the computing apparatus to:

receive a second data packet at the network interface;

determine whether the second data packet originated from a second node in the underlay network or the overlay network;

when the second data packet originated from a second node in the underlay network:

replace a destination IP address in the second data packet to a destination IP address associated with the second namespace; and

transfer the second data packet to the second namespace via the first interface;

when the second data packet originated from a second node in the overlay network:

decapsulate the second data packet;

transfer the decapsulated second data packet to the second namespace via the first interface.

15. A method comprising:

receiving a data packet at a first interface for the first namespace, wherein the first interface is part of a veth pair with a second interface of a second namespace;

determining whether the data packet includes a destination Internet Protocol (IP) address for a node in an overlay network for the second namespace or a destination IP address for a node in an underlay network outside of the overlay network;

when the data packet includes a destination address for a node in the underlay network:

replace a first source internet protocol (IP) address with a second source IP address in the data packet to support the underlay network; and

transfer the data packet over a network interface; and

when the data packet includes a destination address for a node in the overlay network:

encapsulate the data packet; and

transfer the encapsulated data packet over the network interface.

16. The method of claim 15 , wherein encapsulating the data packet comprises adding addressing information to the data packet in association with the underlay network.

17. The method of claim 15 , wherein the node in the underlay network comprises a load balancer.

18. The method of claim 15 , wherein the node in the underlay network comprises a container or a virtual machine.

19. The method of claim 15 further comprising:

receiving a second data packet at the network interface;

determining whether the second data packet originated from a second node in the underlay network or the overlay network;

when the second data packet originated from a second node in the underlay network:

replacing a destination IP address in the second data packet to a destination IP address associated with the second namespace; and

transferring the second data packet to the second namespace via the first interface;

when the second data packet originated from a second node in the overlay network:

decapsulating the second data packet; and

transferring the decapsulated second data packet to the second namespace via the first interface.

20. The method of claim 15 , wherein determining whether the data packet includes a destination IP address for a node in the overlay network for the second namespace or a destination IP address for a node in the underlay network comprises:

determining whether the destination IP address matches an IP address in a data structure of IP addresses associated with the underlay network.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: HIRA, MUKESH; SIROYA, SANDEEP
To: NICIRA, INC.
Reel/Frame 054040/0183 →
Continuity (2)
Continuation 15676410 · Aug 14, 2017
Related Publication 20210029077A1 · Jan 28, 2021