Configuring PIM

This chapter describes how to configure the Protocol Independent Multicast (PIM) features on Cisco NX-OS devices in your IPv4 network.

About PIM

PIM, which is used between multicast-capable routers, advertises group membership across a routing domain by constructing multicast distribution trees. PIM builds shared distribution trees on which packets from multiple sources are forwarded, as well as source distribution trees on which packets from a single source are forwarded.

Cisco NX-OS supports PIM sparse mode for IPv4 networks (PIM). In PIM sparse mode, multicast traffic is sent only to locations of the network that specifically request it. You can configure PIM to run simultaneously on a router. You can use PIM global parameters to configure rendezvous points (RPs), message packet filtering, and statistics. You can use PIM interface parameters to enable multicast, identify PIM borders, set the PIM hello message interval, and set the designated router (DR) priority.


Note

Cisco NX-OS does not support PIM dense mode.


In Cisco NX-OS, multicast is enabled only after you enable the PIM feature on each router and then enable PIM sparse mode on each interface that you want to participate in multicast. You can configure PIM for an IPv4 network . In an IPv4 network, if you have not already enabled IGMP on the router, PIM enables it automatically.

You use the PIM global configuration parameters to configure the range of multicast group addresses to be handled by these distribution modes:

  • Any Source Multicast (ASM) provides discovery of multicast sources. It builds a shared tree between sources and receivers of a multicast group and supports switching over to a source tree when a new receiver is added to a group. ASM mode requires that you configure an RP.

For more information about PIM sparse mode and shared distribution trees used by the ASM mode, see RFC 4601.

Hello Messages

The PIM process begins when the router establishes PIM neighbor adjacencies by sending PIM hello messages to the multicast IPv4 address 224.0.0.13. Hello messages are sent periodically at the interval of 30 seconds. When all neighbors have replied, the PIM software chooses the router with the highest priority in each LAN segment as the designated router (DR). The DR priority is based on a DR priority value in the PIM hello message. If the DR priority value is not supplied by all routers, or the priorities match, the highest IP address is used to elect the DR.

The hello message also contains a hold-time value, which is typically 3.5 times the hello interval. If this hold time expires without a subsequent hello message from its neighbor, the device detects a PIM failure on that link.

The configured hold-time changes may not take effect on first two hellos sent after enabling or disabling PIM on an interface. For the first two hellos sent on the interface, thereafter, the configured hold times will be used. This may cause the PIM neighbor to set the incorrect neighbor timeout value for the initial neighbor setup until a hello with the correct hold time is received.

For added security, you can configure an MD5 hash value that the PIM software uses to authenticate PIM hello messages with PIM neighbors.

Join-Prune Messages

When the DR receives an IGMP membership report message from a receiver for a new group or source, the DR creates a tree to connect the receiver to the source by sending a PIM join message out the interface toward the rendezvous point (ASM mode). The rendezvous point (RP) is the root of a shared tree, which is used by all sources and hosts in the PIM domain in the ASM mode.

When the DR determines that the last host has left a group or source, it sends a PIM prune message to remove the path from the distribution tree.

The routers forward the join or prune action hop by hop up the multicast distribution tree to create (join) or tear down (prune) the path.


Note

In this publication, the terms “PIM join message” and “PIM prune message” are used to simplify the action taken when referring to the PIM join-prune message with only a join or prune action.


Join-prune messages are sent as quickly as possible by the software. You can filter the join-prune messages by defining a routing policy.

State Refreshes

PIM requires that multicast entries are refreshed within a 3.5-minute timeout interval. The state refresh ensures that traffic is delivered only to active listeners, and it keeps routers from using unnecessary resources.

To maintain the PIM state, the last-hop DR sends join-prune messages once per minute. State creation applies to both (*, G) and (S, G) states as follows:

  • (*, G) state creation example—An IGMP (*, G) report triggers the DR to send a (*, G) PIM join message toward the RP.

  • (S, G) state creation example—An IGMP (S, G) report triggers the DR to send an (S, G) PIM join message toward the source.

If the state is not refreshed, the PIM software tears down the distribution tree by removing the forwarding paths in the multicast outgoing interface list of the upstream routers.

Rendezvous Points

A rendezvous point (RP) is a router that you select in a multicast network domain that acts as a shared root for a multicast shared tree. You can configure as many RPs as you like, and you can configure them to cover different group ranges.

Static RP

You can statically configure an RP for a multicast group range. You must configure the address of the RP on every router in the domain.

You can define static RPs for the following reasons:

  • To configure routers with the Anycast-RP address

  • To manually configure an RP on a device

BSRs

The bootstrap router (BSR) ensures that all routers in the PIM domain have the same RP cache as the BSR. You can configure the BSR to help you select an RP set from BSR candidate RPs. The function of the BSR is to broadcast the RP set to all routers in the domain. You select one or more candidate BSRs to manage the RPs in the domain. Only one candidate BSR is elected as the BSR for the domain.

BSR is supported on Cisco Nexus 9300-FX, Cisco Nexus 9300-FX2, and Cisco Nexus 9300-FX3S platform switches.

This figure shows the BSR mechanism. Router A, the software-elected BSR, sends BSR messages out all enabled interfaces (shown by the solid lines in the figure). The messages, which contain the RP set, are flooded hop by hop to all routers in the network. Routers B and C are candidate RPs that send their candidate-RP advertisements directly to the elected BSR (shown by the dashed lines in the figure).

The elected BSR receives candidate-RP messages from all the candidate RPs in the domain. The bootstrap message sent by the BSR includes information about all of the candidate RPs. Each router uses a common algorithm to select the same RP address for a given multicast group.

Figure 1. BSR Mechanism

In the RP selection process, the RP address with the best priority is determined by the software. If the priorities match for two or more RP addresses, the software might use the RP hash in the selection process. Only one RP address is assigned to a group.

By default, routers are not enabled to listen or forward BSR messages. You must enable the BSR listening and forwarding feature so that the BSR mechanism can dynamically inform all routers in the PIM domain of the RP set assigned to multicast group ranges.


Note

The BSR mechanism is a nonproprietary method of defining RPs that can be used with third-party routers.


Auto-RP

Auto-RP is a Cisco protocol that was introduced prior to the Internet standard bootstrap router mechanism. You configure Auto-RP by selecting candidate mapping agents and RPs. Candidate RPs send their supported group range in RP-Announce messages to the Cisco RP-Announce multicast group 224.0.1.39. An Auto-RP mapping agent listens for RP-Announce messages from candidate RPs and forms a Group-to-RP mapping table. The mapping agent multicasts the Group-to-RP mapping table in RP-Discovery messages to the Cisco RP-Discovery multicast group 224.0.1.40.

This figure shows the Auto-RP mechanism. Periodically, the RP mapping agent multicasts the RP information that it receives to the Cisco-RP-Discovery group 224.0.1.40 (shown by the solid lines in the figure).

Figure 2. Auto-RP Mechanism

By default, routers are not enabled to listen or forward Auto-RP messages. You must enable the Auto-RP listening and forwarding feature so that the Auto-RP mechanism can dynamically inform routers in the PIM domain of the group-to-RP mapping.


Caution

Do not configure both Auto-RP and BSR protocols in the same network.


Multiple RPs Configured in a PIM Domain

This section describes the election process rules when multiple RPs are configured in a PIM domain.

Anycast-RP

Anycast-RP has two implementations: one uses Multicast Source Discovery Protocol (MSDP) and the other is based on RFC 4610, Anycast-RP Using Protocol Independent Multicast (PIM). This section describes how to configure PIM Anycast-RP.

You can use PIM Anycast-RP to assign a group of routers, called the Anycast-RP set, to a single RP address that is configured on multiple routers. The set of routers that you configure as Anycast-RPs is called the Anycast-RP set. This method is the only RP method that supports more than one RP per multicast group, which allows you to load balance across all RPs in the set. The Anycast RP supports all multicast groups.

PIM register messages are sent to the closest RP, and PIM join-prune messages are sent in the direction of the closest RP as determined by the unicast routing protocols. If one of the RPs goes down, unicast routing ensures these messages will be sent in the direction of the next-closest RP.

