Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Multicast Snooping for VPLS

Understanding PIM Snooping for VPLS

There are two ways to direct PIM control packets:

  • By the use of PIM snooping

  • By the use of PIM proxying

PIM snooping configures a device to examine and operate only on PIM hello and join/prune packets. A PIM snooping device snoops PIM hello and join/prune packets on each interface to find interested multicast receivers and populates the multicast forwarding tree with this information. PIM snooping differs from PIM proxying in that both PIM hello and join/prune packets are transparently flooded in the VPLS as opposed to the flooding of only hello packets in the case of PIM proxying. PIM snooping is configured on PE routers connected through pseudowires. PIM snooping ensures that no new PIM packets are generated in the VPLS, with the exception of PIM messages sent through LDP on pseudowires.

Note:

In the VPLS documentation, the word router in terms such as PE router is used to refer to any device that provides routing functions.

A device that supports PIM snooping snoops hello packets received on attachment circuits. It does not introduce latency in the VPLS core when it forwards PIM join/prune packets.

To configure PIM snooping on a PE router, use the pim-snooping statement at the [edit routing-instances instance-name protocols] hierarchy level:

Example: Configuring PIM Snooping for VPLS explains the PIM snooping method. The use of the PIM proxying method is not discussed here and is outside the scope of this document. For more information about PIM proxying, see PIM Snooping over VPLS.

Example: Configuring PIM Snooping for VPLS

This example shows how to configure PIM snooping in a virtual private LAN service (VPLS) to restrict multicast traffic to interested devices.

Requirements

This example uses the following hardware and software components:

  • M Series Multiservice Edge Routers (M7i and M10i with Enhanced CFEB, M120, and M320 with E3 FPCs) or MX Series 5G Universal Routing Platforms (MX80, MX240, MX480, and MX960)

  • Junos OS Release 13.2 or later

Overview

The following example shows how to configure PIM snooping to restrict multicast traffic to interested devices in a VPLS.

Note:

This example demonstrates PIM snooping by the use of a PIM snooping device to restrict multicast traffic. The use of the PIM proxying method to achieve PIM snooping is out of the scope of this document and is yet to be implemented in Junos OS.

Topology

In this example, two PE routers are connected to each other through a pseudowire connection. Router PE1 is connected to Routers CE1 and CE2. A multicast receiver is attached to Router CE2. Router PE2 is connected to Routers CE3 and CE4. A multicast source is connected to Router CE3, and a second multicast receiver is attached to Router CE4.

PIM snooping is configured on Routers PE1 and PE2. Hence, data sent from the multicast source is received only by members of the multicast group.

Figure 1 shows the topology used in this example.

Figure 1: PIM Snooping for VPLSPIM Snooping for VPLS

Configuration

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

Router PE1

Router CE1

Router CE2

Router PE2

Router CE3 (RP)

Router CE4

Configuring PIM Snooping for VPLS

Step-by-Step Procedure

The following example requires that you navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User Guide.

Note:

This section includes a step-by-step configuration procedure for one or more routers in the topology. For comprehensive configurations for all routers, see CLI Quick Configuration.

To configure PIM snooping for VPLS:

  1. Configure the router interfaces forming the links between the routers.

    Note:

    ge-2/0/0.0 and ge-2/0/1.0 are configured as VPLS interfaces and connect to Routers CE3 and CE4. See Virtual Private LAN Service User Guide for more details.

    Note:

    The ge-2/0/1.0 interface on Router CE3 connects to the multicast source.

    Note:

    The ge-2/0/1.0 interface on Router CE4 connects to a multicast receiver.

    Similarly, configure Routers PE1, CE1, and CE2.

  2. Configure the router IDs of all routers.

    Similarly, configure other routers.

  3. Configure an IGP on interfaces of all routers.

    Similarly, configure other routers.

  4. Configure the LDP, MPLS, and BGP protocols on the PE routers.

    The BGP group is required for interfacing with the other PE router. Similarly, configure Router PE1.

  5. Configure PIM on all CE routers.

    Ensure that Router CE3 is configured as the rendezvous point (RP) and that the RP address is configured on other CE routers.

    Similarly, configure Routers CE1 and CE2.

  6. Configure multicast snooping options on the PE routers.

    Similarly, configure Router PE1.

  7. Create a routing instance (titanium), and configure the VPLS on the PE routers.

    Similarly, configure Router PE1.

  8. Configure PIM snooping on the PE routers.

    Similarly, configure Router PE1.

Results

From configuration mode, confirm your configuration by entering the show interfaces, show routing-options, show protocols, show multicast-snooping-options, and show routing-instances commands.

If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.

Similarly, confirm the configuration on all other routers. If you are done configuring the routers, enter commit from configuration mode.

Note:

Use the show protocols command on the CE routers to verify the configuration for the PIM RP .

Verification

Confirm that the configuration is working properly.

Verifying PIM Snooping for VPLS

Purpose

Verify that PIM Snooping is operational in the network.

Action

