IP Library Granted Patent US 12,500,789
Granted Patent B2
US 12,500,789 · App. 18/126,325 · Granted Dec 16, 2025

Multicast group membership control for a container environment

Inventors: Bin Liu (Beijing, CN); Wenying Dong (Beijing, CN); Ruochen Shen (Beijing, CN); Quan Tian (Beijing, CN); Jianjun Shen (Redwood City, CA)
Assignee: VMware, Inc.
H04L12/185H04L45/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 12,500,789
App. No.
18/126,325
Granted
Dec 16, 2025
Kind
B2
Abstract

The disclosure provides approaches for managing multicast group membership at a node. An approach includes policing whether a pod can join a multicast group based on one or more rules. The approach further includes updating forwarding tables of a virtual switch based on whether the pod is allowed to join the multicast group.

Claims (58)

1 . A method comprising:

receiving, from a first pod, a multicast join request message to join a first multicast group;

determining, based on one or more multicast rules, whether the first pod is allowed to join the first multicast group;

based on determining the first pod is allowed to join the first multicast group, updating a multicast membership table stored in the node to indicate the first pod is a member of the first multicast group;

updating forwarding rules in a multicast forwarding table of a virtual switch to reflect the updated multicast membership table;

receiving, at the virtual switch, a first multicast packet with a source address and a destination address; and

determining whether to forward the first multicast packet to the first pod based at least in part on:

the multicast forwarding table;

the source address;

the destination address; and

a rule indicating whether packets associated with the first multicast group are to be forwarded based on one or more of the source address or the destination address.

2 . The method of claim 1 , wherein an agent operating on a virtual machine (VM) receives the multicast join request and determines whether the first pod is allowed to join the first multicast group, the method further comprising:

receiving, by the agent and from an agent controller running on a container orchestrator, the one or more multicast rules.

3 . The method of claim 2 further comprising:

compiling, by the agent, the multicast forwarding table based on the multicast membership table and one or more of egress rules, ingress rules, or control rules.

4 . The method of claim 1 , wherein determining whether to forward the first multicast packet comprises determining to forward the first multicast packet to the first pod based on the first pod being a member of the first multicast group and the destination address of the first multicast packet being associated with the first multicast group.

5 . The method of claim 1 , further comprising:

receiving, at the virtual switch, a second multicast packet with a destination address corresponding to a second multicast group; and

determining to not forward the second multicast packet to the first pod based on the first pod not being a member of the second multicast group and the destination address of the second multicast packet being associated with the second multicast group.

6 . The method of claim 1 , wherein determining whether to forward the first multicast packet comprises determining to not forward the first multicast packet based on the first pod being a member of the first multicast group, the destination address of the first multicast packet being associated with the first multicast group, and a rule indicating multicast packets associated with the first multicast group must be sent from an address other than the source address.

7 . The method of claim 1 , wherein determining whether to forward the first multicast packet comprises determining to not forward the first multicast packet based on the first pod being a member of the first multicast group, the destination address of the first multicast packet being associated with the first multicast group, and a rule indicating multicast packets associated with the first multicast group must be sent from an address other than the source address to be received by the first pod.

8 . The method of claim 1 further comprising forwarding the first multicast packet to the first pod based on the determining whether to forward the first multicast packet.

9 . A computer system comprising memory and one or more processors configured to perform operations comprising:

receiving, from a first pod, a multicast join request message to join a first multicast group;

determining, based on one or more multicast rules, whether the first pod is allowed to join the first multicast group;

based on determining the first pod is allowed to join the first multicast group, updating a multicast membership table stored in the node to indicate the first pod is a member of the first multicast group;

updating forwarding rules in a multicast forwarding table of a virtual switch to reflect the updated multicast membership table;

receiving, at the virtual switch, a first multicast packet with a source address and a destination address; and

determining whether to forward the first multicast packet to the first pod based at least in part on:

