L2 Multicast in EVPN-MPLS VPRN R-VPLS with All-Active Multi-Homing
This chapter provides information about L2 Multicast in EVPN-MPLS VPRN R-VPLS with All-Active Multi-Homing.
Topics in this chapter include:
Applicability
The information and configuration in this chapter are based on SR OS Release 23.7.R1.
Overview
IPv4 multicast traffic can be forwarded from an EVPN-MPLS service into an attached R-VPLS service in which the receiving devices are using EVPN all-active multi-homing.
The routed service to which the R-VPLS service attaches can be an IES or a VPRN service. In this way, IPv4 multicast traffic can be transported using native IP for the IES case or NG-MVPN technologies for the VPRN case.
This feature requires:
IGMP support on the R-VPLS IP interface
Forwarding IPv4 multicast traffic from the IP interface of a VPRN or IES to its EVPN-MPLS R-VPLS service
IGMP snooping within the VPLS of the R-VPLS service
IGMP snooping state synchronization based on the ESI label to synchronize the IGMP snooping state between the all-active (R-)VPLS LAG SAPs
The configuration used in this chapter is the NG-MVPN scenario as shown in Multicast From an EVPN-MPLS Service Into an R-VPLS With All-Active EVPN Multi-Homing.
A multicast stream is emitted by the source connected to PE-2 with group address 225.70.1.1. A multicast receiver connected to MTU-4 joins group 225.70.1.1. MTU-4 is connected to PE-1 and PE-3 through an all-active multi-homing EVPN Ethernet segment comprising LAG 1. On MTU-4, LAG 1 comprises port 1/1/c1/1 and 1/1/c2/1, and this LAG is used in VPLS 10. On PE-1 and PE-3, VPLS 10 is interconnected with VPRN 1 through an Integrated Routing and Bridging (IRB) interface. VPRN 1 is defined in PE-1, PE-2, and PE-3, and uses NG-MVPN for transporting the multicast traffic through the core of the network. See the EVPN for MPLS Tunnels and EVPN for MPLS Tunnels in Routed VPLS chapters for more information about EVPN. See the "NG-MVPN Configuration with MPLS" and "NG-MVPN Configuration with PIM" chapters in the 7450 ESS, 7750 SR, and 7950 XRS Layer 3 Services Advanced Configuration Guide for MD CLI for more information about NG-MVPN.
Configuration
The initial configuration on the PE nodes includes the following:
Cards, MDAs, ports
Router interfaces
IS-IS (alternatively, OSPF can be used)
MPLS tunnels between the PEs: LDP- or RSVP-based
BGP is required at the core of the network, using the VPN IPv4 and MVPN IPv4 address families between all PEs, for supporting unicast and multicast traffic on VPRN services, and additionally using the EVPN address family between PE-1 and PE-3 to support EVPN services. The BGP configurations for PE-1, PE-2, and PE-3 are as follows:
# on PE-1:
configure {
router {
autonomous-system 64496
bgp {
vpn-apply-export true
vpn-apply-import true
rapid-withdrawal true
peer-ip-tracking true
family {
ipv4 false
vpn-ipv4 true
mvpn-ipv4 true
evpn true
}
ebgp-default-reject-policy {
import false
export false
}
rapid-update {
evpn true
}
group "iBGP" { }
neighbor "192.0.2.2" {
group "iBGP"
peer-as 64496
}
neighbor "192.0.2.3" {
group "iBGP"
peer-as 64496
}
}
}
}
# on PE-2:
configure {
router {
autonomous-system 64496
bgp {
vpn-apply-export true
vpn-apply-import true
rapid-withdrawal true
peer-ip-tracking true
family {
ipv4 false
vpn-ipv4 true
mvpn-ipv4 true
}
ebgp-default-reject-policy {
import false
export false
}
rapid-update {
evpn true
}
group "iBGP" { }
neighbor "192.0.2.1" {
group "iBGP"
peer-as 64496
}
neighbor "192.0.2.3" {
group "iBGP"
peer-as 64496
}
}
}
}
# on PE-3:
configure {
router {
autonomous-system 64496
bgp {
vpn-apply-export true
vpn-apply-import true
rapid-withdrawal true
peer-ip-tracking true
family {
ipv4 false
vpn-ipv4 true
mvpn-ipv4 true
evpn true
}
ebgp-default-reject-policy {
import false
export false
}
rapid-update {
evpn true
}
group "iBGP" { }
neighbor "192.0.2.1" {
group "iBGP"
peer-as 64496
}
neighbor "192.0.2.2" {
group "iBGP"
peer-as 64496
}
}
}
}
The receiver connected to MTU-4 joins group 225.70.1.1, and the corresponding multicast stream is emitted by the source that is connected to PE-2. MTU-4 is connected to PE-1 and PE-3 through an all-active multi-homing EVPN Ethernet segment comprising LAG 1. The VPLS and the LAG on MTU-4 are defined as follows:
# on MTU-4:
configure {
service {
vpls "mcast-vpls" {
admin-state enable
service-id 10
customer "1"
igmp-snooping {
admin-state enable
}
sap 1/2/c1/1 { }
sap lag-1:10 { }
}
}
}
configure {
lag "lag-1" {
admin-state enable
encap-type dot1q
mode access
port 1/1/c1/1 { }
port 1/1/c2/1 { }
}
}
The all-active multi-homing Ethernet segment esi-13 is configured identically on PE-1 and PE-3, as follows. See the EVPN for MPLS Tunnels and EVPN for MPLS Tunnels in Routed VPLS chapters for more information.
# on PE-1 and PE-3:
configure {
service {
system {
bgp {
evpn {
ethernet-segment "esi-13" {
admin-state enable
esi 0x01000000001300000001
multi-homing-mode all-active
df-election {
es-activation-timer 3
service-carving-mode manual
manual {
preference {
mode non-revertive
value 30
}
}
}
association {
lag "lag-1" { }
}
}
}
}
}
}
}
The multi-homed access circuits of esi-13 are located on port 1/1/c3/1 for PE-1 and PE-3, so the LAG is configured identically, as follows:
# on PE-1 and PE-3:
configure {
lag "lag-1" {
admin-state enable
encap-type dot1q
mode access
port 1/1/c3/1 { }
}
}
Also, the EVPN VPLS service with ID 10 is configured identically on PE-1 and PE-3, as follows. The mcast-vpls name is needed to link VPLS 10 to VPRN 1 at a later stage, without requiring a physical loop or hairpin. The routed-vpls command enables the VPLS to become an R-VPLS. The igmp-snooping and mrouter-port true commands are required for multicast to work correctly in an all-active multi-homed scenario.
# on PE-1 and PE-3:
configure {
service {
vpls "mcast-vpls" {
admin-state enable
service-id 10
customer "1"
routed-vpls {
multicast {
ipv4 {
igmp-snooping {
mrouter-port true
}
}
}
}
bgp 1 { }
igmp-snooping {
admin-state enable
}
bgp-evpn {
evi 111
mpls 1 {
admin-state enable
ingress-replication-bum-label true
auto-bind-tunnel {
resolution any
}
}
}
sap lag-1:10 { }
}
}
}
The VPRN service with ID 1 provides the connection toward MTU-4 via VPLS 10, through the int-MCAST-VPLS interface with address 10.1.4.1/24 on PE-1, and with address 10.1.4.3/24 on PE-3. This L3 interface is linked to VPLS 10 with the vpls "mcast-vpls" { } command. The int-MCAST-VPLS interface is also included in the IGMP and PIM configurations of VPRN 1. The full configuration of VPRN 1 on PE-1 is as follows. The configuration of VPRN 1 on PE-3 is similar.
# on PE-1:
configure {
service {
vprn "VPRN 1" {
admin-state enable
service-id 1
customer "1"
igmp {
ssm-translate {
group-range start 225.70.1.1 end 225.70.255.255 {
source 10.1.2.222 { }
}
}
interface "int-MCAST-VPLS" { }
interface "int-PE-1-CE-1" { }
}
pim {
interface "int-MCAST-VPLS" { }
interface "system" { }
}
mvpn {
c-mcast-signaling bgp
mdt-type receiver-only
auto-discovery {
type bgp
}
vrf-target {
unicast true
}
provider-tunnel {
inclusive {
mldp {
admin-state enable
}
}
selective {
data-threshold {
group-prefix 224.0.0.0/4 {
threshold 1
}
}
mldp {
admin-state enable
}
}
}
}
bgp-ipvpn {
mpls {
admin-state enable
route-distinguisher "64496:1"
vrf-target {
community "target:64496:1"
}
auto-bind-tunnel {
resolution any
}
}
}
interface "int-MCAST-VPLS" {
ipv4 {
primary {
address 10.1.4.1
prefix-length 24
}
}
vpls "mcast-vpls" { }
}
interface "int-PE-1-CE-1" {
ipv4 {
primary {
address 10.1.1.1
prefix-length 24
}
}
sap 1/2/c1/1 { }
}
interface "system" {
loopback true
ipv4 {
primary {
address 192.0.2.101
prefix-length 32
}
}
}
}
}
}
The full configuration of VPRN 1 on PE-2 is as follows. The int-PE-2-CE-2-source interface provides the connection to the multicast source.
# on PE-2:
configure {
service {
vprn "VPRN 1" {
admin-state enable
service-id 1
customer "1"
pim {
interface "int-PE-2-CE-2-source" { }
interface "system" { }
}
mvpn {
c-mcast-signaling bgp
mdt-type sender-only
auto-discovery {
type bgp
}
vrf-target {
unicast true
}
provider-tunnel {
inclusive {
mldp {
admin-state enable
}
}
selective {
data-threshold {
group-prefix 224.0.0.0/4 {
threshold 1
}
}
mldp {
admin-state enable
}
}
}
}
bgp-ipvpn {
mpls {
admin-state enable
route-distinguisher "64496:1"
vrf-target {
community "target:64496:1"
}
auto-bind-tunnel {
resolution any
}
}
}
interface "int-PE-2-CE-2-source" {
ipv4 {
primary {
address 10.1.2.1
prefix-length 24
}
}
sap 1/2/c1/1 { }
}
interface "system" {
loopback true
ipv4 {
primary {
address 192.0.2.102
prefix-length 32
}
}
}
}
}
}
Verification
The following command shows that esi-13 is an all-active multi-homed Ethernet segment, on PE-1. The same command can be executed on PE-3.
[/]
A:admin@PE-1# show service system bgp-evpn ethernet-segment name "esi-13"
===============================================================================
Service Ethernet Segment
===============================================================================
Name : esi-13
Eth Seg Type : None
Admin State : Enabled Oper State : Up
ESI : 01:00:00:00:00:13:00:00:00:01
Oper ESI : 01:00:00:00:00:13:00:00:00:01
Auto-ESI Type : None
AC DF Capability : Include
Multi-homing : allActive Oper Multi-homing : allActive
ES SHG Label : 524282
Source BMAC LSB : None
Lag : lag-1
ES Activation Timer : 3 secs
Oper Group : (Not Specified)
Svc Carving : manual Oper Svc Carving : manual
Cfg Range Type : lowest-pref
-------------------------------------------------------------------------------
DF Pref Election Information
-------------------------------------------------------------------------------
Preference Preference Last Admin Change Oper Pref Do No
Mode Value Value Preempt
-------------------------------------------------------------------------------
non-revertive 30 07/20/2023 11:24:10 30 Disabled
-------------------------------------------------------------------------------
EVI Ranges: <none>
ISID Ranges: <none>
Vprn NextHop EVI Ranges : <none>
===============================================================================
The output from the following commands on PE-1 and PE-3 shows that for esi-13, PE-1 is Non-Designated Forwarder (NDF), whereas PE-3 is Designated Forwarder (DF).
[/]
A:admin@PE-1# show service id 10 ethernet-segment "esi-13"
===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP Eth-Seg Status
-------------------------------------------------------------------------------
lag-1:10 esi-13 NDF
===============================================================================
No sdp entries
No vxlan instance entries
[/]
A:admin@PE-3# show service id 10 ethernet-segment "esi-13"
===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP Eth-Seg Status
-------------------------------------------------------------------------------
lag-1:10 esi-13 DF
===============================================================================
No sdp entries
No vxlan instance entries
A stream with group address 225.70.1.1 is started by the multicast source and joined by the multicast receiver connected to MTU-4. This stream is forwarded from PE-2 to PE-3; PE-1 is not involved in the forwarding.
PE-1 maintains IGMP state for group 225.70.1.1 in VPRN 1, and so does PE-3. PE-1 and PE-3 synchronize IGMP state using a data-driven mechanism. The forwarding list includes the int-MCAST-VPLS interface, as follows:
[/]
A:admin@PE-1# show router 1 igmp group 225.70.1.1 interfaces
===============================================================================
IGMP Interface Groups
===============================================================================
(*,225.70.1.1) UpTime: 0d 00:01:41
Fwd List : int-MCAST-VPLS
-------------------------------------------------------------------------------
Entries : 1
===============================================================================
PE-1 maintains PIM state for group 225.70.1.1, as follows. The outgoing interfaces list is empty and the forwarding rate is zero; both are indications that PE-1 is not forwarding any multicast traffic.
[/]
A:admin@PE-1# show router 1 pim group 225.70.1.1 detail
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 225.70.1.1
Source Address : 10.1.2.222
RP Address : 0
Advt Router : 192.0.2.2
Flags : Type : (S,G)
Mode : sparse
MRIB Next Hop : 192.0.2.2
MRIB Src Flags : remote
Keepalive Timer Exp: 0d 00:01:50
Up Time : 0d 00:02:34 Resolved By : rtable-u
Up JP State : Not Joined Up JP Expiry : 0d 00:00:00
Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00
Register State : No Info
Reg From Anycast RP: No
Rpf Neighbor : 192.0.2.2
Incoming Intf : mpls-if-73728
Outgoing Intf List :
Curr Fwding Rate : 0.000 kbps
Forwarded Packets : 0 Discarded Packets : 0
Forwarded Octets : 0 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
-------------------------------------------------------------------------------
Groups : 1
===============================================================================
PE-2 and PE-3 are forwarding the stream as indicated by the PIM state for this group, as follows:
[/]
A:admin@PE-2# show router 1 pim group 225.70.1.1 detail
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 225.70.1.1
Source Address : 10.1.2.222
RP Address : 0
Advt Router : 192.0.2.2
Flags : Type : (S,G)
Mode : sparse
MRIB Next Hop : 10.1.2.222
MRIB Src Flags : direct
Keepalive Timer : Not Running
Up Time : 0d 00:02:04 Resolved By : rtable-u
Up JP State : Joined Up JP Expiry : 0d 00:00:00
Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00
Register State : No Info
Reg From Anycast RP: No
Rpf Neighbor : 10.1.2.222
Incoming Intf : int-PE-2-CE-2-source
Outgoing Intf List : mpls-if-73728 (mpls-if-73730)
Curr Fwding Rate : 9745.632 kbps
Forwarded Packets : 60341 Discarded Packets : 0
Forwarded Octets : 89425362 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
-------------------------------------------------------------------------------
Groups : 1
===============================================================================
[/]
A:admin@PE-3# show router 1 pim group 225.70.1.1 detail
===============================================================================
PIM Source Group ipv4
===============================================================================
Group Address : 225.70.1.1
Source Address : 10.1.2.222
RP Address : 0
Advt Router : 192.0.2.2
Flags : Type : (S,G)
Mode : sparse
MRIB Next Hop : 192.0.2.2
MRIB Src Flags : remote
Keepalive Timer Exp: 0d 00:01:48
Up Time : 0d 00:02:35 Resolved By : rtable-u
Up JP State : Joined Up JP Expiry : 0d 00:00:24
Up JP Rpt : Not Joined StarG Up JP Rpt Override : 0d 00:00:00
Register State : No Info
Reg From Anycast RP: No
Rpf Neighbor : 192.0.2.2
Incoming Intf : mpls-if-73728
Incoming SPMSI Intf: mpls-if-73730
Outgoing Intf List : int-MCAST-VPLS
Curr Fwding Rate : 9745.632 kbps
Forwarded Packets : 86065 Discarded Packets : 0
Forwarded Octets : 127548330 RPF Mismatches : 0
Spt threshold : 0 kbps ECMP opt threshold : 7
Admin bandwidth : 1 kbps
-------------------------------------------------------------------------------
Groups : 1
===============================================================================
The outgoing interfaces on PE-2 and PE-3 are the mpls-if-73728 PMSI interface and the int-MCAST-VPLS interfaces, respectively. The properties of the S-PMSI interface are as follows:
[/]
A:admin@PE-2# show router 1 pim tunnel-interface "mpls-if-73728" detail
===============================================================================
PIM Interface ipv4 mpls-if-73728
===============================================================================
Admin Status : Up Oper Status : Up
IPv4 Admin Status : Up IPv4 Oper Status : Up
DR : 192.0.2.2
Auto-created : No
Transport Type : MVPN-Pmsi
-------------------------------------------------------------------------------
PIM Group Source
-------------------------------------------------------------------------------
Group Address : 225.70.1.1
Source Address : 10.1.2.222
Interface : mpls-if-73728 Type : (S,G)
RP Address : 0.0.0.0
Up Time : 0d 00:02:12
Join Prune State : Join Expires : Never
Prune Pend Expires : N/A
Assert State : No Info
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================
The stream is received on the incoming PMSI interface mpls-if-73728 on PE-3. The properties of this PMSI interface are as follows:
[/]
A:admin@PE-3# show router 1 pim tunnel-interface "mpls-if-73728" detail
===============================================================================
PIM Interface ipv4 mpls-if-73728
===============================================================================
Admin Status : Up Oper Status : Up
IPv4 Admin Status : Up IPv4 Oper Status : Up
DR : 192.0.2.2
Auto-created : No
Transport Type : MVPN-Pmsi
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================
PE-3 sends this multicast stream to MTU-4, which in turn sends it to the receiver that sent the join, so the path taken by the multicast stream runs via PE-2, PE-3, and MTU-4.
In the example from Multicast From an EVPN-MPLS Service Into an R-VPLS With All-Active EVPN Multi-Homing, and the commands and traces that follow, PE-1 is the active IGMP querier using address 10.1.4.1, sending out the queries across the L2 domain. The group queries are sent by PE-1 to PE-3 across the EVPN-MPLS tunnel because PE-3 is DF for esi-13, then forwarded onto MTU-4 to reach the (potential) receiver. MTU-4 relays the IGMP responses from the receiver to one of the links; in this example, the link between MTU-4 and PE-1. When the IGMP response for joining the 225.1.70.1 stream is received on PE-1, this event is signaled across the EVPN-MPLS tunnel because it is received over esi-13. This way, the IGMP state is synchronized between PE-3 and PE-1 in a data-driven way.
The basic IGMP snooping state for VPLS 10 on PE-1 and PE-3 is as follows. The output shows that IGMP snooping is enabled on ports sap:lag-1:10, rvpls, and evpn-mpls.
[/]
A:admin@PE-1# show service id 10 igmp-snooping base
===============================================================================
IGMP Snooping Base info for service 10
===============================================================================
Admin State : Up
Querier : 10.1.4.1 on rvpls int-MCAST-VPLS
SBD service : N/A
Evpn-proxy : Disabled
-------------------------------------------------------------------------------
Port Oper MRtr Pim Send Max Max Max MVR Num
Id Stat Port Port Qrys Grps Srcs Grp From-VPLS Grps
Srcs
-------------------------------------------------------------------------------
sap:lag-1:10 Up No No No None None None Local 1
rvpls Up Yes No N/A N/A N/A N/A N/A N/A
evpn-mpls
Up Yes No N/A N/A N/A N/A N/A N/A
===============================================================================
[/]
A:admin@PE-3# show service id 10 igmp-snooping base
===============================================================================
IGMP Snooping Base info for service 10
===============================================================================
Admin State : Up
Querier : 10.1.4.1 on evpn-mpls
SBD service : N/A
Evpn-proxy : Disabled
-------------------------------------------------------------------------------
Port Oper MRtr Pim Send Max Max Max MVR Num
Id Stat Port Port Qrys Grps Srcs Grp From-VPLS Grps
Srcs
-------------------------------------------------------------------------------
sap:lag-1:10 Up No No No None None None Local 1
rvpls Up Yes No N/A N/A N/A N/A N/A N/A
evpn-mpls
Up Yes No N/A N/A N/A N/A N/A N/A
===============================================================================
PE-1 sends the IGMP queries on VPRN 1 via the int-MCAST-VPLS interface, so the VPLS that is referenced in the int-MCAST-VPLS interface registers the ports on which the IGMP queries are received as multicast router ports. EVPN-MPLS tunnels are always multicast router ports. The following output displays the source addresses of the multicast routers:
[/]
A:admin@PE-1# show service id 10 igmp-snooping mrouters
===============================================================================
IGMP Snooping Multicast Routers for service 10
===============================================================================
MRouter Port Id Up Time Expires Version
-------------------------------------------------------------------------------
10.1.4.1 rvpls 0d 00:21:54 231s 3
-------------------------------------------------------------------------------
Number of mrouters: 1
===============================================================================
[/]
A:admin@PE-3# show service id 10 igmp-snooping mrouters
===============================================================================
IGMP Snooping Multicast Routers for service 10
===============================================================================
MRouter Port Id Up Time Expires Version
-------------------------------------------------------------------------------
10.1.4.1 evpn-mpls 0d 00:21:25 229s 3
-------------------------------------------------------------------------------
Number of mrouters: 1
===============================================================================
The IGMP snooping querier properties for VPLS 10 on PE-1 and PE-3 are as follows:
[/]
A:admin@PE-1# show service id 10 igmp-snooping querier
===============================================================================
IGMP Snooping Querier info for service 10
===============================================================================
Port Id : r-vpls int-MCAST-VPLS
IP Address : 10.1.4.1
Expires : 130s
Up Time : 0d 00:21:30
Version : 3
General Query Interval : 125s
Query Response Interval : 10.0s
Robust Count : 2
===============================================================================
[/]
A:admin@PE-3# show service id 10 igmp-snooping querier
===============================================================================
IGMP Snooping Querier info for service 10
===============================================================================
Port Id : evpn-mpls
IP Address : 10.1.4.1
Expires : 253s
Up Time : 0d 00:21:01
Version : 3
General Query Interval : 125s
Query Response Interval : 10.0s
Robust Count : 2
===============================================================================
IGMP snooping in VPLS 10 registers the reports in the IGMP snooper port database (port-db). The port-db can be displayed with a show command, and specifying a SAP limits the output generated by this command, as follows:
[/]
A:admin@PE-1# show service id 10 igmp-snooping port-db sap lag-1:10
===============================================================================
IGMP Snooping SAP lag-1:10 Port-DB for service 10
===============================================================================
Group Address Mode Type From-VPLS Up Time Expires Num MC
Src Stdby
-------------------------------------------------------------------------------
225.70.1.1 exclude dynamic local 0d 00:04:10 never 0
-------------------------------------------------------------------------------
Number of groups: 1
===============================================================================
[/]
A:admin@PE-3# show service id 10 igmp-snooping port-db sap lag-1:10
===============================================================================
IGMP Snooping SAP lag-1:10 Port-DB for service 10
===============================================================================
Group Address Mode Type From-VPLS Up Time Expires Num MC
Src Stdby
-------------------------------------------------------------------------------
225.70.1.1 exclude dynamic local 0d 00:04:12 230s 0
-------------------------------------------------------------------------------
Number of groups: 1
===============================================================================
IGMP snooping statistics show the number of received, transmitted, and forwarded IGMP messages per type, and also provide drop counts per error type, as follows:
[/]
A:admin@PE-1# show service id 10 igmp-snooping statistics
===============================================================================
IGMP Snooping Statistics for service 10
===============================================================================
Message Type Received Transmitted Forwarded
-------------------------------------------------------------------------------
General Queries 0 0 17
Group Queries 0 2 2
Group-Source Queries 0 0 0
V1 Reports 0 0 0
V2 Reports 0 0 0
V3 Reports 12 6 6
V2 Leaves 0 0 0
Unknown Type 0 N/A 0
EVPN SMET Routes 0 0 N/A
-------------------------------------------------------------------------------
Drop Statistics
-------------------------------------------------------------------------------
Bad Length : 0
Bad IP Checksum : 0
Bad IGMP Checksum : 0
Bad Encoding : 0
No Router Alert : 0
Zero Source IP : 0
Wrong Version : 0
Lcl-Scope Packets : 0
Rsvd-Scope Packets : 0
Send Query Cfg Drops : 0
Import Policy Drops : 0
Exceeded Max Num Groups : 0
Exceeded Max Num Sources : 0
Exceeded Max Num Grp Srcs: 0
MCAC Policy Drops : 0
MCS Failures : 0
MVR From VPLS Cfg Drops : 0
MVR To SAP Cfg Drops : 0
===============================================================================
[/]
A:admin@PE-3# show service id 10 igmp-snooping statistics
===============================================================================
IGMP Snooping Statistics for service 10
===============================================================================
Message Type Received Transmitted Forwarded
-------------------------------------------------------------------------------
General Queries 12 0 9
Group Queries 2 2 0
Group-Source Queries 0 0 0
V1 Reports 0 0 0
V2 Reports 0 0 0
V3 Reports 12 6 0
V2 Leaves 0 0 0
Unknown Type 0 N/A 0
EVPN SMET Routes 0 0 N/A
-------------------------------------------------------------------------------
Drop Statistics
-------------------------------------------------------------------------------
Bad Length : 0
Bad IP Checksum : 0
Bad IGMP Checksum : 0
Bad Encoding : 0
No Router Alert : 0
Zero Source IP : 0
Wrong Version : 0
Lcl-Scope Packets : 0
Rsvd-Scope Packets : 0
Send Query Cfg Drops : 0
Import Policy Drops : 0
Exceeded Max Num Groups : 0
Exceeded Max Num Sources : 0
Exceeded Max Num Grp Srcs: 0
MCAC Policy Drops : 0
MCS Failures : 0
MVR From VPLS Cfg Drops : 0
MVR To SAP Cfg Drops : 0
===============================================================================
Debug
Debugging is useful for troubleshooting purposes, and the debug configuration used on PE-1 and PE-3 for checking IGMP and IGMP snooping functionalities is as follows:
debug {
router "VPRN 1" {
igmp {
packet {
dropped true
ingress true
egress true
}
}
}
service {
vpls "mcast-vpls" {
igmp-snooping {
packet {
dropped true
ingress true
egress true
evpn-mpls true
sap lag-1:10 { }
}
}
}
}
}
When group 225.70.1.1 is joined, the trace on PE-1 is as follows. Event 4 is the IGMPv3 join message for group 225.70.1.1 received on SAP lag-1:10 in VPLS 10 from the receiver. The reception of this message is synchronized across the EVPN-MPLS tunnel for VPLS 10, as indicated by event 5. Event 6 is the IGMPv3 join message as received on interface int-MCAST-VPLS by VPRN 1.
4 2023/07/20 11:42:52.720 CEST MINOR: DEBUG #2001 Base IGMP
"IGMP: RX packet on svc 10
from chaddr 04:0f:ff:00:01:41
Port : sap lag-1:10
SrcIp : 0.0.0.0
DstIp : 224.0.0.22
Type : V3 REPORT
Num Group Records: 1
Group Record Type: CHG_TO_EXCL (4), AuxDataLen 0, Num Sources 0
Group Addr: 225.70.1.1
"
5 2023/07/20 11:42:52.720 CEST MINOR: DEBUG #2001 Base IGMP
"IGMP: TX packet on svc 10
from chaddr 5e:00:00:16:04:0f
send towards ES : esi-13
Port : evpn-mpls
SrcIp : 0.0.0.0
DstIp : 224.0.0.22
Type : V3 REPORT
Num Group Records: 1
Group Record Type: CHG_TO_EXCL (4), AuxDataLen 0, Num Sources 0
Group Addr: 225.70.1.1
"
---snip---
6 2023/07/20 11:42:52.720 CEST MINOR: DEBUG #2001 vprn1 IGMP[2]
"IGMP[2]: RX-PKT
[000 00:28:13.480] IGMP interface int-MCAST-VPLS [ifIndex 4] V3 PDU: 0.0.0.0 -> 224.0.0.22 pduLen 16
Type: V3 REPORT maxrespCode 0x0 checkSum 0xf7b6
Num Group Records: 1
Group Record 0
Type: CHG_TO_EXCL, AuxDataLen 0, Num Sources 0
Mcast Addr: 225.70.1.1
Source Address List
"
The trace on PE-3 is as follows. Event 5 is the reception of the snooping state synchronization across the EVPN-MPSL tunnel, and event 8 is the IGMPv3 join as received on interface int-MCAST-VPLS by VPRN 1.
5 2023/07/20 11:42:52.726 CEST MINOR: DEBUG #2001 Base IGMP
"IGMP: RX packet on svc 10
from chaddr 04:0f:ff:00:01:41
received via evpn-mpls on ES : esi-13
Port : sap lag-1:10
SrcIp : 0.0.0.0
DstIp : 224.0.0.22
Type : V3 REPORT
Num Group Records: 1
Group Record Type: CHG_TO_EXCL (4), AuxDataLen 0, Num Sources 0
Group Addr: 225.70.1.1
"
---snip---
8 2023/07/20 11:42:52.726 CEST MINOR: DEBUG #2001 vprn1 IGMP[2]
"IGMP[2]: RX-PKT
[000 00:28:07.620] IGMP interface int-MCAST-VPLS [ifIndex 4] V3 PDU: 0.0.0.0 -> 224.0.0.22 pduLen 16
Type: V3 REPORT maxrespCode 0x0 checkSum 0xf7b6
Num Group Records: 1
Group Record 0
Type: CHG_TO_EXCL, AuxDataLen 0, Num Sources 0
Mcast Addr: 225.70.1.1
Source Address List
"
Similar events are logged when the multicast receiver leaves the 225.70.1.1 group.
Conclusion
By connecting customers to EVPN-MPLS VPRN/IES routed services via an R-VPLS, service providers can offer IPv4 multicast services to customers in an all-active multi-homing scenario.