US 11,888,725 B2
Multi-cast support for a virtual network
Harish Kumar Chandrappa, Bothell, WA (US); Adarsh Kirnelli Rangaiah, Bothell, WA (US); Milan Dasgupta, Seattle, WA (US); Daniel Max Firestone, Seattle, WA (US); Michal Czeslaw Zygmunt, Bellevue, WA (US); Xinyan Zan, Sammamish, WA (US); Rishabh Tewari, Sammamish, WA (US); Eric Lawrence Albert Lantz, Sammamish, WA (US); Deepak Bansal, Yarrow Point, WA (US); and Young Lee, Redmond, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 21, 2021, as Appl. No. 17/507,719.
Application 17/507,719 is a continuation of application No. 16/428,868, filed on May 31, 2019, granted, now 11,184,274.
Prior Publication US 2022/0150156 A1, May 12, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 45/16 (2022.01); G06F 9/455 (2018.01); H04L 12/46 (2006.01); H04L 45/64 (2022.01); H04L 45/00 (2022.01); H04L 15/16 (2006.01)
CPC H04L 15/16 (2013.01) [G06F 9/45558 (2013.01); H04L 12/4633 (2013.01); H04L 12/4641 (2013.01); H04L 45/64 (2013.01); H04L 45/66 (2013.01); G06F 2009/45595 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for supporting multicast on a virtual network, comprising:
a computer comprising a processor and a memory having computer-executable instructions stored thereupon which, when executed by the processor, cause the system to:
receive a multicast data packet from an application of a source virtual machine of the virtual network, the multicast data packet including a multicast destination Internet Protocol (IP) address and a multicast destination media access control address;
apply a connectivity policy to the multicast data packet to match a multicast configuration to the multicast destination IP address;
based on matching the multicast configuration to the multicast destination IP address, generate a replica of the multicast data packet for a member to the multicast data packet;
establishing a packet flow for the replica to enable bypassing of the connectivity policy to the replica;
forming a unicast data packet by encapsulating the replica with an underlay unicast IP header that indicates a destination of a host machine associated with the replica; and
in accordance with the established packet flow, sending the unicast data packet to the destination indicated in the underlay unicast IP header.