IP Library Granted Patent US 12706770
Granted Patent B2
US 12706770 · App. 18/790,064 · Granted Aug 11, 2026

Efficient multicast source roaming in an overlay network

Inventors: Tathagata Nandy (Bangalore, IN); Subramanian Muthukumar (Bangalore, IN); Chethan Chavadibagilu Radhakrishnabhat (Bangalore, IN)
Assignee: Hewlett Packard Enterprise Development LP
H04L12/1886H04L12/185H04L12/4633H04L45/64
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 12706770
App. No.
18/790,064
Granted
Aug 11, 2026
Kind
B2
Abstract

A first network device operating as a tunnel endpoint in a tunnel fabric is provided. During operation, the first network device can receive, via a local port, a network join request to receive multicast traffic of a multicast group from a second network device. The first network device can store a multicast state for the multicast group in a data structure associated with the control plane. The multicast state can indicate that the network join request is received via a tunnel between the first and second network devices. The first network device can then determine whether a source of the multicast group is coupled to the first network device. If the source is coupled to the first network device, it can program a multicast forwarding entry corresponding to the multicast state in forwarding hardware and forward the multicast traffic to the second network device based on the multicast forwarding entry.

Claims (54)

1 . A method, comprising:

receiving, by a first network device in a distributed tunnel fabric, a network join request to receive multicast traffic of a multicast group from a second network device in the distributed tunnel fabric, wherein a respective pair of network devices of the distributed tunnel fabric are coupled to each other via a tunnel;

storing a multicast state for the multicast group in a data structure associated with a control plane of the first network device, wherein the multicast state indicates that the network join request is received via a first overlay tunnel between the first network device and the second network device;

determining, by the first network device, whether a media access control (MAC) address of a source of the multicast group is learned from a local port of the first network device; and

in response to learning the MAC address from the local port of the first network device:

programming a multicast forwarding entry in forwarding hardware of the first network device based on the multicast state stored in the data structure; and

forwarding, to the second network device, the multicast traffic received from the local port based on the multicast forwarding entry.

2 . The method of claim 1 , further comprising receiving the multicast traffic of the multicast group from the local port of the first network device.

3 . The method of claim 1 , wherein, in response to not learning the MAC address from the local port, the method further comprises refraining from programming the multicast forwarding entry in the forwarding hardware.

4 . The method of claim 3 , further comprising:

determining that the source has roamed to the first network device in response to learning the MAC address from the local port; and

programming the multicast forwarding entry in the forwarding hardware of the first network device based on the multicast state.

5 . The method of claim 4 , wherein forwarding the multicast traffic of the multicast group to the second network device comprises one or more of:

forwarding the multicast traffic prior to receiving a new network join request from the second network device; and

forwarding the multicast traffic prior to processing the new network join request, wherein the new network join request refreshes the multicast forwarding entry.

6 . The method of claim 3 , wherein the source is coupled to a third network device of the distributed tunnel fabric, and wherein a virtual local area network (VLAN) of the source is configured on the first network device and the third network device;

wherein the method further comprises:

receiving, by the first network device, the multicast traffic of the multicast group via a second overlay tunnel between the first network device and the third network device; and

discarding the multicast traffic at the forwarding hardware of the first network device.

7 . The method of claim 1 , wherein the distributed tunnel fabric is based on an Ethernet virtual private network (EVPN), and wherein control information is exchanged in the distributed tunnel fabric via respective EVPN route updates.

8 . The method of claim 1 , wherein the second network device sends the network join request in response to receiving an Internet Group Management Protocol (IGMP) join request from a client device, and wherein the network join request includes a Protocol-Independent Multicast (PIM) join request.

9 . A method, comprising:

receiving, from a client device coupled to a port of a first network device in a distributed tunnel fabric comprising a plurality of network devices, a client join request to receive multicast traffic of a multicast group, wherein a respective pair of network devices of the distributed tunnel fabric are coupled to each other via a tunnel;

sending, by the first network device, a network join request for the multicast group to a respective other network device of the distributed tunnel fabric;

receiving, from a second network device of the distributed tunnel fabric, the multicast traffic of the multicast group via a first overlay tunnel between the first network device and the second network device, wherein a source of the multicast group is coupled to the second network device; and

in response to the source roaming to a third network device of the distributed tunnel fabric, receiving, by the first network device from the third network device, the multicast traffic of the multicast group via a second overlay tunnel between the first network device and the third network device.

10 . The method of claim 9 , wherein the receiving the multicast traffic from the third network device comprises one or more of:

receiving, by the first network device, the multicast traffic prior to sending a new network join request for the multicast group from the first network device to the third network device;

receiving the multicast traffic prior to the third network device receiving the new network join request from the first network device; and

receiving the multicast traffic prior to the third network device processing the new network join request from the first network device.

11 . The method of claim 9 , further comprising:

determining the roaming of the source in response to receiving a control message of the distributed tunnel fabric from the third network device, wherein the control message comprises a media access control (MAC) address of the source.

12 . The method of claim 11 , wherein the distributed tunnel fabric is based on an Ethernet virtual private network (EVPN), and wherein the control message is an EVPN route update received from the third network device.

13 . The method of claim 9 , wherein the client join request includes an Internet Group Management Protocol (IGMP) join request, and wherein the network join request includes a Protocol-Independent Multicast (PIM) join request.

14 . The method of claim 9 , wherein the network join request triggers generation of a multicast state for the multicast group at a control plane of a receiving network device, wherein the multicast state indicates the multicast group and a tunnel between the first network device and the receiving network device.

15 . A non-transitory computer-readable storage medium storing instructions that when executed by at least one processing resource of a first network device in a distributed tunnel fabric cause the at least one processing resource to perform a method, the method comprising:

receiving, by a first network device in a distributed tunnel fabric, a network join request to receive multicast traffic of a multicast group from a second network device in the distributed tunnel fabric, wherein a respective pair of network devices of the distributed tunnel fabric are coupled to each other via a tunnel;

storing a multicast state for the multicast group in a data structure associated with a control plane of the first network device, wherein the multicast state indicates that the network join request is received via a first overlay tunnel between the first network device and the second network device;

determining, by the first network device, whether a media access control (MAC) address of a source of the multicast group is learned from a local port of the first network device; and

in response to learning the MAC address from the local port of the first network device:

programming a multicast forwarding entry in forwarding hardware of the first network device based on the multicast state stored in the data structure; and

forwarding, to the second network device, the multicast traffic received from the local port based on the multicast forwarding entry.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises receiving the multicast traffic of the multicast group from the local port of the first network device.

17 . The non-transitory computer-readable storage medium of claim 15 , wherein, in response to not learning the MAC address from the local port, the method further comprises refraining from programming the multicast forwarding entry in the forwarding hardware.

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

determining that the source has roamed to the first network device in response to learning the MAC address from the local port; and

programming the multicast forwarding entry in the forwarding hardware of the first network device based on the multicast state.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein forwarding the multicast traffic of the multicast group to the second network device comprises one or more of:

forwarding the multicast traffic prior to receiving a new network join request from the second network device; and

forwarding the multicast traffic prior to processing the new network join request, wherein the new network join request refreshes the multicast forwarding entry.

20 . The non-transitory computer-readable storage medium of claim 17 , wherein the source is coupled to a third network device of the distributed tunnel fabric, and wherein a virtual local area network (VLAN) of the source is configured on the first network device and the third network device;

wherein the method further comprises:

receiving, by the first network device, the multicast traffic of the multicast group via a second overlay tunnel between the first network device and the third network device; and

discarding the multicast traffic at the forwarding hardware of the first network device.