# US 2022/0286752 A1 · Dynamic designated forwarder election per multicast stream for evpn all-active homing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2022/0286752 A1
- Document ID: US20220286752A1
- Status: Published application
- Kind: A1
- Application number: 17/751,112
- Filed: 2022-05-23
- Published: 2022-09-08
- Earliest claimed: 2017-11-30
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Ali Sajassi; Samir Thoria; Tapraj Singh; Mankamana Prasad Mishra
- Web page: https://patentgrep.com/patent/US20220286752A1

## CPC

- H04N 21/6405: Multicasting {(data broadcast and multicast in packet switching networks H04L12/18)}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04N 21/222: Secondary servers, e.g. proxy server, cable television Head-end {(provisioning of proxy services in data packet switching networks H04L67/56)}
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04N 21/2405: {Monitoring of the internal components or processes of the server, e.g. server load (allocation of resources in multiprogramming arrangements G06F9/50; performance measurement of computer activity G06F11/34)}
- H04W 8/005: {Discovery of network devices, e.g. terminals}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method is performed by a first provider edge (PE) of a redundancy group including provider edges configured with an Ethernet virtual private network (EVPN) segment identifier (EVI) and an Ethernet segment identifier (ESI) and that are multi-homed to a customer edge (CE). The method includes, upon receiving from the CE a join request including a group address for a multicast stream, electing a designated forwarder (DF) for the multicast stream. The electing includes: computing for each PE a respective affinity for the DF as a function of a respective address of the PE, the EVI, and the group address; and determining which PE has a largest affinity. The method further includes, if the first PE has the largest affinity or does not have the largest affinity, configuring the first PE as the designated forwarder or not configuring the first PE as the designated forwarder for the multicast stream, respectively.

## Claims

### Claim 1

A method comprising:
at a first provider edge among provider edges that are multi-homed to a customer edge:
discovering addresses of the provider edges and constructing a candidate list that represents the provider edges by their addresses;
receiving, from the customer edge, a join request for a multicast stream;
electing, as a designated forwarder, a provider edge among the provider edges at least based on the addresses on the candidate list; and
configuring the designated forwarder to forward the multicast stream.

### Claim 2 (depends on 1)

The method of claim 1, wherein the join request includes a group address of the multicast stream, and the method further comprises:
computing, for each provider edge having a respective address of the addresses on the candidate list, a respective affinity as a mathematical function of at least the respective address and the group address,
wherein electing includes electing, as the designated forwarder, the provider edge having a largest affinity.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
computing further includes computing the respective affinity as the mathematical function based further on an identifier corresponding to an Ethernet virtual private network (EVPN) segment identifier (EVI).

### Claim 4 (depends on 3)

The method of claim 3, wherein the identifier corresponding to the EVI includes the EVI or a virtual local area network (VLAN) identifier configured on the provider edges of a redundancy group.

### Claim 5 (depends on 2)

The method of claim 2, wherein:
computing further includes computing the respective affinity as the mathematical function based further on a source address of the multicast stream.

### Claim 6 (depends on 5)

The method of claim 5, wherein the join request includes the source address for the multicast stream.

### Claim 7 (depends on 5)

The method of claim 5, wherein the join request does not include the source address, and the method further comprises:
receiving the source address from the multicast stream.

### Claim 8

An apparatus comprising:
network ports to communicate with a network; and
a processor of a first provider edge among provider edges that are multi-homed to a customer edge, wherein the processor is coupled to the network ports and configured to perform:
discovering addresses of the provider edges and constructing a candidate list that represents the provider edges by their addresses;
receiving, from the customer edge, a join request for a multicast stream;
electing, as a designated forwarder, a provider edge among the provider edges at least based on the addresses on the candidate list; and
configuring the designated forwarder to forward the multicast stream.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the join request includes a group address of the multicast stream, and the processor is further configured to perform:
computing, for each provider edge having a respective address of the addresses on the candidate list, a respective affinity as a mathematical function of at least the respective address and the group address,
wherein the processor is configured to perform electing by electing, as the designated forwarder, the provider edge having a largest affinity.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein:
the processor is configured to perform computing by computing the respective affinity as the mathematical function based further on an identifier corresponding to an Ethernet virtual private network (EVPN) segment identifier (EVI).

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the identifier corresponding to the EVI includes the EVI or a virtual local area network (VLAN) identifier configured on the provider edges of a redundancy group.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein:
the processor is configured to perform computing by computing the respective affinity as the mathematical function based further on a source address of the multicast stream.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the join request includes the source address for the multicast stream.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein the join request does not include the source address, and the processor is further configured to perform:
receiving the source address from the multicast stream.

### Claim 15

A non-transitory computer readable medium encoded with instructions that, when executed by a processor, cause the processor to perform:
at a first provider edge among provider edges that are multi-homed to a customer edge:
discovering addresses of the provider edges and constructing a candidate list that represents the provider edges by their addresses;
receiving, from the customer edge, a join request for a multicast stream;
electing, as a designated forwarder, a provider edge among the provider edges at least based on the addresses on the candidate list; and
configuring the designated forwarder to forward the multicast stream.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the join request includes a group address of the multicast stream, and the instructions further comprise instructions to cause the processor to perform:
computing, for each provider edge having a respective address of the addresses on the candidate list, a respective affinity as a mathematical function of at least the respective address and the group address,
wherein the instructions to cause the processor to perform electing includes instructions to cause the processor to perform electing, as the designated forwarder, the provider edge having a largest affinity.

### Claim 17 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein:
the instructions to cause the processor to perform computing include instructions to cause the process to perform computing the respective affinity as the mathematical function based further on an identifier corresponding to an Ethernet virtual private network (EVPN) segment identifier (EVI).

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the identifier corresponding to the EVI includes the EVI or a virtual local area network (VLAN) identifier configured on the provider edges of a redundancy group.

### Claim 19 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein:
the instructions to cause the processor to perform computing include instructions to cause the process to perform computing the respective affinity as the mathematical function based further on a source address of the multicast stream.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the join request includes the source address for the multicast stream.
