IP Library Granted Patent US 10,503,565
Granted Patent B2
US 10,503,565 · App. 15/652,150 · Granted Dec 10, 2019

System and method for multicasting data between networking interfaces of hypervisors

Inventors: Fei Guo (Beijing, CN); Yonggang Wang (Beijing, CN); Keyong Sun (Beijing, CN); Dousheng Zhao (Beijing, CN); Lele Zhang (Beijing, CN)
Assignee: Nicira, Inc.
G06F9/542G06F9/45558H04L12/18H04L12/1886H04L12/4633H04L49/201H04L63/0272G06F9/546G06F2009/45595H04L12/465H04L2012/4629
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 10,503,565
App. No.
15/652,150
Granted
Dec 10, 2019
Kind
B2
Abstract

A host computer and method for multicasting data between networking interfaces of hypervisors in a distributed computer system uses a Virtual Extensible LAN Network Identifier (VNI) assigned to a multicast group and an identifier of a VXLAN Tunnel End Point (VTEP) of the host computer associated to the VNI so that data being multicast for the multicast group can be routed to the networking interfaces via VTEPs associated with the VNI.

Claims (46)

1. A method for multicasting data between networking interfaces of hypervisors in a distributed computer system, the method comprising:

receiving a request to join a particular multicast group from a software process connected to a networking interface of a hypervisor in a host computer at a multicast agent module of the host computer;

sending a query from the multicast agent module to a logical network manager for a Virtual Extensible LAN Network Identifier (VNI) assigned to the particular multicast group;

receiving the VNI assigned to the particular multicast group from the logical network manager at the multicast agent module;

sending a VNI join message to the logical network manager from the multicast agent module to join a Virtual Extensible LAN (VXLAN) segment defined by the VNI; and

sending an identifier of a VXLAN Tunnel End Point (VTEP) of the host computer to the logical network manager from the multicast agent module to be associated with the VNI so that data being multicast for the particular multicast group can be routed to the networking interface via the VTEP.

2. The method of claim 1 , further comprising:

receiving multicast data from a source software process connected to a source networking interface of a source hypervisor in a source host computer at a multicast output handler of the source host computer, the source networking interface being a member of the particular multicast group;

attaching the VNI assigned to the particular multicast group to the multicast data by the multicast output handler; and

transmitting the multicast data with the VNI to all VTEPs associated with the particular multicast group.

3. The method of claim 1 , wherein the networking interface of the hypervisor has an Internet Protocol (IP) address.

4. The method of claim 3 , wherein the networking interface of the hypervisor is a VMkernel port of the hypervisor.

5. The method of claim 4 , wherein the software process is a process of a VMkernel connected to the VMkernel port of the hypervisor.

6. The method of claim 1 , wherein the identifier of the VTEP is an Internet Protocol (IP) address.

7. The method of claim 1 , wherein the request to join the particular multicast group is an Internet Group Management Protocol (IGMP) join message.

8. The method of claim 1 , further comprising propagating the identifier of the VTEP of the host computer to other hypervisors associated with the particular multicast group from the network manager.

9. The method of claim 1 , wherein propagating the identifier of the VTEP of the host computer includes sending a VTEP membership message to the other hypervisors associated with the particular multicast group, the VTEP membership message including the VNI and identifiers of VTEPs associated with the VNI.

10. A non-transitory computer-readable storage medium containing program instructions for multicasting data between networking interfaces of hypervisors in a distributed computer system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:

receiving a request to join a particular multicast group from a software process connected to a networking interface of a hypervisor in a host computer at a multicast agent module of the host computer;

sending a query from the multicast agent module to a logical network manager for a Virtual Extensible LAN Network Identifier (VNI) assigned to the particular multicast group;

receiving the VNI assigned to the particular multicast group from the logical network manager at the multicast agent module;

sending a VNI join message to the logical network manager from the multicast agent module to join a Virtual Extensible LAN (VXLAN) segment defined by the VNI; and

sending an identifier of a VXLAN Tunnel End Point (VTEP) of the host computer to the logical network manager from the multicast agent module to be associated with the VNI so that data being multicast for the particular multicast group can be routed to the networking interface via the VTEP.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the steps further comprise:

receiving multicast data from a source software process connected to a source networking interface of a source hypervisor in a source host computer at a multicast output handler of the source host computer, the source networking interface being a member of the particular multicast group;

attaching the VNI assigned to the particular multicast group to the multicast data by the multicast output handler; and

transmitting the multicast data with the VNI to all VTEPs associated with the particular multicast group.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the networking interface of the hypervisor has an Internet Protocol (IP) address.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the networking interface of the hypervisor is a VMkernel port of the hypervisor.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the software process is a process of a VMkernel connected to the VMkernel port of the hypervisor.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the identifier of the VTEP is an Internet Protocol (IP) address.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the request to join the particular multicast group is an Internet Group Management Protocol (IGMP) join message.

17. The non-transitory computer-readable storage medium of claim 10 , wherein the steps further comprise propagating the identifier of the VTEP of the host computer to other hypervisors associated with the particular multicast group from the network manager.

18. The non-transitory computer-readable storage medium of claim 10 , wherein propagating the identifier of the VTEP of the host computer includes sending a VTEP membership message to the other hypervisors associated with the particular multicast group, the VTEP membership message including the VNI and identifiers of VTEPs associated with the VNI.

19. A host computer of a distributed computer system comprising:

memory; and

a processor configured to:

receive a request to join a particular multicast group from a software process connected to a networking interface of a hypervisor in the host computer at a multicast agent module of the host computer;

send a query from the multicast agent module to a logical network manager of the distributed computer system for a Virtual Extensible LAN Network Identifier (VNI) assigned to the particular multicast group;

receive the VNI assigned to the particular multicast group from the logical network manager at the multicast agent module;

send a VNI join message to the logical network manager from the multicast agent module to join a Virtual Extensible LAN (VXLAN) segment defined by the VNI; and

send an identifier of a VXLAN Tunnel End Point (VTEP) of the host computer to the logical network manager from the multicast agent module to be associated with the VNI so that data being multicast for the particular multicast group can be routed to the networking interface via the VTEP.

20. The host computer of claim 19 , wherein the processor is further configured to:

receive multicast data from the software process connected to the networking interface of the hypervisor in the host computer at a multicast output handler of the host computer, the networking interface being a member of the particular multicast group;

attach the VNI assigned to the particular multicast group to the multicast data by the multicast output handler; and

transmit the multicast data with the VNI to all VTEPs associated with the particular multicast group.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2017
From: GUO, FEI; WANG, YONGGANG; SUN, KEYONG; ZHAO, DOUSHENG; ZHANG, LELE
To: NICIRA, INC.
Reel/Frame 043026/0368 →
Continuity (1)
Related Publication 20190018716A1 · Jan 17, 2019
Cited By (2)
US 12,218,833 US 12,316,471