IP Library Granted Patent US 10,979,246
Granted Patent B2
US 10,979,246 · App. 16/043,164 · Granted Apr 13, 2021

Multicast packet handling in software-defined networking (SDN) environments

Inventors: Sami Boutros (Union City, CA); Alexander Tessmer (Palo Alto, CA); Subin Cyriac Mathew (Palo Alto, CA); Chidambareswaran Raman (Palo Alto, CA)
Assignee: NICIRA, INC.
H04L12/4633G06F9/45558H04L12/4641H04L45/16H04L45/64H04L49/70G06F2009/45591G06F2009/45595
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,979,246
App. No.
16/043,164
Granted
Apr 13, 2021
Kind
B2
Abstract

Example methods are provided for a host to perform multicast packet handling a software-defined networking (SDN) environment. One example method may comprise: in response to detecting, from a virtualized computing instance supported by the host, a request to join a first inner multicast group address, obtaining an outer multicast group address that is assigned to the first inner multicast group address and one or more second inner multicast group addresses; and generating and sending a request to join the outer multicast group address to one or more multicast-enabled network devices. In response to detecting an ingress encapsulated multicast packet that includes an outer header addressed to the outer multicast group address and an inner header addressed to the first inner multicast group address, the host may generate and send a decapsulated multicast packet to the virtualized computing instance that has joined the first inner multicast group address.

Claims (62)

1. A method for a host to perform multicast packet handling in a software-defined networking (SDN) environment, wherein the method comprises:

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

obtaining an outer multicast group address that is assigned to the first inner multicast group address and one or more second inner multicast group addresses; and

generating and sending a request to join the outer multicast group address to one or more multicast-enabled network devices that are capable of multicast forwarding based on the outer multicast group address; and

in response to detecting, from the one or more multicast-enabled network devices and by the host, an ingress encapsulated multicast packet that includes an outer header addressed to the outer multicast group address and an inner header addressed to the first inner multicast group address,

generating, by the host, a decapsulated multicast packet by removing the outer header from the ingress encapsulated multicast packet; and

sending the decapsulated multicast packet to the virtualized computing instance that has joined the first inner multicast group address.

2. The method of claim 1 , wherein obtaining the outer multicast group address comprises:

sending a report to a management entity to cause the management entity to assign, from a pool of addresses, the outer multicast group address to the first inner multicast group address based on an assignment policy.

3. The method of claim 2 , wherein obtaining the outer multicast group address comprises:

generating the report to include the first inner multicast group address and virtual tunnel endpoint (VTEP) address information associated with the host.

4. The method of claim 2 , wherein obtaining the outer multicast group address comprises:

obtaining, from the management entity, mapping information that associates the outer multicast group address with the first inner multicast group address and the one or more second inner multicast group addresses.

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

detecting, from a second virtualized computing instance supported by the host, a request to join a particular second inner multicast group address to which the outer multicast group address is also assigned.

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

in response to detecting the ingress encapsulated multicast packet, not sending the decapsulated multicast packet to the second virtualized computing instance that has not joined the first inner multicast group address.

7. The method of claim 1 , wherein the method further comprises:

detecting, from the virtualized computing instance, a request to leave the first inner multicast group address; and

in response to determination that the host does not support any virtualized computing instance that has joined at least one of the first inner multicast group address and the one or more second inner multicast group addresses, generating and sending a request to leave the outer multicast group address to the one or more multicast-enabled network devices.

8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a host, cause the processor to perform a method of multicast packet handling in a software-defined networking (SDN) environment, wherein the method comprises:

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

obtaining an outer multicast group address that is assigned to the first inner multicast group address and one or more second inner multicast group addresses; and

generating and sending a request to join the outer multicast group address to one or more multicast-enabled network devices that are capable of multicast forwarding based on the outer multicast group address; and

in response to detecting, from the one or more multicast-enabled network devices and by the host, an ingress encapsulated multicast packet that includes an outer header addressed to the outer multicast group address and an inner header addressed to the first inner multicast group address,

