Multicast Optimization Design and Implementation
Juniper Networks supports the multicast optimization features discussed in this section in both centrally-routed bridging (CRB) and edge-routed bridging (ERB) overlays.
This design assumes that an EVPN-VXLAN ERB overlay is already running for IPv4 unicast traffic. (See Edge-Routed Bridging Overlay Design and Implementation for information about configuring edge-routed bridging.) However, the multicast optimization features uses a centrally routed approach.
Starting in Junos OS and Junos OS Evolved Release 22.2R2, we recommend deploying the optimized intersubnet multicast (OISM) solution for ERB overlay unicast EVPN-VXLAN networks that include multicast traffic. OISM combines the best aspects of ERB and CRB overlay designs together to provide the most efficient multicast traffic flow in ERB overlay fabrics.
We describe the OISM configuration that we validated in our ERB overlay reference architecture here:
This section shows how to add centrally-routed multicast optimizations to the edge-routed bridging topology shown in Figure 1.

Multicast is configured as follows:
Server leaf devices are set up in AR leaf role and for IGMP snooping.
Spine devices are set up in AR replicator role.
Border leaf devices are set up for multicast routing.
If your multicast environment requires assisted replication to handle large multicast flows and multicast routing, we recommend any of the QFX10000 line of switches for the border leaf and border spine roles. However, note that the QFX10002-60C switch supports multicast at a lower scale than the QFX10002-36Q/72Q switches. Also, we do not recommend any of the MX Series routers included in this reference design as a border leaf in a multicast environment with large multicast flows.
For an overview of multicast optimizations, see the Multicast Optimization section in Data Center Fabric Blueprint Architecture Components.
The following sections show how to configure and verify multicast assisted replication:
Configuring the Server Leaf
We are configuring AR and IGMP snooping on the server leaf. When IGMP snooping is enabled on a device, SMET is also enabled on the device by default.
- Enable IGMP snooping.set protocols igmp-snooping vlan BD-1set protocols igmp-snooping vlan BD-2set protocols igmp-snooping vlan BD-3set protocols igmp-snooping vlan BD-4
- Enable AR in the leaf role. This causes the server leaf
to only forward one copy of multicast traffic to the spine, which
then performs replication of the multicast traffic.
The replicator-activation-delay is the time, in seconds, the leaf waits before sending the replication to the AR replicator after receiving the AR replicator route from the replicator.
set protocols evpn assisted-replication leaf replicator-activation-delay 10
Configuring the Spine
We are configuring the spine as AR replicator device.
- Configure IP addressing for the loopback interfaces. One
address is used for the AR replicator role (192.168.102.2). The other
address (192.168.2.2) is used for the VTEP tunnel.set interfaces lo0 unit 0 family inet address 192.168.2.2/32 preferredset interfaces lo0 unit 0 family inet address 192.168.102.2/32
- Configure the spine to act as the AR replicator device.set protocols evpn assisted-replication replicator inet 192.168.102.2set protocols evpn assisted-replication replicator vxlan-encapsulation-source-ip ingress-replication-ip
- Configure the loopback interface that is used in the VRF
routing instance. set interfaces lo0 unit 1 family inet
- Configure a VRF routing instance.set routing-instances VRF-1 instance-type vrfset routing-instances VRF-1 interface lo0.1set routing-instances VRF-1 route-distinguisher 192.168.2.2:1set routing-instances VRF-1 vrf-target target:100:1
- Configure VLANs to the border leaf.set vlans BD-1 vlan-id 1set vlans BD-1 vxlan vni 100001set vlans BD-2 vlan-id 2set vlans BD-2 vxlan vni 100002set vlans BD-3 vlan-id 3set vlans BD-3 vxlan vni 100003set vlans BD-4 vlan-id 4set vlans BD-4 vxlan vni 100004
- Configure the EVPN protocol with VXLAN encapsulation.set protocols evpn encapsulation vxlanset protocols evpn default-gateway no-gateway-communityset protocols evpn extended-vni-list all
- Configure the switch options, and specify that the loopback
interface is the VTEP source interface.set switch-options vtep-source-interface lo0.0set switch-options vrf-target target:10458:0set switch-options vrf-target auto
Configuring the Border Leaf
This section describes how to set up multicast routing on the border leafs.
We do not configure AR on the border leafs. In this network design, the two border leafs share a multihomed ESI, and one of the border leaf devices supports AR but the other does not. In this situation, we do not recommend configuring AR on the border leaf that supports this feature. However, if your network includes two border leafs that share a multihomed ESI, and both border leaf devices support AR, we support the configuration of AR on both border leafs.
- Configure VLANsset vlans BD-1 vlan-id 1set vlans BD-1 l3-interface irb.1set vlans BD-1 vxlan vni 100001set vlans BD-2 vlan-id 2set vlans BD-2 l3-interface irb.2set vlans BD-2 vxlan vni 100002set vlans BD-3 vlan-id 3set vlans BD-3 l3-interface irb.3set vlans BD-3 vxlan vni 100003set vlans BD-4 vlan-id 4set vlans BD-4 l3-interface irb.4set vlans BD-4 vxlan vni 100004
- Configure the EVPN protocol with VXLAN encapsulation.set protocols evpn encapsulation vxlanset protocols evpn default-gateway no-gateway-communityset protocols evpn extended-vni-list all
- Configure the switch options and specify that the loopback
interface is the VTEP source interface. set switch-options vtep-source-interface lo0.0set switch-options vrf-target target:10458:0set switch-options vrf-target auto
- Configure the IRBs. set interfaces irb unit 1 virtual-gateway-accept-dataset interfaces irb unit 1 family inet address 10.0.1.239/24 preferredset interfaces irb unit 1 family inet address 10.0.1.239/24 virtual-gateway-address 10.0.1.254set interfaces irb unit 1 family inet6 nd6-stale-time 1200set interfaces irb unit 1 family inet6 address 2001:db8::10:0:1:239/112 preferredset interfaces irb unit 1 family inet6 address 2001:db8::10:0:1:239/112 virtual-gateway-address 2001:db8::10:0:1:254set interfaces irb unit 1 family inet6 address fe80:10:0:1::239/64 virtual-gateway-address fe80:10:0:1::254set interfaces irb unit 1 virtual-gateway-v4-mac 00:00:5e:00:00:04set interfaces irb unit 1 virtual-gateway-v6-mac 00:00:5e:00:00:04set interfaces irb unit 2 virtual-gateway-accept-dataset interfaces irb unit 2 family inet address 10.0.2.239/24 preferredset interfaces irb unit 2 family inet address 10.0.2.239/24 virtual-gateway-address 10.0.2.254set interfaces irb unit 2 family inet6 nd6-stale-time 1200set interfaces irb unit 2 family inet6 address 2001:db8::10:0:2:239/112 preferredset interfaces irb unit 2 family inet6 address 2001:db8::10:0:2:239/112 virtual-gateway-address 2001:db8::10:0:2:254set interfaces irb unit 2 family inet6 address fe80:10:0:2::239/64 virtual-gateway-address fe80:10:0:2::254set interfaces irb unit 2 virtual-gateway-v4-mac 00:00:5e:00:00:04set interfaces irb unit 2 virtual-gateway-v6-mac 00:00:5e:00:00:04set interfaces irb unit 3 virtual-gateway-accept-dataset interfaces irb unit 3 family inet address 10.0.3.239/24 preferredset interfaces irb unit 3 family inet address 10.0.3.239/24 virtual-gateway-address 10.0.3.254set interfaces irb unit 3 family inet6 nd6-stale-time 1200set interfaces irb unit 3 family inet6 address 2001:db8::10:0:3:239/112 preferredset interfaces irb unit 3 family inet6 address 2001:db8::10:0:3:239/112 virtual-gateway-address 2001:db8::10:0:3:254set interfaces irb unit 3 family inet6 address fe80:10:0:3::239/64 virtual-gateway-address fe80:10:0:3::254set interfaces irb unit 3 virtual-gateway-v4-mac 00:00:5e:00:00:04set interfaces irb unit 3 virtual-gateway-v6-mac 00:00:5e:00:00:04set interfaces irb unit 4 virtual-gateway-accept-dataset interfaces irb unit 4 family inet address 10.0.4.239/24 preferredset interfaces irb unit 4 family inet address 10.0.4.239/24 virtual-gateway-address 10.0.4.254set interfaces irb unit 4 family inet6 nd6-stale-time 1200set interfaces irb unit 4 family inet6 address 2001:db8::10:0:4:239/112 preferredset interfaces irb unit 4 family inet6 address 2001:db8::10:0:4:239/112 virtual-gateway-address 2001:db8::10:0:4:254set interfaces irb unit 4 family inet6 address fe80:10:0:4::239/64 virtual-gateway-address fe80:10:0:4::254set interfaces irb unit 4 virtual-gateway-v4-mac 00:00:5e:00:00:04set interfaces irb unit 4 virtual-gateway-v6-mac 00:00:5e:00:00:04
- Configure a VRF routing instance. set routing-instances VRF-1 instance-type vrfset routing-instances VRF-1 interface lo0.1set routing-instances VRF-1 interface irb.1set routing-instances VRF-1 interface irb.2set routing-instances VRF-1 interface irb.3set routing-instances VRF-1 interface irb.4set routing-instances VRF-1 route-distinguisher 192.186.0.1:1set routing-instances VRF-1 vrf-target target:100:1
- Configure PIM for multicast routing at the border leaf
devices. set routing-instances VRF-1 protocols pim rp local address 10.0.1.239set routing-instances VRF-1 protocols pim interface irb.1 family inetset routing-instances VRF-1 protocols pim interface irb.1 mode sparse-denseset routing-instances VRF-1 protocols pim interface irb.2 family inetset routing-instances VRF-1 protocols pim interface irb.2 mode sparse-denseset routing-instances VRF-1 protocols pim interface irb.3 family inetset routing-instances VRF-1 protocols pim interface irb.3 mode sparse-denseset routing-instances VRF-1 protocols pim interface irb.4 family inetset routing-instances VRF-1 protocols pim interface irb.4 mode sparse-dense
Verifying Assisted Replication on the Server Leaf
The server leaf is in the role of AR leaf device. This means that it does not perform ingress replication. Instead, it forwards one copy of multicast traffic to the spine, which is configured as the AR replicator device.
- Verify that the spines are in the role of Assisted Replicator
and are receiving Type 3 routes. Address 192.168.102.1 is Spine 1,
and address 192.168.102.2 is Spine 2.
user@server-leaf> show route table bgp.evpn.0 match-prefix 3:*100001*192.168.102.* extensive | match "3:192.168.2|ASSISTED-REPLICATION"
3:192.168.2.1:10000::100001::192.168.102.1/248 IM (2 entries, 0 announced) PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR 3:192.168.2.2:10000::100001::192.168.102.2/248 IM (2 entries, 0 announced) PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.2 Role AR-REPLICATOR PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.2 Role AR-REPLICATOR
user@server-leaf> show route table bgp.evpn.0 match-prefix 3:*100001*192.168.102.1* extensive
bgp.evpn.0: 156388 destinations, 299429 routes (156388 active, 0 holddown, 0 hidden) 3:192.168.2.1:10000::100001::192.168.102.1/248 IM (2 entries, 0 announced) *BGP Preference: 170/-101 Route Distinguisher: 192.168.2.1:10000 PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR Next hop type: Indirect, Next hop index: 0 Address: 0x1a6b08f0 Next-hop reference count: 4000 Source: 192.168.2.1 Protocol next hop: 192.168.102.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <Active Int Ext> Local AS: 4210000001 Peer AS: 4210000001 Age: 4:58:08 Metric2: 0 Validation State: unverified Task: BGP_4210000001.192.168.2.1 AS path: I Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x4:extended-MH-AR Import Accepted Localpref: 100 Router ID: 192.168.2.1 Secondary Tables: default-switch.evpn.0 Indirect next hops: 1 Protocol next hop: 192.168.102.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 172.16.109.0 via ae3.0 Session Id: 0x0 192.168.102.1/32 Originating RIB: inet.0 Node path count: 1 Forwarding nexthops: 1 Nexthop: 172.16.109.0 via ae3.0 Session Id: 0 BGP Preference: 170/-101 Route Distinguisher: 192.168.2.1:10000 PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR Next hop type: Indirect, Next hop index: 0 Address: 0x1a6b08f0 Next-hop reference count: 4000 Source: 192.168.2.2 Protocol next hop: 192.168.102.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <NotBest Int Ex> Inactive reason: Not Best in its group - Cluster list length Local AS: 4210000001 Peer AS: 4210000001 Age: 5:14:41 Metric2: 0 Validation State: unverified Task: BGP_4210000001.192.168.2.2 AS path: I (Originator) Cluster list: 192.168.2.10 Originator ID: 192.168.2.1 Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x4:extended-MH-AR Import Accepted Localpref: 100 Router ID: 192.168.2.2 Secondary Tables: default-switch.evpn.0 Indirect next hops: 1 Protocol next hop: 192.168.102.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 172.16.109.0 via ae3.0 Session Id: 0x0 192.168.102.1/32 Originating RIB: inet.0 Node path count: 1 Forwarding nexthops: 1 Nexthop: 172.16.109.0 via ae3.0 Session Id: 0
- Verify the spine that is set up as the AR device for the
VLAN. 192.168.102.2 is the address of the AR device.
user@server-leaf> show evpn multicast-snooping assisted-replication next-hops l2-domain-id 100001
Instance: default-switch AR Role: AR Leaf VN Identifier: 100001 Load Balance Nexthop Index: 134135 Load balance to: Nexthop Index Interface AR IP 23119 vtep.32881 192.168.102.1 21753 vtep.32770 192.168.102.2 (Designated Node)
Verifying Assisted Replication on the Spine
- Verify that server leaf devices 1 through 4 are AR leaf
devices. (The loopback addresses of server leaf devices 1 through
4 are 192.168.0.1, 192.168.0.2, 192.168.0.3, and 192.168.0.4, respectively.)
The border leaf devices are not set up for assisted replication.
user@spine> show route table bgp.evpn.0 match-prefix 3:*100001*192.168.0.* extensive | match "3:192.168.0.|LEAF"| except "PMSI|Path"
3:192.168.0.1:10000::100001::192.168.0.1/248 IM (1 entry, 1 announced) PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF ## Leaf 1 PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF 3:192.168.0.2:10::100001::192.168.0.2/248 IM (1 entry, 1 announced) PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.2 AR-LEAF ## Leaf 2 PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.2 AR-LEAF 3:192.168.0.3:10000::100001::192.168.0.3/248 IM (1 entry, 1 announced) PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.3 AR-LEAF ## Leaf 3 PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.3 AR-LEAF 3:192.168.0.4:10000::100001::192.168.0.4/248 IM (2 entries, 1 announced) PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.4 AR-LEAF ## Leaf 4 PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.4 AR-LEAF 3:192.168.0.10:10000::100001::192.168.0.10/248 IM (1 entry, 1 announced) ## Border Leaf 1 3:192.168.0.11:10000::100001::192.168.0.11/248 IM (1 entry, 1 announced) ## Border Leaf 2
user@spine> show route table bgp.evpn.0 match-prefix 3:*100001*192.168.0.1 extensive
bgp.evpn.0: 362179 destinations, 504791 routes (347873 active, 14306 holddown, 0 hidden) 3:192.168.0.1:10000::100001::192.168.0.1/248 IM (1 entry, 1 announced) TSI: Page 0 idx 0, (group overlay-bgp-rr type Internal) Type 1 val 0x1af46804 (adv_entry) Advertised metrics: Nexthop: 192.168.0.1 Localpref: 100 AS path: [4210000001] I Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x1:snooping-enabled PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF Cluster ID: 192.168.2.10 Originator ID: 192.168.0.1 Page 0 idx 1, (group overlay-bgp type Internal) Type 1 val 0x1af46510 (adv_entry) Advertised metrics: Nexthop: 192.168.0.1 Localpref: 100 AS path: [4210000001] I Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x1:snooping-enabled PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF Cluster ID: 192.168.2.10 Originator ID: 192.168.0.1 Advertise: 0000001e Path 3:192.168.0.1:10000::100001::192.168.0.1 from 192.168.0.1 Vector len 4. Val: 0 1 *BGP Preference: 170/-101 Route Distinguisher: 192.168.0.1:10000 PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF Next hop type: Indirect, Next hop index: 0 Address: 0x11bd0d90 Next-hop reference count: 35023 Source: 192.168.0.1 Protocol next hop: 192.168.0.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <Active Int Ext> Local AS: 4210000001 Peer AS: 4210000001 Age: 18:34:04 Metric2: 0 Validation State: unverified Task: BGP_4210000001.192.168.0.1 Announcement bits (1): 1-BGP_RT_Background AS path: I Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x1:snooping-enabled Import Accepted Localpref: 100 Router ID: 192.168.0.1 Secondary Tables: default-switch.evpn.0 Indirect next hops: 1 Protocol next hop: 192.168.0.1 Indirect next hop: 0x2 no-forward INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 172.16.101.1 via ae1.0 Session Id: 0x0 192.168.0.1/32 Originating RIB: inet.0 Node path count: 1 Forwarding nexthops: 1 Nexthop: 172.16.101.1 via ae1.0 Session Id: 0
Multicast Optimization with a Centrally Routed Multicast Design— Feature Summary
Table 1 provides a history of the features described in this section and their support within this reference design.
Table 1: Multicast Optimization Feature Summary (Centrally Routed Multicast Design)
Hardware | IGMPv2 Snooping | EVPN Type 6 SMET Routes | Inter-VNI Multicast with PIM Gateway | Assisted Replication | PIM to External Rendezvous Point (From Border) |
---|---|---|---|---|---|
QFX51001 | Not supported | Not supported | Not supported | Not supported | Not supported |
QFX5110-32Q, QFX5110-48S | 18.1R3-S3 | 18.4R2 | Not supported | Not supported | Not supported |
QFX5120-48Y | 18.4R2 | 18.4R2 | Not supported | Not supported | Not supported |
QFX5120-32C | 19.1R2 | 19.1R2 | Not supported | Not supported | Not supported |
QFX5200-32C1, QFX5200-48Y1 | Not supported | Not supported | Not supported | Not supported | Not supported |
QFX10002-36Q/72Q, QFX10008, QFX10016 | 18.1R3-S3 | 18.4R2 | 18.1R3-S3 | 18.4R2 | 17.3R3-S1 |
QFX10002-60C2 | 20.2R2 | 20.2R2 | 20.2R2 | 20.2R2 | 20.2R2 |
MX204; MX240, MX480, MX960 with MPC7E; MX10003; | Not supported | Not supported | Not supported | Not supported | Not supported |
1Make sure that IGMP snooping is not enabled on these QFX switches. If IGMP snooping is inadvertently enabled, these switches might process EVPN Type 6 routes that are reflected to them.
2The QFX10002-60C switch supports multicast at a lower scale than the QFX10002-36Q/72Q switches.