To verify that PIM snooping is working as desired, use the following commands:

  • show pim snooping interfaces

  • show pim snooping neighbors detail

  • show pim snooping statistics

  • show pim snooping join

  • show pim snooping join extensive

  • show multicast snooping route extensive instance <instance-name> group <group-name>

  1. From operational mode on Router PE2, run the show pim snooping interfaces command.

    The output verifies that PIM snooping is configured on the two interfaces connecting Router PE2 to Routers CE3 and CE4.

    Similarly, check the PIM snooping interfaces on Router PE1.

  2. From operational mode on Router PE2, run the show pim snooping neighbors detail command.

    The output verifies that Router PE2 can detect the IP addresses of its PIM snooping neighbors (10.0.0.18 on CE3 and 10.0.0.22 on CE4).

    Similarly, check the PIM snooping neighbors on Router PE1.

  3. From operational mode on Router PE2, run the show pim snooping statistics command.

    The output shows the number of hello and join/prune messages received by Router PE2. This verifies that PIM sparse mode is operational in the network.

  4. Send multicast traffic from the source terminal attached to Router CE3, for the multicast group 203.0.113.1.

  5. From operational mode on Router PE2, run the show pim snooping join, show pim snooping join extensive, and show multicast snooping route extensive instance <instance-name> group <group-name> commands to verify PIM snooping.

    The outputs show that multicast traffic sent for the group 203.0.113.1 is sent to Receiver 2 through Router CE4 and also display the upstream and downstream neighbor details.

Meaning

PIM snooping is operational in the network.

IGMP and MLD Snooping for VPLS

You can enable IGMP or MLD snooping in a virtual private LAN service (VPLS) to ensure that the customer-facing interfaces receive only the multicast traffic it has requested for. This snooping can be enabled with or without Integrated routing and bridging (IRB).

Figure 2: Basic VPLS topologyBasic VPLS topology

A logical full mesh of all participating Provider Edge (PE) routers is necessary for IGMP/MLD snooping to work in VPLS. In other words, every PE router is connected to every other PE router by a pseudowire resulting in a full mesh infrastructure. When you enable IGMP/MLD snooping over VPLS, multicast traffic is forwarded to all pseudowires that receive IGMP/MLD reports from remote (PE) devices. IGMP/MLD membership queries and join reports are flooded to all the pseudowires belonging to that VPLS instance. This allows for optimization of the multicast data flow to only those members of the group that are interested. The operating system builds a database of group members per service by listening to IGMP/MLD queries and reports from each PE device.

Note:
  • VPLS multicast traffic forwarded from the core to access is based on the routes learnt via IGMP or MLD snooping.

  • VPLS multicast traffic from access is flooded to the core even when there are no remote receivers.

IGMPv2/v3 snooping is supported in VPLS for IPv4 multicast traffic. To configure IGMP snooping on a PE router, include the igmp-snooping statement at the [edit routing-instances instance-name protocols] hierarchy level:

Similarly, MLDv1/v2 snooping is supported in VPLS for IPv6 multicast traffic. To configure MLD snooping on a PE router, include the mld-snooping statement at the [edit routing-instances instance-name protocols] hierarchy level:

Note:

MLDv2 requires specific hardware database profiles to allocate tables with different sizes in the hardware. To configure MLD v2 within a VPLS instance, include the balanced-exem option or the l3-xl option at the [edit system packet-forwarding-options hw-db-profile] hierarchy level.

To configure IRB within a VPLS instance, include the l3-interface irb-interface-name statement at the [edit routing-instances routing-instance-name instance-type virtual-switch] hierarchy level:

If the no-local-switching statement is configured under the [edit bridge-domains bridge-domain-name] heirachy level, frames arriving on a CE interface are sent to a VPLS edge (VE) device or core-facing interfaces only. This ensures that the access ports in the VPLS domain do not forward packets to each other.

To configure the UNI logical interface, the vlan-bridge option must be included under the [edit interfaces interface-name unit logical-unit-number encapsulation] heirarchy level:

Configuration of VPLS ports is supported using the virtual-switch routing instance. Routing instance of type vpls is not supported.

Handling of L3 Routes with Integrated Routing and Bridging (IRB) within VPLS

Figure 3 illustrates possible L3 routing cases in a PE with PIM and IRB enabled.

Figure 3: L3 routes in VPLSL3 routes in VPLS
Note:

Disable routing on all PE routers except for the the centralized PE router to avoid traffic loops.

  • The source is external (L3 interface) and the receiver is in a VPLS domain. The IGMP/MLD queries are reinjected into the multicast router and LSI port. The multicast traffic is encapsulated and routed via the psuedowires.

  • The source is in a VPLS domain and the receiver is external (L3 interface). The VPLS multicast traffic is decapsulated and routed to the external interface.

  • The source is in a VPLS domain and the receiver is in the same VPLS. The VPLS multicast traffic is bridged within the VPLS bridge domain.

  • The source is in a VPLS domain and the receiver is in a different VPLS domain. The VPLS multicast traffic is routed across VPLS circuits and IRBs.