generating, by the host, a decapsulated multicast packet by removing the outer header from the ingress encapsulated multicast packet; and

sending the decapsulated multicast packet to the virtualized computing instance that has joined the first inner multicast group address.

9. The non-transitory computer-readable storage medium of claim 8 , wherein obtaining the outer multicast group address comprises:

sending a report to a management entity to cause the management entity to assign, from a pool of addresses, the outer multicast group address to the first inner multicast group address based on an assignment policy.

10. The non-transitory computer-readable storage medium of claim 9 , wherein obtaining the outer multicast group address comprises:

generating the report to include the first inner multicast group address and virtual tunnel endpoint (VTEP) address information associated with the host.

11. The non-transitory computer-readable storage medium of claim 9 , wherein obtaining the outer multicast group address comprises:

obtaining, from the management entity, mapping information that associates the outer multicast group address with the first inner multicast group address and the one or more second inner multicast group addresses.

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

detecting, from a second virtualized computing instance supported by the host, a request to join a particular second inner multicast group address to which the outer multicast group address is also assigned.

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

in response to detecting the ingress encapsulated multicast packet, not sending the decapsulated multicast packet to the second virtualized computing instance that has not joined the first inner multicast group address.

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

detecting, from the virtualized computing instance, a request to leave the first inner multicast group address; and

in response to determination that the host does not support any virtualized computing instance that has joined at least one of the first inner multicast group address and the one or more second inner multicast group addresses, generating and sending a request to leave the outer multicast group address to the one or more multicast-enabled network devices.

15. A host configured to perform multicast packet handling a software-defined networking (SDN) environment, wherein the host comprises:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform the following:

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

obtain an outer multicast group address that is assigned to the first inner multicast group address and one or more second inner multicast group addresses; and

generate and send a request to join the outer multicast group address to one or more multicast-enabled network devices that are capable of multicast forwarding based on the outer multicast group address; and

in response to detecting, from the one or more multicast-enabled network devices and by the host, an ingress encapsulated multicast packet that includes an outer header addressed to the outer multicast group address and an inner header addressed to the first inner multicast group address,

generate, by the host, a decapsulated multicast packet by removing the outer header from the ingress encapsulated multicast packet; and

send the decapsulated multicast packet to the virtualized computing instance that has joined the first inner multicast group address.

16. The host of claim 15 , wherein the instructions for obtaining the outer multicast group address cause the processor to:

send a report to a management entity to cause the management entity to assign, from a pool of addresses, the outer multicast group address to the first inner multicast group address based on an assignment policy.

17. The host of claim 16 , wherein the instructions for obtaining the outer multicast group address cause the processor to:

generate the report to include the first inner multicast group address and virtual tunnel endpoint (VTEP) address information associated with the host.

18. The host of claim 16 , wherein the instructions for obtaining the outer multicast group address cause the processor to:

obtain, from the management entity, mapping information that associates the outer multicast group address with the first inner multicast group address and the one or more second inner multicast group addresses.

19. The host of claim 15 , wherein the instructions further cause the processor to:

detect, from a second virtualized computing instance supported by the host, a request to join a particular second inner multicast group address to which the outer multicast group address is also assigned.

20. The host of claim 19 , wherein the instructions further cause the processor to:

in response to detecting the ingress encapsulated multicast packet, not send the decapsulated multicast packet to the second virtualized computing instance that has not joined the first inner multicast group address.

21. The host of claim 15 , wherein the instructions further cause the processor to:

detect, from the virtualized computing instance, a request to leave the first inner multicast group address; and

in response to determination that the host does not support any virtualized computing instance that has joined at least one of the first inner multicast group address and the one or more second inner multicast group addresses, generate and send a request to leave the outer multicast group address to the one or more multicast-enabled network devices.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2018
From: BOUTROS, SAMI; TESSMER, ALEXANDER; MATHEW, SUBIN CYRIAC; RAMAN, CHIDAMBARESWARAN
To: NICIRA, INC.
Reel/Frame 046435/0017 →