You must configure PIM on the loopback interface that is used for the PIM Anycast RP and the PIM Bidir RP.

For more information about PIM Anycast-RP, see RFC 4610.

PIM Register Messages

PIM register messages are unicast to the RP by designated routers (DRs) that are directly connected to multicast sources. The PIM register message has the following functions:

  • To notify the RP that a source is actively sending to a multicast group.

  • To deliver multicast packets sent by the source to the RP for delivery down the shared tree.

The DR continues to send PIM register messages to the RP until it receives a Register-Stop message from the RP. The RP sends a Register-Stop message in either of the following cases:

  • The RP has no receivers for the multicast group being transmitted.

  • The RP has joined the SPT to the source but has not started receiving traffic from the source.

The PIM triggered register is enabled by default.

You can use the ip pim register-source command to configure the IP source address of register messages when the IP source address of a register message is not a uniquely routed address to which the RP can send packets. This situation might occur if the source address is filtered so that the packets sent to it are not forwarded or if the source address is not unique to the network. In these cases, the replies sent from the RP to the source address will fail to reach the DR, resulting in Protocol Independent Multicast sparse mode (PIM-SM) protocol failures.

The following example shows how to configure the IP source address of the register message to the loopback 3 interface of a DR:


ip pim register-source loopback 3

Note

In Cisco NX-OS, PIM register messages are rate limited to avoid overwhelming the RP.


You can filter PIM register messages by defining a routing policy.

Designated Routers

In PIM ASM mode, the software chooses a designated router (DR) from the routers on each network segment. The DR is responsible for forwarding multicast data for specified groups and sources on that segment.

The DR for each LAN segment is determined as described in the Hello messages.

In ASM mode, the DR is responsible for unicasting PIM register packets to the RP. When a DR receives an IGMP membership report from a directly connected receiver, the shortest path is formed to the RP, which may or may not go through the DR. The result is a shared tree that connects all sources transmitting on the same multicast group to all receivers of that group.

ASM Switchover from Shared Tree to Source Tree


Note

Cisco NX-OS puts the RPF interface into the OIF-list of the MRIB but not into the OIF-list of the MFIB.


In ASM mode, the DR that is connected to a receiver switches over from the shared tree to the shortest-path tree (SPT) to a source unless you configure the PIM parameter to use shared trees only.

During the switchover, messages on the SPT and shared tree might overlap. These messages are different. The shared tree messages are propagated upstream toward the RP, while SPT messages go toward the source.

For information about SPT switchovers, see the “Last-Hop Switchover to the SPT" section in RFC 4601.

Administratively Scoped IP Multicast

The administratively scoped IP multicast method allows you to set boundaries on the delivery of multicast data. For more information, see RFC 2365.

You can configure an interface as a PIM boundary so that PIM messages are not sent out on that interface.

You can use the Auto-RP scope parameter to set a time-to-live (TTL) value.

PIM Graceful Restart

Protocol Independent Multicast (PIM) graceful restart is a multicast high availability (HA) enhancement that improves the convergence of multicast routes (mroutes) after a route processor (RP) switchover. In the event of an RP switchover, the PIM graceful restart feature utilizes the generation ID (GenID) value (defined in RFC 4601) as a mechanism to trigger adjacent PIM neighbors on an interface to send PIM join messages for all (*, G) and (S, G) states that use that interface as a reverse path forwarding (RPF) interface. This mechanism enables PIM neighbors to immediately reestablish those states on the newly active RP.

Generation IDs

A generation ID (GenID) is a randomly generated 32-bit value that is regenerated each time Protocol Independent Multicast (PIM) forwarding is started or restarted on an interface. In order to process the GenID value in PIM hello messages, PIM neighbors must be running Cisco software with an implementation of PIM that is compliant with RFC 4601.


Note

PIM neighbors that are not compliant with RFC 4601 and are unable to process GenID differences in PIM hello messages will ignore the GenIDs.

PIM Graceful Restart Operations

This figure illustrates the operations that occur after a route processor (RP) switchover on devices that support the PIM graceful restart feature.

Figure 3. PIM Graceful Restart Operations During an RP Switchover

The PIM graceful restart operations are as follows:

  • In steady state, PIM neighbors exchange periodic PIM hello messages.

  • An active RP receives PIM joins periodically to refresh multicast route (mroute) states.

  • When an active RP fails, the standby RP takes over to become the new active RP.

  • The new active RP then modifies the generation ID (GenID) value and sends the new GenID in PIM hello messages to adjacent PIM neighbors.

  • Adjacent PIM neighbors that receive PIM hello messages on an interface with a new GenID send PIM graceful restart for all (*, G) and (S, G) mroutes that use that interface as an RPF interface.

  • Those mroute states are then immediately reestablished on the newly active RP.

PIM Graceful Restart and Multicast Traffic Flow

Multicast traffic flow on PIM neighbors is not affected if the multicast traffic detects support for PIM graceful restart PIM or PIM hello messages from a node with the failing RP within the default PIM hello hold-time interval. Multicast traffic flow on a failing RP is not affected if it is non-stop forwarding (NSF) capable.


Caution

The default PIM hello hold-time interval is 3.5 times the PIM hello period. Multicast high availability (HA) operations might not function as per design if you configure the PIM hello interval with a value lower than the default value of 30 seconds.

High Availability

When a route processor reloads, multicast traffic across VRFs behaves the same as traffic forwarded within the same VRF.

For information about high availability, see the Cisco Nexus 9000 Series NX-OS High Availability and Redundancy Guide.

Prerequisites for PIM

  • You are logged onto the device.

  • For global commands, you are in the correct virtual routing and forwarding (VRF) mode. The default configuration mode shown in the examples in this chapter applies to the default VRF.

Guidelines and Limitations for PIM

  • Configuring a secondary IP address as an RP address is not supported.

  • For most Cisco Nexus devices, RPF failure traffic is dropped and sent to the CPU at a very low rate to trigger PIM asserts. For the Cisco Nexus 9000 Series switches, RPF failure traffic is always copied to the CPU in order to learn multicast sources.

  • For first-hop source detection in most Cisco Nexus devices, traffic coming from the first hop is detected based on the source subnet check, and multicast packets are copied to the CPU only if the source belongs to the local subnet. The Cisco Nexus 9000 Series switches cannot detect the local source, so multicast packets are sent to the supervisor to learn the local multicast source.

  • Cisco NX-OS PIM not interoperate with any version of PIM dense mode or PIM Sparse Mode version 1.

  • Cisco Nexus 9300-FX platform switches support PIM and PIM6.

  • Cisco Nexus 9000 Series switches support PIM ASM on vPCs.

  • PIM bidirectional multicast source VLAN bridging is not supported on FEX ports.

  • Multicast heavy template is recommended for optimal bandwidth utilization when using multicast traffic flows.

Guidelines and Limitations for Hello Messages

The following guidelines and limitations apply to Hello Messages:

  • Default values for the PIM hello interval are recommended and should not be modified.

Guidelines and Limitations for Rendezvous Points

The following guidelines and limitations apply to Rendezvous Points (RP):

  • Configure candidate RP intervals to a minimum of 15 seconds.

  • Do not configure both Auto-RP and BSR protocols in the same network.

  • PIM6 does not support BSRs and Auto-RP.

  • You must configure PIM on the loopback interface that is used for the PIM Anycast RP and the PIM Bidir RP.

  • To avoid excessive punts of the RPF failed packets, the Cisco Nexus 9000 Series switches may create S, G entries for active sources in ASM, although there is no rendezvous point (RP) for such group, or in situation when a reverse path forwarding (RPF) fails for the source.

    This behavior does not apply to Nexus 9200, 9300-EX platform switches, and N9K-X9700-EX LC platforms.

  • If a device is configured with a BSR policy that should prevent it from being elected as the BSR, the device ignores the policy. This behavior results in the following undesirable conditions:

    • If a device receives a BSM that is permitted by the policy, the device, which incorrectly elected itself as the BSR, drops that BSM so that routers downstream fail to receive it. Downstream devices correctly filter the BSM from the incorrect BSR so that these devices do not receive RP information.

    • A BSM received by a BSR from a different device sends a new BSM but ensures that downstream devices do not receive the correct BSM.

