IP Library Granted Patent US 11,044,211
Granted Patent B2
US 11,044,211 · App. 16/713,008 · Granted Jun 22, 2021

Multicast packet handling based on control information in software-defined networking (SDN) environment

Inventors: Wenfeng Liu (Beijing, CN); Hua Wang (Beijing, CN); Jingchun Jiang (Beijing, CN); Donghai Han (Beijing, CN); Jianjun Shen (Redwood City, CA)
Assignee: NICIRA, INC.
H04L49/201H04L12/1886H04L45/16
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,044,211
App. No.
16/713,008
Granted
Jun 22, 2021
Kind
B2
Abstract

Example methods are provided for first host to perform multicast packet handling in a software-defined networking (SDN) environment. The method may comprise: in response to the first host detecting, from a first virtualized computing instance, a request to join a multicast group address, obtaining control information from a network management entity. The control information may include one or more destination addresses associated with one or more second hosts that have joined the multicast group address on behalf of multiple second virtualized computing instances. The method may also comprise: in response to the first host detecting an egress multicast packet that includes an inner header addressed to the multicast group address, generating one or more encapsulated multicast packets based on the control information and sending the one or more encapsulated multicast packets in a unicast manner or multicast manner, or a combination of both.

Claims (74)

1. A method for a first host to perform multicast packet handling in a software-defined networking (SDN) environment that includes the first host and one or more second hosts residing on a data plane, wherein the method comprises:

in response to the first host detecting, from a first virtualized computing instance supported by the first host, a request to join a multicast group address,

sending, to a network management entity residing on a control plane that is separate from the data plane, a request to join the multicast group address to cause the network management entity to inform one or more second hosts of a source virtual tunnel endpoint (VTEP) address associated with the first host; and

obtaining, from the network management entity, control information that includes one or more destination addresses associated with the one or more second hosts that have joined the multicast group address on behalf of multiple second virtualized computing instances; and

in response to the first host detecting, from the first virtualized computing instance, an egress multicast packet that includes an inner header addressed to the multicast group address,

generating one or more encapsulated multicast packets based on the control information, wherein a particular encapsulated multicast packet is generated by encapsulating the egress multicast packet with an outer header addressed from the source VTEP address to a particular destination address; and

sending the one or more encapsulated multicast packets to the one or more second hosts in a unicast manner or multicast manner, or a combination of both.

2. The method of claim 1 , wherein sending the request comprises:

sending, to the network management entity, the request to join the multicast group address on behalf of the first virtualized computing instance, wherein the request includes the multicast group address, the source VTEP address and an identifier of a logical overlay network on which the first virtualized computing instance is located.

3. The method of claim 1 , wherein generating and sending the one or more encapsulated multicast packets comprises:

based on the control information that includes a first destination VTEP address associated with a particular second host, generating a first encapsulated multicast packet with a first outer header addressed to the first destination VTEP address;

based on the control information that includes a second destination VTEP address associated with another second host, generating a second encapsulated multicast packet with a second outer header addressed to the second destination VTEP address; and

sending the first encapsulated multicast packet and the second encapsulated multicast packet in a unicast manner.

4. The method of claim 1 , wherein generating and sending the one or more encapsulated multicast packets comprises:

based on the control information that includes a physical multicast group address associated with the multicast group address, generating one encapsulated multicast packet with the outer header addressed to the physical multicast group address; and

sending the one encapsulated multicast packet via one or more multicast-enabled network devices that are capable of forwarding the encapsulated multicast packet in a multicast manner.

5. The method of claim 4 , wherein the method further comprises:

generating and sending, to the one or more multicast-enabled network devices, a request to join the physical multicast group address to join the physical multicast group address on behalf of the first virtualized computing instance.

6. The method of claim 1 , wherein generating and sending the one or more encapsulated multicast packets comprises:

based on the control information that includes a physical multicast group address associated with the multicast group address, generating a first encapsulated multicast packet with a first outer header addressed to the physical multicast group address; and

sending the one encapsulated multicast packet via one or more multicast-enabled network devices that are capable of forwarding the encapsulated multicast packet in a multicast manner.

7. The method of claim 6 , wherein generating and sending the one or more encapsulated multicast packets further comprises:

based on the control information that includes a destination VTEP address that is in a different subnet compared to a source VTEP address associated with the first host, generating a second encapsulated multicast packet with a second outer header addressed to the destination VTEP address or a multicast tunnel endpoint (MTEP) address associated with the different subnet; and

sending the second encapsulated multicast packet in a unicast manner.

8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a first host, cause the processor to perform a method of performing multicast packet handling in a software-defined networking (SDN) environment that includes the first host and one or more second hosts residing on a data plane, wherein the method comprises:

in response to the first host detecting, from a first virtualized computing instance supported by the first host, a request to join a multicast group address,

sending, to a network management entity residing on a control plane that is separate from the data plane, a request to join the multicast group address to cause the network management entity to inform one or more second hosts of a source virtual tunnel endpoint (VTEP) address associated with the first host; and

obtaining, from the network management entity, control information that includes one or more destination addresses associated with the one or more second hosts that have joined the multicast group address on behalf of multiple second virtualized computing instances; and

in response to the first host detecting, from the first virtualized computing instance, an egress multicast packet that includes an inner header addressed to the multicast group address,

generating one or more encapsulated multicast packets based on the control information, wherein a particular encapsulated multicast packet is generated by encapsulating the egress multicast packet with an outer header addressed from the source VTEP address to a particular destination address; and

sending the one or more encapsulated multicast packets to the one or more second hosts in a unicast manner or multicast manner, or a combination of both.

9. The non-transitory computer-readable storage medium of claim 8 , wherein sending the request comprises:

sending, to the network management entity, the request to join the multicast group address on behalf of the first virtualized computing instance, wherein the request includes the multicast group address, the source VTEP address and an identifier of a logical overlay network on which the first virtualized computing instance is located.

10. The non-transitory computer-readable storage medium of claim 8 , wherein generating and sending the one or more encapsulated multicast packets comprises:

based on the control information that includes a first destination VTEP address associated with a particular second host, generating a first encapsulated multicast packet with a first outer header addressed to the first destination VTEP address;

based on the control information that includes a second destination VTEP address associated with another second host, generating a second encapsulated multicast packet with a second outer header addressed to the second destination VTEP address; and

sending the first encapsulated multicast packet and the second encapsulated multicast packet in a unicast manner.

11. The non-transitory computer-readable storage medium of claim 8 , wherein generating and sending the one or more encapsulated multicast packets comprises:

based on the control information that includes a physical multicast group address associated with the multicast group address, generating one encapsulated multicast packet with the outer header addressed to the physical multicast group address; and

sending the one encapsulated multicast packet via one or more multicast-enabled network devices that are capable of forwarding the encapsulated multicast packet in a multicast manner.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

generating and sending, to the one or more multicast-enabled network devices, a request to join the physical multicast group address to join the physical multicast group address on behalf of the first virtualized computing instance.

13. The non-transitory computer-readable storage medium of claim 8 , wherein generating and sending the one or more encapsulated multicast packets comprises:

based on the control information that includes a physical multicast group address associated with the multicast group address, generating a first encapsulated multicast packet with a first outer header addressed to the physical multicast group address; and

sending the one encapsulated multicast packet via one or more multicast-enabled network devices that are capable of forwarding the encapsulated multicast packet in a multicast manner.

14. The non-transitory computer-readable storage medium of claim 13 , wherein generating and sending the one or more encapsulated multicast packets further comprises:

based on the control information that includes a destination VTEP address that is in a different subnet compared to a source VTEP address associated with the first host, generating a second encapsulated multicast packet with a second outer header addressed to the destination VTEP address or a multicast tunnel endpoint (MTEP) address associated with the different subnet; and

sending the second encapsulated multicast packet in a unicast manner.

15. A first host configured to perform multicast packet handling in a software-defined networking (SDN) environment that includes the first host and one or more second hosts residing on a data plane, wherein the first host comprises:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions for a first hypervisor that, in response to execution by the processor, cause the first hypervisor to:

in response to the first host detecting, from a first virtualized computing instance supported by the first host, a request to join a multicast group address,

send, to a network management entity residing on a control plane that is separate from the data plane, a request to join the multicast group address to cause the network management entity to inform one or more second hosts of a source virtual tunnel endpoint (VTEP) address associated with the first host; and

obtain, from the network management entity, control information that includes one or more destination addresses associated with the one or more second hosts that have joined the multicast group address on behalf of multiple second virtualized computing instances; and

in response to the first host detecting, from the first virtualized computing instance, an egress multicast packet that includes an inner header addressed to the multicast group address,

generate one or more encapsulated multicast packets based on the control information, wherein a particular encapsulated multicast packet is generated by encapsulating the egress multicast packet with an outer header addressed from the source VTEP address to a particular destination address; and

send the one or more encapsulated multicast packets to the one or more second hosts in a unicast manner or multicast manner, or a combination of both.

16. The first host of claim 15 , wherein the instructions for sending the request cause the first hypervisor to:

send, to the network management entity, the request to join the multicast group address on behalf of the first virtualized computing instance, wherein the request includes the multicast group address, the source VTEP address and an identifier of a logical overlay network on which the first virtualized computing instance is located.

17. The first host of claim 15 , wherein the instructions for generating and sending the one or more encapsulated multicast packets cause the first hypervisor to:

based on the control information that includes a first destination VTEP address associated with a particular second host, generate a first encapsulated multicast packet with a first outer header addressed to the first destination VTEP address;

based on the control information that includes a second destination VTEP address associated with another second host, generate a second encapsulated multicast packet with a second outer header addressed to the second destination VTEP address; and

send the first encapsulated multicast packet and the second encapsulated multicast packet in a unicast manner.

18. The first host of claim 15 , wherein the instructions for generating and sending the one or more encapsulated multicast packets cause the first hypervisor to:

based on the control information that includes a physical multicast group address associated with the multicast group address, generate one encapsulated multicast packet with the outer header addressed to the physical multicast group address; and

send the one encapsulated multicast packet via one or more multicast-enabled network devices that are capable of forwarding the encapsulated multicast packet in a multicast manner.

19. The first host of claim 18 , wherein the instructions further cause the first hypervisor to:

generate and send, to the one or more multicast-enabled network devices, a request to join the physical multicast group address to join the physical multicast group address on behalf of the first virtualized computing instance.

20. The first host of claim 15 , wherein the instructions for generating and sending the one or more encapsulated multicast packets cause the first hypervisor to:

based on the control information that includes a physical multicast group address associated with the multicast group address, generate a first encapsulated multicast packet with a first outer header addressed to the physical multicast group address; and

send the one encapsulated multicast packet via one or more multicast-enabled network devices that are capable of forwarding the encapsulated multicast packet in a multicast manner.

21. The first host of claim 20 , wherein the instructions for generating and sending the one or more encapsulated multicast packets cause the first hypervisor to:

based on the control information that includes a destination VTEP address that is in a different subnet compared to a source VTEP address associated with the first host, generate a second encapsulated multicast packet with a second outer header addressed to the destination VTEP address or a multicast tunnel endpoint (MTEP) address associated with the different subnet; and

send the second encapsulated multicast packet in a unicast manner.

Assignments (1)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
Cited By (2)
US 12,513,023 US 12,615,166