Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All
     

    Related Documentation

     

    Configuring Basic PIM Settings

    PIM Configuration Statements

    To configure Protocol Independent Multicast (PIM), include the pim statement:

    pim {
    default-vpn-source {
    interface-name interface-name;
    }
    addresses;
    }
    import [ policy-names ];
    interface interface-name {
    mode bidirectional-sparse | bidirectional-sparse-dense | (dense | sparse | sparse-dense);
    neighbor-policy [ policy-names ];
    override-interval milliseconds;
    priority number;
    propagation-delay milliseconds;
    version version;
    }
    automatic;
    }
    join-prune-timeout;
    nonstop-routing {
    disable;
    }
    override-interval milliseconds;
    propagation-delay milliseconds;
    inet group-name;
    inet6 group-name;
    }
    rp {
    (announce | discovery | mapping);
    }
    address address {
    destination-ip-prefix</prefix-length>;
    }
    hold-time seconds;
    priority number;
    }
    }
    family (inet | inet6) {
    export [ policy-names ];
    import [ policy-names ];
    priority number;
    }
    }
    bootstrap-export [ policy-names ];
    bootstrap-import [ policy-names ];
    dr-register-policy [ policy-names ];
    destination-ip-prefix</prefix-length>;
    }
    }
    family (inet | inet6) {
    address address;
    address address <forward-msdp-sa>;
    }
    local-address address;
    }
    destination-ip-prefix</prefix-length>;
    }
    hold-time seconds;
    priority number;
    }
    }
    rp-register-policy [ policy-names ];
    address address {
    version version;
    destination-ip-prefix</prefix-length>;
    }
    infinity [ policy-names ];
    }
    file filename <files number> <size size> <world-readable | no-world-readable>;
    flag flag <flag-modifier> <disable>;
    }
    }
    }
    }
    }

    You can include this statement at the following hierarchy levels:

    • [edit protocols]
    • [edit routing-instances routing-instance-name protocols]
    • [edit logical-systems logical-system-name protocols]
    • [edit logical-systems logical-system-name routing-instances routing-instance-name protocols]

    By default, PIM is disabled.

    Note: You cannot configure PIM within a nonforwarding instance. If you try to do so, the router displays a commit check error and does not complete the configuration commit process.

    Modifying the PIM Hello Interval

    Routing devices send hello messages at a fixed interval on all PIM-enabled interfaces. By using hello messages, routing devices advertise their existence as PIM routing devices on the subnet. With all PIM-enabled routing devices advertised, a single designated router for the subnet is established.

    When a routing device is configured for PIM, it sends a hello message at a 30-second default interval. The interval range is from 0 through 255. When the interval counts down to 0, the routing device sends another hello message, and the timer is reset. A routing device that receives no response from a neighbor in 3.5 times the interval value drops the neighbor. In the case of a 30-second interval, the amount of time a routing device waits for a response is 105 seconds.

    If a PIM hello message contains the hold-time option, the neighbor timeout is set to the hold-time sent in the message. If a PIM hello message does not contain the hold-time option, the neighbor timeout is set to the default hello hold time.

    To modify how often the routing device sends hello messages out of an interface:

    1. This example shows the configuration for the routing instance. Configure the interface globally or in the routing instance.
      [edit routing-instances PIM.master protocols pim interface fe-3/0/2.0]
      user@host# set hello-interval 255
    2. Verify the configuration by checking the Hello Option Holdtime field in the output of the show pim neighbors detail command.
      user@host> show pim neighbors detail
      Instance: PIM.master
      Interface: fe-3/0/2.0
      Address: 192.168.195.37, IPv4, PIM v2, Mode: Sparse
      Hello Option Holdtime: 255 seconds
      Hello Option DR Priority: 1
      Hello Option LAN Prune Delay: delay 500 ms override 2000 ms
      Join Suppression supported
      Rx Join: Group Source Timeout
      225.1.1.1 192.168.195.78 0
      225.1.1.1 0
      
      Interface: lo0.0
      Address: 10.255.245.91, IPv4, PIM v2, Mode: Sparse
      Hello Option Holdtime: 255 seconds
      Hello Option DR Priority: 1
      Hello Option LAN Prune Delay: delay 500 ms override 2000 ms
      Join Suppression supported
      
      Interface: pd-6/0/0.32768
      Address: 0.0.0.0, IPv4, PIM v2, Mode: Sparse
      Hello Option Holdtime: 255 seconds
      Hello Option DR Priority: 0
      Hello Option LAN Prune Delay: delay 500 ms override 2000 ms
      Join Suppression supported

    Preserving Multicast Performance by Disabling Response to the ping Utility

    The ping utility uses ICMP Echo messages to verify connectivity to any device with an IP address. However, in the case of multicast applications, a single ping sent to a multicast address can degrade the performance of routers because the stream of packets is replicated multiple times.

    You can disable the router's response to ping (ICMP Echo) packets sent to multicast addresses. The system responds normally to unicast ping packets.

    To disable the router's response to ping packets sent to multicast addresses:

    1. Include the no-multicast-echo statement:
      [edit system]
      user@host# set no-multicast-echo
    2. Verify the configuration by checking the echo drops with broadcast or multicast destination address field in the output of the show system statistics icmp command.
      user@host> show system statistics icmp
      icmp:
      0 drops due to rate limit
      0 calls to icmp_error
      0 errors not generated because old message was icmp
      Output histogram:
      echo reply: 21
      0 messages with bad code fields
      0 messages less than the minimum length
      0 messages with bad checksum
      0 messages with bad source address
      0 messages with bad length
      100 echo drops with broadcast or multicast destination address
      0 timestamp drops with broadcast or multicast destination address
      Input histogram:
      echo: 21
      21 message responses generated

    PIM on Aggregated Interfaces

    You can configure several Protocol Independent Multicast (PIM) features on an interface regardless of its PIM mode (bidirectional, sparse, dense, or sparse-dense mode).

    Note: ACX Series routers supports only sparse mode. Dense mode on ACX series is supported only for control multicast groups for auto-discovery of rendezvous point (auto-RP).

    If you configure PIM on an aggregated (ae- or as-) interface, each of the interfaces in the aggregate is included in the multicast output interface list and carries the single stream of replicated packets in a load-sharing fashion. The multicast aggregate interface is “expanded” into its constituent interfaces in the next-hop database.

    Configuring PIM Trace Options

    Tracing operations record detailed messages about the operation of routing protocols, such as the various types of routing protocol packets sent and received, and routing policy actions. You can specify which trace operations are logged by including specific tracing flags. The following table describes the flags that you can include.

    Flag

    Description

    all

    Trace all operations.

    assert

    Trace assert messages, which are used to resolve which of the parallel routers connected to a multiaccess LAN is responsible for forwarding packets to the LAN.

    autorp

    Trace bootstrap, RP, and auto-RP messages.

    bidirectional-df-election

    Trace bidirectional PIM designated-forwarder (DF) election events.

    bootstrap

    Trace bootstrap messages, which are sent periodically by the PIM domain's bootstrap router and are forwarded, hop by hop, to all routers in that domain.

    general

    Trace general events.

    graft

    Trace graft and graft acknowledgment messages.

    hello

    Trace hello packets, which are sent so that neighboring routers can discover one another.

    join

    Trace join messages, which are sent to join a branch onto the multicast distribution tree.

    mdt

    Trace messages related to multicast data tunnels.

    normal

    Trace normal events.

    nsr-synchronization

    Trace nonstop routing synchronization events

    packets

    Trace all PIM packets.

    policy

    Trace poison-route-reverse packets.

    prune

    Trace prune messages, which are sent to prune a branch off the multicast distribution tree.

    register

    Trace register and register-stop messages. Register messages are sent to the RP when a multicast source first starts sending to a group.

    route

    Trace routing information.

    rp

    Trace candidate RP advertisements.

    state

    Trace state transitions.

    task

    Trace task processing.

    timer

    Trace timer processing.

    In the following example, tracing is enabled for all routing protocol packets. Then tracing is narrowed to focus only on PIM packets of a particular type.

    To configure tracing operations for PIM:

    1. (Optional) Configure tracing at the [routing-options hierarchy level to trace all protocol packets.
      [edit routing-options traceoptions]
      user@host# set file all-packets-trace
      user@host# set flag all
    2. Configure the filename for the PIM trace file.
      [edit protocols pim traceoptions]
      user@host# set file pim-trace
    3. (Optional) Configure the maximum number of trace files.
      [edit protocols pim traceoptions]
      user@host# set file files 5
    4. (Optional) Configure the maximum size of each trace file.
      [edit protocols pim traceoptions]
      user@host# set file size 1m
    5. (Optional) Enable unrestricted file access.
      [edit protocols pim traceoptions]
      user@host# set file world-readable
    6. Configure tracing flags.
      Suppose you are troubleshooting issues with PIM version 1 control packets that are received on an interface configured for PIM version 2. The following example shows how to trace messages associated with this problem.
      [edit protocols pim traceoptions]
      user@host# set flag packets | match “Rx V1 Require V2”
    7. View the trace file.
      user@host> file list /var/log
      user@host> file show /var/log/pim-trace

    Disabling PIM

    By default, when you enable the PIM protocol it applies to the specified interface only. To enable PIM for all interfaces, include the all parameter (for example, set protocol pim interface all). You can disable PIM at the protocol, interface, or family hierarchy levels.

    The hierarchy in which you configure PIM is critical. In general, the most specific configuration takes precedence. However, if PIM is disabled at the protocol level, then any disable statements with respect to an interface or family are ignored.

    For example, the order of precedence for disabling PIM on a particular interface family is:

    1. If PIM is disabled at the [edit protocols pim interface interface-name family] hierarchy level, then PIM is disabled for that interface family.
    2. If PIM is not configured at the [edit protocols pim interface interface-name family] hierarchy level, but is disabled at the [edit protocols pim interface interface-name] hierarchy level, then PIM is disabled for all families on the specified interface.
    3. If PIM is not configured at either the [edit protocols pim interface interface-name family] hierarchy level or the [edit protocols pim interface interface-name] hierarchy level, but is disabled at the [edit protocols pim] hierarchy level, then the PIM protocol is disabled globally for all interfaces and all families.

    The following sections describe how to disable PIM at the various hierarchy levels.

    Disabling the PIM Protocol

    You can explicitly disable the PIM protocol. Disabling the PIM protocol disables the protocol for all interfaces and all families. This is accomplished at the [edit protocols pim] hierarchy level:

    [edit protocols]
    pim {
    disable;
    }

    To disable the PIM protocol:

    1. Include the disable statement.
      user@host# set protocols pim disable
    2. (Optional) Verify your configuration settings before committing them by using the show protocols pim command.
      user@host# run show protocols pim
     

    See Also

     

    Disabling PIM on an Interface

    You can disable the PIM protocol on a per-interface basis. This is accomplished at the [edit protocols pim interface interface-name] hierarchy level:

    [edit protocols]
    pim {
    interface interface-name {
    disable;
    }
    }

    To disable PIM on an interface:

    1. Include the disable statement.
      user@host# set protocols pim interface fe-0/1/0 disable
    2. (Optional) Verify your configuration settings before committing them by using the show protocols pim command.
      user@host# run show protocols pim
     

    See Also

     

    Disabling PIM for a Family

    You can disable the PIM protocol on a per-family basis. This is accomplished at the [edit protocols pim family] hierarchy level:

    [edit protocols]
    pim {
    family inet {
    disable;
    }
    family inet6 {
    disable;
    }
    }

    To disable PIM for a family:

    1. Include the disable statement.
      user@host# set protocols pim family inet disable
      user@host# set protocols pim family inet6 disable
    2. (Optional) Verify your configuration settings before committing them by using the show protocols pim command.
      user@host# run show protocols pim

    Disabling PIM for a Rendezvous Point

    You can disable the PIM protocol for a rendezvous point (RP) on a per-family basis. This is accomplished at the [edit protocols pim rp local family] hierarchy level:

    [edit protocols]
    pim {
    rp {
    local {
    family inet {
    disable;
    }
    family inet6 {
    disable;
    }
    }
    }
    }

    To disable PIM for an RP family:

    1. Use the disable statement.
      user@host# set protocols pim rp local family inet disable
      user@host# set protocols pim rp local family inet6 disable
    2. (Optional) Verify your configuration settings before committing them by using the show protocols pim command.
      user@host# run show protocols pim

    Verifying a Multicast Configuration

    To verify a multicast configuration, perform these tasks:

    Verifying SAP and SDP Addresses and Ports

    Purpose

    Verify that SAP and SDP are configured to listen on the correct group addresses and ports.

    Action

    From the CLI, enter the show sap listen command.

    Sample Output

    user@host> show sap listen
    Group Address   Port
    224.2.127.254   9875
    

    Meaning

    The output shows a list of the group addresses and ports that SAP and SDP listen on. Verify the following information:

    • Each group address configured, especially the default 224.2.127.254, is listed.
    • Each port configured, especially the default 9875, is listed.

    Verifying the IGMP Version

    Purpose

    Verify that IGMP version 2 is configured on all applicable interfaces.

    Action

    From the CLI, enter the show igmp interface command.

    Sample Output

    user@host> show igmp interface
    Interface: ge–0/0/0.0
        Querier: 192.168.4.36
        State:         Up Timeout:     197 Version:  2 Groups:      0
    
    Configured Parameters:
    IGMP Query Interval: 125.0
    IGMP Query Response Interval: 10.0
    IGMP Last Member Query Interval: 1.0
    IGMP Robustness Count: 2
    
    Derived Parameters:
    IGMP Membership Timeout: 260.0
    IGMP Other Querier Present Timeout: 255.0
    

    Meaning

    The output shows a list of the interfaces that are configured for IGMP. Verify the following information:

    • Each interface on which IGMP is enabled is listed.
    • Next to Version, the number 2 appears.

    Verifying the PIM Mode and Interface Configuration

    Purpose

    Verify that PIM sparse mode is configured on all applicable interfaces.

    Action

    From the CLI, enter the show pim interfaces command.

    Sample Output

    user@host> show pim interfaces
    Instance: PIM.master
    Name                   Stat Mode       IP V State Count DR address
    lo0.0                  Up   Sparse      4 2 DR        0 127.0.0.1
    pime.32769             Up   Sparse      4 2 P2P       0
    

    Meaning

    The output shows a list of the interfaces that are configured for PIM. Verify the following information:

    • Each interface on which PIM is enabled is listed.
    • The network management interface, either ge–0/0/0 or fe–0/0/0, is not listed.
    • Under Mode, the word Sparse appears.

    Verifying the PIM RP Configuration

    Purpose

    Verify that the PIM RP is statically configured with the correct IP address.

    Action

    From the CLI, enter the show pim rps command.

    Sample Output

    user@host> show pim rps
    Instance: PIM.master
    Address family INET
    RP address      Type      Holdtime Timeout Active groups Group prefixes
    192.168.14.27   static           0    None             2 224.0.0.0/4
    

    Meaning

    The output shows a list of the RP addresses that are configured for PIM. At least one RP must be configured. Verify the following information:

    • The configured RP is listed with the proper IP address.
    • Under Type, the word static appears.

    Verifying the RPF Routing Table Configuration

    Purpose

    Verify that the PIM RPF routing table is configured correctly.

    Action

    From the CLI, enter the show multicast rpf command.

    Sample Output

    user@host> show multicast rpf
    Multicast RPF table: inet.0 , 2 entries...
    

    Meaning

    The output shows the multicast RPF table that is configured for PIM. If no multicast RPF routing table is configured, RPF checks use inet.0. Verify the following information:

    • The configured multicast RPF routing table is inet.0.
    • The inet.0 table contains entries.
     

    See Also

     
     

    Related Documentation

     

    Modified: 2017-09-13