Guidelines and Limitations for Multicast VRF-lite Route Leaking

The following guidelines and limitations apply to multicast VRF-lite route leaking:

Default Settings

This table lists the default settings for PIM parameters.

Table 1. Default PIM Parameters

Parameters

Default

Use shared trees only

Disabled

Flush routes on restart

Disabled

Log neighbor changes

Disabled

Auto-RP message action

Disabled

BSR message action

Disabled

PIM sparse mode

Disabled

Designated router priority

1

Hello authentication mode

Disabled

Domain border

Disabled

RP address policy

No message filtering

PIM register message policy

No message filtering

BSR candidate RP policy

No message filtering

BSR policy

No message filtering

Auto-RP mapping agent policy

No message filtering

Auto-RP RP candidate policy

No message filtering

Join-prune policy

No message filtering

Neighbor adjacency policy

Become adjacent with all PIM neighbors

BFD

Disabled

Configuring PIM


Note

Cisco NX-OS supports only PIM sparse mode version 2. In this publication, “PIM” refers to PIM sparse mode version 2.


You can configure separate ranges of addresses in the PIM domain using the multicast distribution modes described in the table below.

Multicast Distribution Mode

Requires RP Configuration

Description

ASM

Yes

Any source multicast

RPF routes for multicast

No

RPF routes for multicast

PIM Configuration Tasks

The following steps configure PIM .

  1. Select the range of multicast groups that you want to configure in each multicast distribution mode.

  2. Enable PIM .

  3. Follow the configuration steps for the multicast distribution modes that you selected in Step 1.

  4. Configure message filtering.


Note

The CLI commands used to configure PIM are as follows:

  • Configuration commands begin with ip pim .

  • Show commands begin with show ip pim .


Enabling the PIM Feature

Before you can access the PIM commands, you must enable the PIM feature.

Before you begin

Ensure that you have installed the Enterprise Services license.

Procedure

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

feature pim

Example:

switch(config)# feature pim

Enables PIM. By default, PIM is disabled.

Step 3

(Optional) show running-configuration pim

Example:

switch(config)# show running-configuration pim
(Optional)

Shows the running-configuration information for PIM.

Step 4

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring PIM Sparse Mode Parameters

You configure PIM sparse mode on every device interface that you want to participate in a sparse mode domain. You can configure the sparse mode parameters described in the table below.

Table 2. PIM Sparse Mode Parameters

Parameter

Description

Global to the device

Auto-RP message action

Enables listening for and forwarding of Auto-RP messages. The default is disabled, which means that the router does not listen for or forward Auto-RP messages unless it is configured as a candidate RP or mapping agent.

BSR message action

Enables listening for and forwarding of BSR messages. The default is disabled, which means that the router does not listen for or forward BSR messages unless it is configured as a candidate RP or BSR candidate.

Register rate limit

Configures the IPv4 register rate limit in packets per second. The range is from 1 to 65,535. The default is no limit.

Initial holddown period

Configures the IPv4 initial holddown period in seconds. This holddown period is the time it takes for the MRIB to come up initially. If you want faster convergence, enter a lower value. The range is from 90 to 210. Specify 0 to disable the holddown period. The default is 210.

Per device interface

PIM sparse mode

Enables PIM on an interface.

Designated router priority

Sets the designated router (DR) priority that is advertised in PIM hello messages on this interface. On a multi-access network with multiple PIM-enabled routers, the router with the highest DR priority is elected as the DR router. If the priorities match, the software elects the DR with the highest IP address. The DR originates PIM register messages for the directly connected multicast sources and sends PIM join messages toward the rendezvous point (RP) for directly connected receivers. Values range from 1 to 4294967295. The default is 1.

Designated router delay

Delays participation in the designated router (DR) election by setting the DR priority that is advertised in PIM hello messages to 0 for a specified period. During this delay, no DR changes occur, and the current switch is given time to learn all of the multicast states on that interface. After the delay period expires, the correct DR priority is sent in the hello packets, which retriggers the DR election. Values range from 3 to 0xffff seconds.

Hello authentication mode

Enables an MD5 hash authentication key, or password, in PIM hello messages on the interface so that directly connected neighbors can authenticate each other. The PIM hello messages are IPsec encoded using the Authentication Header (AH) option. You can enter an unencrypted (cleartext) key or one of these values followed by a space and the MD5 authentication key:

  • 0—Specifies an unencrypted (cleartext) key

  • 3—Specifies a 3-DES encrypted key

  • 7—Specifies a Cisco Type 7 encrypted key

The authentication key can be up to 16 characters. The default is disabled.

Hello interval

Configures the interval at which hello messages are sent in milliseconds. The range is from 1000 to 18724286. The default is 30000.

Note 

See the Cisco Nexus 9000 Series NX-OS Verified Scalability Guide for the verified range of this parameter and associated PIM neighbor scale.

Domain border

Enables the interface to be on the border of a PIM domain so that no bootstrap, candidate-RP, or Auto-RP messages are sent or received on the interface. The default is disabled.

Neighbor policy

Configures which PIM neighbors to become adjacent to based on a prefix-list policy.1 If the policy name does not exist or no prefix lists are configured in a policy, adjacency is established with all neighbors. The default is to become adjacent with all PIM neighbors.

Note 

We recommend that you should configure this feature only if you are an experienced network administrator.

Note 

The PIM neighbor policy supports only prefix lists. It does not support ACLs used inside a route map.

1 To configure prefix-list policies, see the Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide.

Configuring PIM Sparse Mode Parameters

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

(Optional) ip pim auto-rp {listen [forward] | forward [listen]}

Example:
switch(config)# ip pim auto-rp listen
(Optional)

Enables listening for or forwarding of Auto-RP messages. The default is disabled, which means that the software does not listen for or forward Auto-RP messages.

Step 3

(Optional) ip pim bsr {listen [forward] | forward [listen]}

Example:
switch(config)# ip pim bsr forward
(Optional)

Enables listening for or forwarding of BSR messages. The default is disabled, which means that the software does not listen for or forward BSR messages.

Step 4

(Optional) ip pim register-rate-limit rate

Example:
switch(config)# ip pim register-rate-limit 1000
(Optional)

Configures the rate limit in packets per second. The range is from 1 to 65,535. The default is no limit.

Step 5

(Optional) ip pim spt-threshold infinity group-list route-map-name

Example:
switch(config)# ip pim spt-threshold infinity group-list my_route-map-name
(Optional)

Creates the IPv4 PIM (*, G) state only, for the group prefixes defined in the specified route map. Cisco NX-OS Release 3.1 supports up to 1000 route-map entries, and Cisco NX-OS releases prior to 3.1 support up to 500 route-map entries.

Note 

The ip pim use-shared-tree-only group-list command performs the same function as the ip pim spt-threshold infinity group-list command. You can choose to use either command to implement this step.