the multicast forwarding table;

the source address;

the destination address; and

a rule indicating whether packets associated with the first multicast group are to be forwarded based on one or more of the source address or the destination address.

10 . The computer system of claim 9 , wherein determining whether to forward the first multicast packet comprises determining to forward the first multicast packet to the first pod based on the first pod being a member of the first multicast group and the destination address of the first multicast packet being associated with the first multicast group.

11 . The computer system of claim 9 , wherein the operations further comprise:

receiving, at the virtual switch, a second multicast packet with a destination address corresponding to a second multicast group; and

determining to not forward the second multicast packet to the first pod based on the first pod not being a member of the second multicast group and the destination address of the second multicast packet being associated with the second multicast group.

12 . The computer system of claim 9 , wherein determining whether to forward the first multicast packet comprises determining to not forward the first multicast packet based on the first pod being a member of the first multicast group, the destination address of the first multicast packet being associated with the first multicast group, and a rule indicating multicast packets associated with the first multicast group must be sent from an address other than the source address.

13 . The computer system of claim 9 , wherein determining whether to forward the first multicast packet comprises determining to not forward the first multicast packet based on the first pod being a member of the first multicast group, the destination address of the first multicast packet being associated with the first multicast group, and a rule indicating multicast packets associated with the first multicast group must be sent from an address other than the source address to be received by the first pod.

14 . The computer system of claim 9 , wherein the operations further comprise forwarding the first multicast packet to the first pod based on the determining whether to forward the first multicast packet.

15 . A non-transitory computer-readable medium storing instructions, which when executed by a computer system, cause the computer system to perform operations comprising:

receiving, from a first pod, a multicast join request message to join a first multicast group;

determining, based on one or more multicast rules, whether the first pod is allowed to join the first multicast group;

based on determining the first pod is allowed to join the first multicast group, updating a multicast membership table stored in the node to indicate the first pod is a member of the first multicast group;

updating forwarding rules in a multicast forwarding table of a virtual switch to reflect the updated multicast membership table;

receiving, at the virtual switch, a first multicast packet with a source address and a destination address; and

determining whether to forward the first multicast packet to the first pod based at least in part on:

the multicast forwarding table;

the source address;

the destination address; and

a rule indicating whether packets associated with the first multicast group are to be forwarded based on one or more of the source address or the destination address.

16 . The non-transitory computer-readable medium of claim 15 , wherein determining whether to forward the first multicast packet comprises determining to forward the first multicast packet to the first pod based on the first pod being a member of the first multicast group and the destination address of the first multicast packet being associated with the first multicast group.

17 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

receiving, at the virtual switch, a second multicast packet with a destination address corresponding to a second multicast group; and

determining to not forward the second multicast packet to the first pod based on the first pod not being a member of the second multicast group and the destination address of the second multicast packet being associated with the second multicast group.

18 . The non-transitory computer-readable medium of claim 15 , wherein determining whether to forward the first multicast packet comprises determining to not forward the first multicast packet based on the first pod being a member of the first multicast group, the destination address of the first multicast packet being associated with the first multicast group, and a rule indicating multicast packets associated with the first multicast group must be sent from an address other than the source address.

19 . The non-transitory computer-readable medium of claim 15 , wherein determining whether to forward the first multicast packet comprises determining to not forward the first multicast packet based on the first pod being a member of the first multicast group, the destination address of the first multicast packet being associated with the first multicast group, and a rule indicating multicast packets associated with the first multicast group must be sent from an address other than the source address to be received by the first pod.

20 . The non-transitory computer-readable medium of claim 15 , further comprising forwarding the first multicast packet to the first pod based on the determining whether to forward the first multicast packet.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2023
From: LIU, BIN; DONG, WENYING; SHEN, RUOCHEN; TIAN, QUAN; SHEN, JIANJUN
To: VMWARE, INC.
Reel/Frame 063098/0832 →