Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Configuring Multicast Forwarding with IGMP Snooping in an EVPN-MPLS Environment

 

This topic shows how to configure multicast forwarding with IGMP snooping on MX Series routers with MPCs, vMX routers, and EX9200 switches serving as provider edge (PE) devices in an Ethernet VPN (EVPN) over MPLS environment. Starting in Junos OS Release 18.2R1, statements in the [edit protocols igmp-snooping] configuration hierarchy can be configured in this environment on PE devices to enable multicast traffic forwarding for receivers that are multihomed to EVPN provider edge (PE) devices with all-active multihoming.

In this environment, IGMP snooping is enabled in proxy mode. The IGMP snooping configuration is not automatically synchronized among all the multihoming peer PEs, so the same configuration must be committed for each multihomed peer PE device.

In addition, to handle Layer 3 multicast forwarding, PEs with hosts in multicast groups that span bridge domains or VLANs use PIM distributed designated router (PIM DDR) mode to route multicast traffic between bridge domains or VLANs through IRB interfaces. With PIM DDR configured, a PE device routes the traffic to any local IRBs configured for bridge domains or VLANs in the multicast group with interested receivers, even if the IRB is not the elected PIM designated router (DR).

IGMP snooping and multicast forwarding operation ensures that multicast traffic reaches all subscribed receivers within and between bridge domains or VLANs, and preserves bandwidth on the access side by reducing the amount of multicast control and data traffic being forwarded.

This topic describes configuration tasks to set up IGMP snooping in proxy mode, and configure PIM for routing between bridge domains or VLANs on multihoming EVPN PE devices. It also summarizes the CLI commands that can be used to verify IGMP snooping and multicast forwarding operation in this environment.

Configuring IGMP Snooping for an EVPN or Virtual Switch Routing Instance

You can configure IGMP snooping for a routing instances of type evpn or virtual-switch.

  • To configure IGMP snooping in proxy mode on a PE device for a routing instance with instance-type evpn (for any or all bridge domains or VLANs):

    user@device# set routing-instances routing-instance-name protocols igmp-snooping proxy

    For example, the following configuration includes enabling IGMP snooping in proxy mode for EVPN routing instance evpn-A configured as instance-type evpn:

  • To configure IGMP snooping on a PE device for specific bridge domains or VLANs for an EVPN instance with instance-type virtual-switch:

    user@device# set routing-instances routing-instance-name bridge-domain bridge-domain-name protocols igmp-snooping proxy

    For example, the following configuration includes enabling IGMP snooping in proxy mode for bridge domains V200, V201, and V202 in EVPN routing instance EVPN-2, which is configured as instance-type virtual-switch:

Configuring Multicast Forwarding Across Bridge Domains or VLANs with PIM in EVPN-MPLS

PIM must be enabled in distributed DR mode on all IRB interfaces used in an EVPN instance to reach multicast source or receiver hosts for one or more bridge domains or VLANs in the EVPN instance.

  • To configure PIM DDR mode to route multicast traffic between bridge domains or VLANs through an IRB interface in an EVPN routing instance:

    user@device# set routing-instances routing-instance-name protocols pim interface irb-interface-name distributed-dr

    For example, the following configuration includes enabling PIM DDR mode on interfaces irb.200, irb.201, and irb.202 in the VRF routing instance IPVPN-2:

Viewing IGMP Snooping Multicast Information for EVPN-MPLS in the CLI

The following EVPN commands are supported to view IGMP snooping multicast information in an EVPN-MPLS environment. The output of these commands includes information learned from native IGMP snooping on a PE device and learned from EVPN Type 7 Join Sync Route and Type 8 Leave Sync Route messages.

  • show evpn igmp-snooping database

  • show evpn multicast-snooping next-hops

  • show igmp snooping evpn database

  • show igmp snooping evpn membership

The following CLI commands are supported to view the native IGMP snooping information on a PE. The output of these commands will not include information learned from the exchange of EVPN Type 7 and Type 8 IGMP messages.

  • show igmp snooping interface

  • show igmp snooping membership

  • show igmp snooping statistics

The following commands can be used to view EVPN Type 7 IGMP Join Sync Routes or Type 8 Leave Sync Routes in BGP and EVPN routing tables:

  • show route table bgp.evpn.0 match-prefix 7*

    show route table __default_evpn__.evpn.0 match-prefix 7:*

    show route table __default_evpn__.evpn.0 match-prefix 7:* protocol evpn

    show route table __default_evpn__.evpn.0 match-prefix 7:* protocol bgp

  • show route table bgp.evpn.0 match-prefix 8:*

    show route table __default_evpn__.evpn.0 match-prefix 8:*

    show route table __default_evpn__.evpn.0 match-prefix 8:* protocol evpn

    show route table __default_evpn__.evpn.0 match-prefix 8:* protocol bgp

For example, to view EVPN Type 7 IGMP routes in the __default_evpn__.evpn.0 routing table, use the following command:

user@host> show route table __default_evpn__.evpn.0 protocol evpn match-prefix 7:* extensive