Both the commands (ip pim spt-threshold infinity group-list and ip pim use-shared-tree-only group-list has the following limitations:

  • It is only supported for virtual port channels (vPC) on the Cisco Nexus 9000 Cloud Scale Switches.

  • It is supported in standalone (non-vPC) Last Hop Router (LHR) configurations.

Step 6

(Optional) [ip | ipv4] routing multicast holddown holddown-period

Example:
switch(config)# ip routing multicast holddown 100
(Optional)

Configures the initial holddown period in seconds. The range is from 90 to 210. Specify 0 to disable the holddown period. The default is 210.

Step 7

(Optional) show running-configuration pim

Example:
switch(config)# show running-configuration pim
(Optional)

Displays PIM running-configuration information.

Step 8

interface interface

Example:
switch(config)# interface ethernet 2/1
switch(config-if)#

Enters interface configuration mode.

Step 9

ip pim sparse-mode

Example:
switch(config-if)# ip pim sparse-mode

Enables PIM sparse mode on this interface. The default is disabled.

Step 10

(Optional) ip pim dr-priority priority

Example:
switch(config-if)# ip pim dr-priority 192
(Optional)

Sets the designated router (DR) priority that is advertised in PIM hello messages. Values range from 1 to 4294967295. The default is 1.

Step 11

(Optional) ip pim dr-delay delay

Example:
switch(config-if)# ip pim dr-delay 3
(Optional)

Delays participation in the designated router (DR) election by setting the DR priority that is advertised in PIM hello messages to 0 for a specified period. During this delay, no DR changes occur, and the current switch is given time to learn all of the multicast states on that interface. After the delay period expires, the correct DR priority is sent in the hello packets, which retriggers the DR election. Values range from 3 to 0xffff seconds.

Note 

This command delays participation in the DR election only upon bootup or following an IP address or interface state change. It is intended for use with multicast-access non-vPC Layer 3 interfaces only.

Step 12

(Optional) ip pim hello-authentication ah-md5 auth-key

Example:
switch(config-if)# ip pim hello-authentication ah-md5 my_key
(Optional)

Enables an MD5 hash authentication key in PIM hello messages. You can enter an unencrypted (cleartext) key or one of these values followed by a space and the MD5 authentication key:

  • 0—Specifies an unencrypted (cleartext) key

  • 3—Specifies a 3-DES encrypted key

  • 7—Specifies a Cisco Type 7 encrypted key

The key can be up to 16 characters. The default is disabled.

Step 13

(Optional) ip pim hello-interval interval

Example:
switch(config-if)# ip pim hello-interval 25000
(Optional)

Configures the interval at which hello messages are sent in milliseconds. The range is from 1000 to 18724286. The default is 30000.

Note 

The minimum value is 1 millisecond.

Step 14

(Optional) ip pim border

Example:
switch(config-if)# ip pim border
(Optional)

Enables the interface to be on the border of a PIM domain so that no bootstrap, candidate-RP, or Auto-RP messages are sent or received on the interface. The default is disabled.

Step 15

(Optional) ip pim neighbor-policy prefix-list prefix-list

Example:
switch(config-if)# ip pim neighbor-policy prefix-list AllowPrefix
(Optional)

Enables the interface to be on the border of a PIM domain so that no bootstrap, candidate-RP, or Auto-RP messages are sent or received on the interface. The default is disabled.

Also configures which PIM neighbors to become adjacent to based on a prefix-list policy with the ip prefix-list prefix-list command. The prefix list can be up to 63 characters. The default is to become adjacent with all PIM neighbors.

Note 

We recommend that you configure this feature only if you are an experienced network administrator.

Step 16

(Optional) show ip pim interface [interface | brief] [vrf vrf-name | all]

Example:
switch(config-if)# show ip pim interface
(Optional)

Displays PIM interface information.

Step 17

(Optional) copy running-config startup-config

Example:
switch(config-if)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring ASM

To configure ASM mode, you configure sparse mode and the RP selection method, where you indicate the distribution mode and assign the range of multicast groups.

Configuring Static RPs

You can configure an RP statically by configuring the RP address on every router that will participate in the PIM domain.


Note

We recommend that the RP address uses the loopback interface and also the interface with the RP address must have ip pim sparse-mode enabled.


You can specify a route-map policy name that lists the group prefixes to use with the match ip multicast command or specify a prefix-list method of configuration.


Note

Cisco NX-OS always uses the longest-match prefix to find the RP, so the behavior is the same irrespective of the position of the group prefix in the route map or in the prefix list.


The following example configuration produces the same output using Cisco NX-OS (231.1.1.0/24 is always denied irrespective of the sequence number):


ip prefix-list plist seq 10 deny 231.1.1.0/24
ip prefix-list plist seq 20 permit 231.1.0.0/16
ip prefix-list plist seq 10 permit 231.1.0.0/16
ip prefix-list plist seq 20 deny 231.1.1.0/24
Configuring Static RPs
Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip pim rp-address rp-address [group-list ip-prefix | prefix-list name |override |route-map policy-name] [bidir]

Example:
switch(config)# ip pim rp-address 192.0.2.33 group-list 224.0.0.0/9

Configures a PIM static RP address for a multicast group range.

You can specify a prefix-list policy name for the static RP address or a route-map policy name that lists the group prefixes to use with the match ip multicast command.

The mode is ASM.

The override option causes the RP address to override the dynamically learned RP addresses for specified groups in route-map.

The example configures PIM ASM mode for the specified group range.

Step 3

(Optional) show ip pim group-range [ip-prefix | vrf vrf-name]

Example:
switch(config)# show ip pim group-range
(Optional)

Displays PIM RP information, including BSR listen and forward states.

Step 4

(Optional) copy running-config startup-config

Example:
switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring BSRs

You configure BSRs by selecting candidate BSRs and RPs.


Caution

Do not configure both Auto-RP and BSR protocols in the same network.


You can configure a candidate BSR with the arguments described in the table below.

Table 3. Candidate BSR Arguments

Argument

Description

interface

Interface type and number used to derive the BSR source IP address used in bootstrap messages.

hash-length

Number of high order 1s used to form a mask that is ANDed with group address ranges of candidate RPs to form a hash value. The mask determines the number of consecutive addresses to assign across RPs with the same group range. For PIM, this value ranges from 0 to 32 and has a default of 30.

priority

Priority assigned to this BSR. The software elects the BSR with the highest priority, or if the BSR priorities match, the software elects the BSR with the highest IP address. This value ranges from 0, the lowest priority, to 255 and has a default of 64.

Configuring BSRs Candidate RP Arguments and Keywords

You can configure a candidate RP with the arguments and keywords described in this table.

Table 4. BSR Candidate RP Arguments and Keywords

Argument or Keyword

Description

interface

Interface type and number used to derive the BSR source IP address used in bootstrap messages.

group-list ip-prefix

Multicast groups handled by this RP specified in a prefix format.

interval

Number of seconds between sending candidate-RP messages. This value ranges from 1 to 65,535 and has a default of 60 seconds.

Note 

We recommend that you configure the candidate RP interval to a minimum of 15 seconds.

priority

Priority assigned to this RP. The software elects the RP with the highest priority for a range of groups or, if the priorities match, the highest IP address. (The highest priority is the lowest numerical value.) This value ranges from 0, the highest priority, to 255 and has a default of 192.

Note 

This priority differs from the BSR BSR-candidate priority, which prefers the highest value between 0 and 255.

route-map policy-name

Route-map policy name that defines the group prefixes where this feature is applied.


Tip

You should choose the candidate BSRs and candidate RPs that have good connectivity to all parts of the PIM domain.


You can configure the same router to be both a BSR and a candidate RP. In a domain with many routers, you can select multiple candidate BSRs and RPs to automatically fail over to alternates if a BSR or an RP fails.

To configure candidate BSRs and RPs, follow these steps:

  1. Configure whether each router in the PIM domain should listen for and forward BSR messages. A router configured as either a candidate RP or a candidate BSR will automatically listen for and forward all bootstrap router protocol messages, unless an interface is configured with the domain border feature.

  2. Select the routers to act as candidate BSRs and RPs.

  3. Configure each candidate BSR and candidate RP as described in this section.

  4. Configure BSR message filtering.

Configuring BSRs
Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip pim bsr {forward [listen] | listen [forward]}

Example:
switch(config)# ip pim bsr listen forward

Configures listen and forward.

Ensure that you have entered this command in each VRF on the remote PE.

Step 3

ip pim [bsr] bsr-candidate interface [hash-len hash-length] [priority priority]

Example:
switch(config)# ip pim bsr-candidate ethernet 2/1 hash-len 24

Configures a candidate bootstrap router (BSR). The source IP address used in a bootstrap message is the IP address of the interface. The hash length ranges from 0 to 32 and has a default of 30. The priority ranges from 0 to 255 and has a default of 64.

Step 4

ip pim sparse-mode

Example:
switch(config-if)# ip pim sparse-mode

Enables PIM sparse mode on this interface. The default is disabled.

Step 5

(Optional) ip pim [bsr] rp-candidate interface group-list ip-prefix route-map policy-name priority priority interval interval

Example:
switch(config)# ip pim rp-candidate ethernet 2/1 group-list 239.0.0.0/24
(Optional)

Configures a candidate RP for BSR. The priority ranges from 0, the highest priority, to 65,535 and has a default of 192. The interval ranges from 1 to 65,535 seconds and has a default of 60.

Note 

We recommend that you configure the candidate RP interval to a minimum of 15 seconds.

The example configures an ASM candidate RP.

Step 6

(Optional) show ip pim group-range [ip-prefix | vrf vrf-name]

Example:
switch(config)# show ip pim group-range
(Optional)

Displays PIM modes and group ranges.

Step 7

(Optional) copy running-config startup-config

Example:
switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring Auto-RP

You can configure Auto-RP by selecting candidate mapping agents and RPs. You can configure the same router to be both a mapping agent and a candidate RP.


Caution

Do not configure both Auto-RP and BSR protocols in the same network.


You can configure an Auto-RP mapping agent with the arguments described in this table.

Table 5. Auto-RP Mapping Agent Arguments

Argument

Description

interface

Interface type and number used to derive the IP address of the Auto-RP mapping agent used in bootstrap messages.

scope ttl

Time-to-Live (TTL) value that represents the maximum number of hops that RP-Discovery messages are forwarded. This value can range from 1 to 255 and has a default of 32.

If you configure multiple Auto-RP mapping agents, only one is elected as the mapping agent for the domain. The elected mapping agent ensures that all candidate RP messages are sent out. All mapping agents receive the candidate RP messages and advertise the same RP cache in their RP-discovery messages.

You can configure a candidate RP with the arguments and keywords described in this table.

Table 6. Auto-RP Candidate RP Arguments and Keywords

Argument or Keyword

Description

interface

Interface type and number used to derive the IP address of the candidate RP used in bootstrap messages.

group-list ip-prefix

Multicast groups handled by this RP. It is specified in a prefix format.

scope ttl

Time-to-Live (TTL) value that represents the maximum number of hops that RP-Discovery messages are forwarded. This value can range from 1 to 255 and has a default of 32.

interval

Number of seconds between sending RP-Announce messages. This value can range from 1 to 65,535 and has a default of 60.

Note 

We recommend that you configure the candidate RP interval to a minimum of 15 seconds.

route-map policy-name

Route-map policy name that defines the group prefixes where this feature is applied.


Tip

You should choose mapping agents and candidate RPs that have good connectivity to all parts of the PIM domain.


To configure Auto-RP mapping agents and candidate RPs, follow these steps:

  1. For each router in the PIM domain, configure whether that router should listen for and forward Auto-RP messages. A router configured as either a candidate RP or an Auto-RP mapping agent will automatically listen for and forward all Auto-RP protocol messages, unless an interface is configured with the domain border feature.

  2. Select the routers to act as mapping agents and candidate RPs.

  3. Configure each mapping agent and candidate RP as described in this section.

  4. Configure Auto-RP message filtering.

Ensure that you have installed the Enterprise Services license and enabled PIM.

Configuring Auto RP (PIM)
Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip pim {send-rp-discovery | auto-rp mapping-agent} interface [scope ttl]

Example:
switch(config)# ip pim auto-rp mapping-agent ethernet 2/1
Configures an Auto-RP mapping agent. The source IP address used in Auto-RP Discovery messages is the IP address of the interface. The default scope is 32.
Step 3

ip pim {send-rp-announce | auto-rp rp-candidate} interface {group-list ip-prefix | prefix-list name | route-map policy-name} [scope ttl] interval interval] [bidir]

Example:
switch(config)# ip pim auto-rp rp-candidate ethernet 2/1 group-list 239.0.0.0/24

Configures an Auto-RP candidate RP. The default scope is 32. The default interval is 60 seconds. By default, the command creates an ASM candidate RP. Use the bidir option to create a Bidir candidate RP.

Note 

We recommend that you configure the candidate RP interval to a minimum of 15 seconds.

The example configures an ASM candidate RP.

Step 4

ip pim sparse-mode

Example:
switch(config-if)# ip pim sparse-mode

Enables PIM sparse mode on this interface. The default is disabled.

Step 5

(Optional) show ip pim group-range [ip-prefix | vrf vrf-name]

Example:
switch(config)# show ip pim group-range
(Optional)

Displays PIM modes and group ranges.

Step 6

(Optional) copy running-config startup-config

Example:
switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring a PIM Anycast-RP Set

To configure a PIM Anycast-RP set, follow these steps:

  1. Select the routers in the PIM Anycast-RP set.

  2. Select an IP address for the PIM Anycast-RP set.

  3. Configure each peer RP in the PIM Anycast-RP set as described in this section.

Configuring a PIM Anycast RP Set
Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface loopback number

Example:
switch(config)# interface loopback 0
switch(config-if)#

Configures an interface loopback.

This example configures interface loopback 0.

Step 3

ip address ip-prefix

Example:
switch(config-if)# ip address 192.168.1.1/32

Configures an IP address for this interface. It should be a unique IP address that helps to identify this router.

Step 4

ip pim sparse-mode

Example:
switch(config-if)# ip pim sparse-mode

Enables PIM sparse mode.

Step 5

ip router routing-protocol-configuration

Example:
switch(config-if)# ip router ospf 1 area 0.0.0.0

Enables the interface to be reachable by other routers in the Anycast RP set.

Step 6

exit

Example:
switch(config-if)# exit
switch(config)#

Exits interface configuration mode.

Step 7

interface loopback number

Example:
switch(config)# interface loopback 1
switch(config-if)#

Configures an interface loopback.

This example configures interface loopback 1.

Step 8

ip address ip-prefix

Example:
switch(config-if)# ip address 10.1.1.1/32

Configures an IP address for this interface. It should be a common IP address that acts as the Anycast RP address.

Step 9

ip router routing-protocol-configuration

Example:
switch(config-if)# ip router ospf 1 area 0.0.0.0

Enables the interface to be reachable by other routers in the Anycast RP set.

Step 10

exit

Example:
switch(config-if)# exit
switch(config)#

Exits interface configuration mode.

Step 11

ip pim rp-address anycast-rp-address [group-list ip-address]

Example:
switch(config)# ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4

Configures the PIM Anycast RP address.

Step 12

ip pim anycast-rp anycast-rp-address anycast-rp-set-router-address

Example:
switch(config)# ip pim anycast-rp 10.1.1.1 192.168.1.1

Configures a PIM Anycast-RP peer address for the specified Anycast-RP address. Each command with the same Anycast-RP address forms an Anycast-RP set. The IP addresses of RPs are used for communication with RPs in the set.

Step 13

Repeat Step 13 using the same Anycast-RP address for each peer router in the RP set (including the local router).

Step 14

(Optional) show ip pim rp

Example:
switch(config)# show ip pim rp
(Optional)

Displays the PIM RP mapping.

Step 15

(Optional) show ip mroute ip-address

Example:
switch(config)# show ip mroute 239.1.1.1
(Optional)

Displays the mroute entries.

Step 16

(Optional) show ip pim group-range [ip-prefix | vrf vrf-name]

Example:
switch(config)# show ip pim group-range
(Optional)

Displays PIM modes and group ranges.

Step 17

(Optional) copy running-config startup-config

Example:
switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring Shared Trees Only for ASM

You can configure shared trees only on the last-hop router for Any Source Multicast (ASM) groups, which means that the router never switches over from the shared tree to the SPT when a receiver joins an active group. You can specify a group range where the use of shared trees is to be enforced with the match ip multicast command. This option does not affect the normal operation of the router when a source tree join-prune message is received.


Note

The Cisco NX-OS software does not support the shared-tree feature on vPCs. For more information about vPCs, see the Cisco Nexus 9000 Series NX-OS Interfaces Configuration Guide.


The default is disabled, which means that the software can switch over to source trees.


Note

In ASM mode, only the last-hop router switches from the shared tree to the SPT.
Configuring Shared Trees Only for ASM
Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip pim use-shared-tree-only group-list policy-name

Example:
switch(config)# ip pim use-shared-tree-only group-list my_group_policy
Builds only shared trees, which means that the software never switches over from the shared tree to the SPT. You specify a route-map policy name that lists the groups to use with the match ip multicast command. By default, the software triggers a PIM (S, G) join toward the source when it receives multicast packets for a source for which it has the (*, G) state.

This command has the following limitations:

  • It is only supported for virtual port channels (vPC) on the Cisco Nexus 9000 Cloud Scale Switches.

  • It is supported in standalone (non-vPC) Last Hop Router (LHR) configurations.

Step 3

(Optional) show ip pim group-range [ip-prefix | vrf vrf-name]

Example:
switch(config)# show ip pim group-range
(Optional)

Displays PIM modes and group ranges.

Step 4

(Optional) copy running-config startup-config

Example:
switch(config-if)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring RPF Routes for Multicast

You can define reverse path forwarding (RPF) routes for multicast when you want multicast data to diverge from the unicast traffic path. You can define RPF routes for multicast on border routers to enable RPF to an external network.

Multicast routes are used not to directly forward traffic but to make RPF checks. RPF routes for multicast cannot be redistributed.


Note

IPv6 static multicast routes are not supported.

Note

If the ip multicast multipath s-g-hash CLI is not configured, the multicast traffic may fail the RFP check.

Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM .

Procedure

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip mroute {ip-addr mask | ip-prefix} {next-hop | nh-prefix | interface} [route-preference] [vrf vrf-name]

Example:

switch(config)# ip mroute 192.0.2.33/1 224.0.0.0/1
Configures an RPF route for multicast for use in RPF calculations. Route preference values range from 1 to 255. The default preference is 1.
Step 3

(Optional) show ip static-route [multicast] [vrf vrf-name]

Example:

switch(config)# show ip static-route multicast
(Optional)
Displays configured static routes.
Step 4

(Optional) copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Configuring Multicast Multipath

By default, the RPF interface for multicast is chosen automatically when multiple ECMP paths are available.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip multicast multipath {none | resilient | s-g-hash}

Example:
switch(config)# ip multicast multipath none

Configure multicast multipath using the following options:

  • none—Disables multicast multipath by suppressing hashing across multiple ECMPs in the URIB RPF lookup. With this option, the highest RPF neighbor (next-hop) address is used for the RPF interface.

Note 

Use the ip multicast multipath none command to completely disable hashing.

  • s-g-hash—Initiates S, G, nexthop hashing (rather than the default of S/RP, G-based hashing) to select the RPF interface. This option configures the hash based on source and group address. This is the default setting.

  • resilient—If the ECMP path list changes and the old RPF information is still part of the ECMP, this option uses the old RPF information instead of performing a rehash and potentially changing the RPF information. The ip multicast multipath resilient command is for maintaining resiliency (Stickiness) to the current RPF if there is a path in the route reachability notification from URIB.

Note 

The no ip multicast multipath resilient command disables the stickiness algorithm. This command is independent of the hashing algorithm.

Step 3

clear ip mroute *

Example:
switch(config)# clear ip mroute *

Clears multipath routes and activates multicast multipath suppression.

Configuring Route Maps to Control RP Information Distribution

You can configure route maps to help protect against some RP configuration errors and malicious attacks.

By configuring route maps, you can control distribution of RP information that is distributed throughout the network. You specify the BSRs or mapping agents to be listened to on each client router and the list of candidate RPs to be advertised (listened to) on each BSR and mapping agent to ensure that what is advertised is what you expect.


Note

Only the match ipv6 multicast command has an effect in the route map.


Ensure that you have installed the Enterprise Services license and enabled PIM.

Configuring Route Maps to Control RP Information Distribution (PIM)

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

route-map map-name [permit | deny] [sequence-number]

Example:
switch(config)# route-map ASM_only permit 10
switch(config-route-map)#

Enters route-map configuration mode.

Step 3

match ip multicast {rp ip-address [rp-type rp-type]} {group ip-prefix} {source source-ip-address}

Example:
switch(config-route-map)# match ip multicast group 224.0.0.0/4 rp 0.0.0.0/0 rp-type ASM

Matches the group, RP, and RP type specified. You can specify the RP type (ASM). This configuration method requires the group and RP specified as shown in the example.

Step 4

(Optional) show route-map

Example:
switch(config-route-map)# show route-map
(Optional)

Displays configured route maps.

Step 5

(Optional) copy running-config startup-config

Example:
switch(config-route-map)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring Message Filtering


Note

Prefix matches in the rp-candidate-policy must be exact relative to what the c-rp is advertising. Subset matches are not possible.


You can configure filtering of the PIM messages described in the table below.

Table 7. PIM Message Filtering

Message Type

Description

Global to the Device

Log Neighbor changes

Enables syslog messages that list the neighbor state changes to be generated. The default is disabled.

PIM register policy

Enables PIM register messages to be filtered based on a route-map policy2 where you can specify group or group and source addresses with the match ip multicast command. This policy applies to routers that act as an RP. The default is disabled, which means that the software does not filter PIM register messages.

BSR candidate RP policy

Enables BSR candidate RP messages to be filtered by the router based on a route-map policy where you can specify the RP and group addresses with the match ip multicast command. This command can be used on routers that are eligible for BSR election. The default is no filtering of BSR messages.

BSR policy

Enables BSR messages to be filtered by the BSR client routers based on a route-map policy where you can specify BSR source addresses with the match ip multicast command. This command can be used on client routers that listen to BSR messages. The default is no filtering of BSR messages.

Auto-RP candidate RP policy

Enables Auto-RP announce messages to be filtered by the Auto-RP mapping agents based on a route-map policy where you can specify the RP and group addresses with the match ip multicast command. This command can be used on a mapping agent. The default is no filtering of Auto-RP messages.

Auto-RP mapping agent policy

Enables Auto-RP discover messages to be filtered by client routers based on a route-map policy where you can specify mapping agent source addresses with the match ip multicast command. This command can be used on client routers that listen to discover messages. The default is no filtering of Auto-RP messages.

Note 

PIM6 does not support the Auto-RP method.

Per Device Interface

Join-prune policy

Enables join-prune messages to be filtered based on a route-map policy where you can specify group, group and source, or group and RP addresses with the match ip multicast command. The default is no filtering of join-prune messages.

2 For information about configuring route-map policies, see the Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide.

Route maps as a filtering policy can be used (either permit or deny for each statement) for the following commands:

  • The jp-policy command can use (S,G), (*,G), or (RP,G).

  • The register-policy command can use (S,G) or (*,G).

  • The igmp report-policy command can use (*,G) or (S,G).

  • The state-limit reserver-policy command can use (*,G) or (S,G).

  • The auto-rp rp-candidate-policy command can use (RP,G).

  • The bsr rp-candidate-policy command can use (RP,G).

  • The autorp mapping-agent policy command can use (S).

  • The bsr bsr-policy command can use (S).

Route maps as containers can be used for the following commands, where the route-map action (permit or deny) is ignored:

  • The ip pim rp-address route map command can use only G.

  • The ip igmp static-oif route map command can use (S,G), (*,G), (S,G-range), (*,G-range).

  • The ip igmp join-group route map command can use (S,G), (*,G), (S,G-range, (*, G-range).

Configuring Message Filtering

Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

(Optional) ip pim log-neighbor-changes

Example:
switch(config)# ip pim log-neighbor-changes
(Optional)
Enables syslog messages that list the neighbor state changes to be generated. The default is disabled.
Step 3

(Optional) ip pim register-policy policy-name

Example:
switch(config)# ip pim register-policy my_register_policy
(Optional)

Enables PIM register messages to be filtered based on a route-map policy. You can specify group or group and source addresses with the match ip multicast command.

Step 4

(Optional) ip pim bsr rp-candidate-policy policy-name

Example:
switch(config)# ip pim bsr rp-candidate-policy my_bsr_rp_candidate_policy
(Optional)

Enables BSR candidate RP messages to be filtered by the router based on a route-map policy where you can specify the RP and group addresses with the match ip multicast command. This command can be used on routers that are eligible for BSR election. The default is no filtering of BSR messages.

Step 5

(Optional) ip pim bsr bsr-policy policy-name

Example:
switch(config)# ip pim bsr bsr-policy my_bsr_policy
(Optional)

Enables BSR messages to be filtered by the BSR client routers based on a route-map policy where you can specify BSR source addresses with the match ip multicast command. This command can be used on client routers that listen to BSR messages. The default is no filtering of BSR messages.

Step 6

(Optional) ip pim auto-rp rp-candidate-policy policy-name

Example:
switch(config)# ip pim auto-rp rp-candidate-policy my_auto_rp_candidate_policy
(Optional)

Enables Auto-RP announce messages to be filtered by the Auto-RP mapping agents based on a route-map policy where you can specify the RP and group addresses with the match ip multicast command. This command can be used on a mapping agent. The default is no filtering of Auto-RP messages.

Step 7

(Optional) ip pim auto-rp mapping-agent-policy policy-name

Example:
switch(config)# ip pim auto-rp mapping-agent-policy my_auto_rp_mapping_policy
(Optional)

Enables Auto-RP discover messages to be filtered by client routers based on a route-map policy where you can specify mapping agent source addresses with the match ip multicast command. This command can be used on client routers that listen to discover messages. The default is no filtering of Auto-RP messages.

Step 8

interface interface

Example:
switch(config)# interface ethernet 2/1
switch(config-if)#

Enters interface mode on the specified interface.

Step 9

(Optional) ip pim jp-policy policy-name [in | out]

Example:
switch(config-if)# ip pim jp-policy my_jp_policy
(Optional)

Enables join-prune messages to be filtered based on a route-map policy where you can specify group, group and source, or group and RP addresses with the match ip multicast command. The default is no filtering of join-prune messages.

Step 10

(Optional) show run pim

Example:
switch(config-if)# show run pim
(Optional)

Displays PIM configuration commands.

Step 11

(Optional) copy running-config startup-config

Example:
switch(config-if)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Restarting the PIM Processes

When routes are flushed, they are removed from the Multicast Routing Information Base (MRIB) and the Multicast Forwarding Information Base (MFIB).

When you restart PIM, the following tasks are performed:

  • The PIM database is deleted.

  • The MRIB and MFIB are unaffected and forwarding of traffic continues.

  • The multicast route ownership is verified through the MRIB.

  • Periodic PIM join and prune messages from neighbors are used to repopulate the database.

Restarting the PIM Process

Before you begin

Ensure that you have installed the Enterprise Services license and enabled PIM.

Procedure
  Command or Action Purpose
Step 1

restart pim

Example:
switch# restart pim

Restarts the PIM process.

Note 

Traffic loss might occur during the restart process.

Step 2

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 3

ip pim flush-routes

Example:
switch(config)# ip pim flush-routes
Removes routes when the PIM process is restarted. By default, routes are not flushed.
Step 4

(Optional) show running-configuration pim

Example:
switch(config)# show running-configuration pim
(Optional)

Displays the PIM running-configuration information, including the flush-routes command.

Step 5

(Optional) copy running-config startup-config

Example:
switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring BFD for PIM in VRF Mode


Note

You can configure Bidirectional Forwarding Detection (BFD) for PIM by either VRF or interface.


Before you begin

Ensure that you have installed the Enterprise Services license, enabled PIM, and enabled BFD.

Procedure

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

vrf context vrf-name

Example:

switch# vrf context test
switch(config-vrf)#

Enters VRF configuration mode.

Step 3

ip pim bfd

Example:

switch(config-vrf)# ip pim bfd

Enables BFD on the specified VRF.

Note 

You can also enter the ip pim bfd command in global configuration mode, which enables BFD on the VRF instance.

Configuring BFD for PIM in Interface Mode

Before you begin

Ensure that you have installed the Enterprise Services license, enabled PIM, and enabled BFD.

Procedure
  Command or Action Purpose
Step 1

configure terminal

Example:
switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface-type

Example:
switch(config)# interface ethernet 7/40
switch(config-if)#

Enters interface configuration mode.

Step 3

ip pim bfd instance

Example:
switch(config-if)# ip pim bfd instance

Enables BFD on the specified interfaces. You can enable or disable BFD on PIM interfaces irrespective of whether BFD is enabled on the VRF.

Step 4

(Optional) show running-configuration pim

Example:
switch(config-if)# show running-configuration pim
(Optional)

Displays the PIM running-configuration information.

Step 5

(Optional) copy running-config startup-config

Example:
switch(config-if)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Verifying the PIM Configuration

To display the PIM configuration information, perform one of the following tasks.

Command

Description

show ip mroute [ip-address] [detail | summary]

Displays the IP multicast routing table.

The detail option displays detailed route attributes.

The summary option displays route counts and packet rates.

show ip pim group-range [ip-prefix] [vrf vrf-name | all ]

Displays the learned or configured group ranges and modes. For similar information, see the show ip pim rp command.

show ip pim interface [interface | brief ] [vrf vrf-name | all ]

Displays information by the interface.

show ip pim neighbor [interface interface | ip-prefix] [vrf vrf-name | all ]

Displays neighbors by the interface.

show ip pim oif-list group [source ] [vrf vrf-name | all ]

Displays all the interfaces in the outgoing interface (OIF) list.

show ip pim route [source | group [source ]] [vrf vrf-name | all ]

Displays information for each multicast route, including interfaces on which a PIM join for that (S, G) has been received.

show ip pim rp [ip-prefix] [vrf vrf-name | all ]

Displays rendezvous points (RPs) known to the software, how they were learned, and their group ranges. For similar information, see the show ip pim group-range command.

show ip pim rp-hash group [vrf vrf-name | all ]

Displays the bootstrap router (BSR) RP hash information.

show running-config pim

Displays the running-configuration information.

show startup-config pim

Displays the startup-configuration information.

show ip pim vrf [vrf-name | all ] [detail ]

Displays per-VRF information.

Displaying Statistics

You can display and clear PIM statistics by using the commands in this section.

Displaying PIM Statistics

You can display the PIM statistics and memory usage using these commands.

Command

Description

show ip pim policy statistics

Displays policy statistics for register, RP, and join-prune message policies.

show ip pim statistics [vrf vrf-name]

Displays global statistics.

Clearing PIM Statistics

You can clear the PIM statistics using these commands.

Command

Description

clear ip pim interface statistics interface

Clears counters for the specified interface.

clear ip pim policy statistics

Clears policy counters for register, RP, and join-prune message policies.

clear ip pim statistics [vrf vrf-name ]

Clears global counters handled by the PIM process.

Configuration Examples for PIM

This section describes how to configure PIM using different data distribution modes and RP selection methods.

BSR Configuration Example

To configure PIM in ASM mode using the BSR mechanism, follow these steps for each router in the PIM domain:

  1. Configure PIM sparse mode parameters on the interfaces that you want to participate in the domain. We recommend that you enable PIM on all interfaces.

    
    switch# configure terminal
    switch(config)# interface ethernet 2/1
    switch(config-if)# ip pim sparse-mode
    
    
  2. Configure whether that router should listen and forward BSR messages.

    
    switch# configure terminal
    switch(config)# ip pim bsr forward listen
    
    
  3. Configure the BSR parameters for each router that you want to act as a BSR.

    
    switch# configure terminal
    switch(config)# ip pim bsr-candidate ethernet 2/1 hash-len 30
    
    
  4. Configure the RP parameters for each router that you want to act as a candidate RP.

    
    switch# configure terminal
    switch(config)# ip pim rp-candidate ethernet 2/1 group-list 239.0.0.0/24
    
    
  5. Configure message filtering.

    
    switch# configure terminal
    switch(config)# ip pim log-neighbor-changes
    
    

The following example shows how to configure PIM ASM mode using the BSR mechanism and how to configure the BSR and RP on the same router:


configure terminal
  interface ethernet 2/1
    ip pim sparse-mode
    exit
  ip pim bsr forward listen
ip pim bsr-candidate ethernet 2/1 hash-len 30
  ip pim rp-candidate ethernet 2/1 group-list 239.0.0.0/24
  ip pim log-neighbor-changes

PIM Anycast RP Configuration Example

To configure ASM mode using the PIM Anycast-RP method, follow these steps for each router in the PIM domain:

  1. Configure PIM sparse mode parameters on the interfaces that you want to participate in the domain. We recommend that you enable PIM on all interfaces.

    switch# configure terminal
    switch(config)# interface ethernet 2/1
    switch(config-if)# ip pim sparse-mode
    
    
  2. Configure the RP address that you configure on all routers in the Anycast-RP set.

    switch# configure terminal
    switch(config)# interface loopback 0
    switch(config-if)# ip address 192.0.2.3/32
    switch(config-if)# ip pim sparse-mode
    
    
  3. Configure a loopback with an address to use in communication between routers in the Anycast-RP set for each router that you want to be in the Anycast-RP set.

    switch# configure terminal
    switch(config)# interface loopback 1
    switch(config-if)# ip address 192.0.2.31/32
    switch(config-if)# ip pim sparse-mode
    
    
  4. Configure the Anycast-RP parameters and repeat with the IP address of each Anycast-RP for each router that you want to be in the Anycast-RP set. This example shows two Anycast-RPs.

    switch# configure terminal
    switch(config)# ip pim anycast-rp 192.0.2.3 193.0.2.31
    switch(config)# ip pim anycast-rp 192.0.2.3 193.0.2.32
    
    
  5. Configure message filtering.

    switch# configure terminal
    switch(config)# ip pim log-neighbor-changes
    
    

The following example shows how to configure PIM Anycast RP for IPv6:

configure terminal
interface loopback 0
ipv6 address 2001:0db8:0:abcd::5/32
ipv6 pim sparse-mode
ipv6 router ospfv3 1 area 0.0.0.0
exit
interface loopback 1
ipv6 address 2001:0db8:0:abcd::1111/32
ipv6 pim sparse-mode
ipv6 router ospfv3 1 area 0.0.0.0
exit
ipv6 pim rp-address 2001:0db8:0:abcd::1111 group-list ff1e:abcd:def1::0/24
ipv6 pim anycast-rp 2001:0db8:0:abcd::5 2001:0db8:0:abcd::1111

The following example shows how to configure PIM ASM mode using two Anycast-RPs:

configure terminal
interface ethernet 2/1
ip pim sparse-mode
exit
interface loopback 0
ip address 192.0.2.3/32
ip pim sparse-mode
exit
interface loopback 1
ip address 192.0.2.31/32
ip pim sparse-mode
exit
ip pim anycast-rp 192.0.2.3 192.0.2.31
ip pim anycast-rp 192.0.2.3 192.0.2.32
ip pim log-neighbor-changes

Prefix-Based and Route-Map-Based Configurations


ip prefix-list plist11 seq 10 deny 231.129.128.0/17
ip prefix-list plist11 seq 20 deny 231.129.0.0/16
ip prefix-list plist11 seq 30 deny 231.128.0.0/9
ip prefix-list plist11 seq 40 permit 231.0.0.0/8

ip prefix-list plist22 seq 10 deny 231.129.128.0/17
ip prefix-list plist22 seq 20 deny 231.129.0.0/16
ip prefix-list plist22 seq 30 permit 231.128.0.0/9
ip prefix-list plist22 seq 40 deny 231.0.0.0/8

ip prefix-list plist33 seq 10 deny 231.129.128.0/17
ip prefix-list plist33 seq 20 permit 231.129.0.0/16
ip prefix-list plist33 seq 30 deny 231.128.0.0/9
ip prefix-list plist33 seq 40 deny 231.0.0.0/8

ip pim rp-address 172.21.0.11 prefix-list plist11
ip pim rp-address 172.21.0.22 prefix-list plist22
ip pim rp-address 172.21.0.33 prefix-list plist33
route-map rmap11 deny 10
 match ip multicast group 231.129.128.0/17
route-map rmap11 deny 20
 match ip multicast group 231.129.0.0/16
route-map rmap11 deny 30
 match ip multicast group 231.128.0.0/9
route-map rmap11 permit 40
 match ip multicast group 231.0.0.0/8

route-map rmap22 deny 10
 match ip multicast group 231.129.128.0/17
route-map rmap22 deny 20
 match ip multicast group 231.129.0.0/16
route-map rmap22 permit 30
 match ip multicast group 231.128.0.0/9
route-map rmap22 deny 40
 match ip multicast group 231.0.0.0/8

route-map rmap33 deny 10
 match ip multicast group 231.129.128.0/17
route-map rmap33 permit 20
 match ip multicast group 231.129.0.0/16
route-map rmap33 deny 30
 match ip multicast group 231.128.0.0/9
route-map rmap33 deny 40
 match ip multicast group 231.0.0.0/8

ip pim rp-address 172.21.0.11 route-map rmap11
ip pim rp-address 172.21.0.22 route-map rmap22
ip pim rp-address 172.21.0.33 route-map rmap33

Output


dc3rtg-d2(config-if)# show ip pim rp
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

RP: 172.21.0.11, (0), uptime: 00:12:36, expires: never,
  priority: 0, RP-source: (local), group-map: rmap11, group ranges:
      231.0.0.0/8  231.128.0.0/9 (deny)
      231.129.0.0/16 (deny) 231.129.128.0/17 (deny)
RP: 172.21.0.22, (0), uptime: 00:12:36, expires: never,
  priority: 0, RP-source: (local), group-map: rmap22, group ranges:
      231.0.0.0/8 (deny) 231.128.0.0/9
      231.129.0.0/16 (deny) 231.129.128.0/17 (deny)
RP: 172.21.0.33, (0), uptime: 00:12:36, expires: never,
  priority: 0, RP-source: (local), group-map: rmap33, group ranges:
      231.0.0.0/8 (deny) 231.128.0.0/9 (deny)
      231.129.0.0/16  231.129.128.0/17 (deny)

dc3rtg-d2(config-if)# show ip mroute
IP Multicast Routing Table for VRF "default"

(*, 231.1.1.1/32), uptime: 00:07:20, igmp pim ip
  Incoming interface: Ethernet2/1, RPF nbr: 10.165.20.1
  Outgoing interface list: (count: 1)
    loopback1, uptime: 00:07:20, igmp

(*, 231.128.1.1/32), uptime: 00:14:27, igmp pim ip
  Incoming interface: Ethernet2/1, RPF nbr: 10.165.20.1
  Outgoing interface list: (count: 1)
    loopback1, uptime: 00:14:27, igmp

(*, 231.129.1.1/32), uptime: 00:14:25, igmp pim ip
  Incoming interface: Ethernet2/1, RPF nbr: 10.165.20.1
  Outgoing interface list: (count: 1)
    loopback1, uptime: 00:14:25, igmp

(*, 231.129.128.1/32), uptime: 00:14:26, igmp pim ip
  Incoming interface: Null, RPF nbr: 10.0.0.1
  Outgoing interface list: (count: 1)
    loopback1, uptime: 00:14:26, igmp

(*, 232.0.0.0/8), uptime: 1d20h, pim ip
  Incoming interface: Null, RPF nbr: 10.0.0.1
  Outgoing interface list: (count: 0)

dc3rtg-d2(config-if)# show ip pim group-range
PIM Group-Range Configuration for VRF "default"
Group-range        Mode      RP-address       Shared-tree-only range
232.0.0.0/8        ASM       -                -
231.0.0.0/8        ASM       172.21.0.11      -
231.128.0.0/9      ASM       172.21.0.22      -
231.129.0.0/16     ASM       172.21.0.33      -
231.129.128.0/17   Unknown   -                -

Related Documents

Related Topic

Document Title

Configuring VRFs

Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide

Standards

Standards

Title