Configuring MSDP
This chapter describes how to configure Multicast Source Discovery Protocol (MSDP) on a Cisco NX-OS device.
- About MSDP
- Licensing Requirements for MSDP
- Prerequisites for MSDP
- Default Settings
- Configuring MSDP
- Verifying the MSDP Configuration
- Monitoring MSDP
- Configuration Examples for MSDP
- Related Documents
- Standards
About MSDP
You can use the Multicast Source Discovery Protocol (MSDP) to exchange multicast source information between multiple Border Gateway Protocol (BGP) enabled Protocol Independent Multicast (PIM) sparse-mode domains. In addition, MSDP can be used to create an Anycast-RP configuration to provide RP redundancy and load sharing. For information about BGP, see the Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide.
When a receiver joins a group that is transmitted by a source in another domain, the rendezvous point (RP) sends PIM join messages in the direction of the source to build a shortest path tree. The designated router (DR) sends packets on the sourcetree within the source domain, which can travel through the RP in the source domain and along the branches of the sourcetree to other domains. In domains where there are receivers, RPs in those domains can be on the sourcetree. The peering relationship is conducted over a TCP connection.
The following figure shows four PIM domains. The connected RPs (routers) are called MSDP peers because they are exchanging active source information with each other. Each MSDP peer advertises its own set of multicast source information to the other peers. Source Host 2 sends the multicast data to group 224.1.1.1. On RP 6, the MSDP process learns about the source through PIM register messages and generates Source-Active (SA) messages to its MSDP peers that contain information about the sources in its domain. When RP 3 and RP 5 receive the SA messages, they forward them to their MSDP peers. When RP 5 receives the request from Host 1 for the multicast data on group 224.1.1.1, it builds a shortest path tree to the source by sending a PIM join message in the direction of Host 2 at 192.1.1.1.

When you configure MSDP peering between each RP, you create a full mesh. Full MSDP meshing is typically done within an autonomous system, as shown between RPs 1, 2, and 3, but not across autonomous systems. You use BGP to do loop suppression and MSDP peer-RPF to suppress looping SA messages.
![]() Note | You do not need to configure BGP in order to use Anycast-RP (a set of RPs that can perform load balancing and failover) within a PIM domain. |
![]() Note | You can use PIM Anycast (RFC 4610) to provide the Anycast-RP function instead of MSDP. |
For detailed information about MSDP, see RFC 3618.
SA Messages and Caching
MSDP peers exchange Source-Active (SA) messages to propagate information about active sources. SA messages contain the following information:
When a PIM register message advertises a new source, the MSDP process reencapsulates the message in an SA message that is immediately forwarded to all MSDP peers.
The SA cache holds the information for all sources learned through SA messages. Caching reduces the join latency for new receivers of a group because the information for all known groups can be found in the cache. You can limit the number of cached source entries by configuring the SA limit peer parameter. You can limit the number of cached source entries for a specific group prefix by configuring the group limit global parameter. The SA cache is enabled by default and cannot be disabled.
The MSDP software sends SA messages for each group in the SA cache every 60 seconds or at the configured SA interval global parameter. An entry in the SA cache is removed if an SA message for that source and group is not received within the SA interval plus 3 seconds.
MSDP Peer-RPF Forwarding
MSDP peers forward the SA messages that they receive away from the originating RP. This action is called peer-RPF flooding. The router examines the BGP or MBGP routing table to determine which peer is the next hop in the direction of the originating RP of the SA message. This peer is called a reverse path forwarding (RPF) peer.
If the MSDP peer receives the same SA message from a non-RPF peer in the direction of the originating RP, it drops the message. Otherwise, it forwards the message to all its MSDP peers.
MSDP Mesh Groups
You can use MSDP mesh groups to reduce the number of SA messages that are generated by peer-RPF flooding. By configuring a peering relationship between all the routers in a mesh and then configuring a mesh group of these routers, the SA messages that originate at a peer are sent by that peer to all other peers. SA messages received by peers in the mesh are not forwarded.
A router can participate in multiple mesh groups. By default, no mesh groups are configured.
Licensing Requirements for MSDP
MSDP requires an Enterprise Services license. For a complete explanation of the Cisco NX-OS licensing scheme and how to obtain and apply licenses, see the Cisco NX-OS Licensing Guide. |
Prerequisites for MSDP
Default Settings
This table lists the default settings for MSDP parameters.
Configuring MSDP
You can establish MSDP peering by configuring the MSDP peers within each PIM domain as follows:
-
Select the routers to act as MSDP peers.
-
Enable the MSDP feature.
-
Configure the MSDP peers for each router identified in Step 1.
-
Configure the optional MSDP peer parameters for each MSDP peer.
-
Configure the optional global parameters for each MSDP peer.
-
Configure the optional mesh groups for each MSDP peer.
![]() Note | The MSDP commands that you enter before you enable MSDP are cached and then run when MSDP is enabled. Use the ip msdp peer or ip msdp originator-id command to enable MSDP. |
![]() Note | If you are familiar with the Cisco IOS CLI, be aware that the Cisco NX-OS commands for this feature might differ from the Cisco IOS commands that you would use. |
- Enabling the MSDP Feature
- Configuring MSDP Peers
- Configuring MSDP Peer Parameters
- Configuring MSDP Global Parameters
- Configuring MSDP Mesh Groups
- Restarting the MSDP Process
Enabling the MSDP Feature
2.
feature msdp
3.
(Optional) show running-configuration msdp
4.
(Optional) copy running-config startup-config
DETAILED STEPS
Configuring MSDP Peers
You can configure an MSDP peer when you configure a peering relationship with each MSDP peer that resides either within the current PIM domain or in another PIM domain. MSDP is enabled on the router when you configure the first MSDP peering relationship.
Ensure that you have installed the Enterprise Services license and enabled PIM and MSDP.
Ensure that you configured PIM in the domains of the routers that you will configure as MSDP peers.
2.
ip msdp peer
peer-ip-address
connect-source
interface [remote-as
as-number]
3. Repeat Step 2 for each MSDP peering relationship by changing the peer IP address, the interface, and the AS number as appropriate.
DETAILED STEPS
Configuring MSDP Peer Parameters
You can configure the optional MSDP peer parameters described in this table. You configure these parameters in global configuration mode for each peer based on its IP address.
Description string for the peer. By default, the peer has no description. |
|||
Method to shut down the MSDP peer. The configuration settings are not affected by this command. You can use this parameter to allow configuration of multiple parameters to occur before making the peer active. The TCP connection with other peers is terminated by the shutdown. By default, a peer is enabled when it is defined. |
|||
MD5-shared password key used for authenticating the peer. By default, no MD5 password is enabled. |
|||
Route-map policy for incoming SA messages. By default, all SA messages are received.
|
|||
Route-map policy for outgoing SA messages. By default, all registered sources are sent in SA messages.
|
|||
Number of (S, G) entries accepted from the peer and stored in the SA cache. By default, there is no limit. |
Ensure that you have installed the Enterprise Services license and enabled PIM and MSDP.
2.
3.
(Optional) show ip msdp peer
[peer-address]
[vrf
[vrf-name |
all]]
4.
(Optional) copy running-config startup-config
DETAILED STEPS
Command or Action | Purpose | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Step 1 | configure terminal
Example: switch# configure terminal switch(config)# | |||||||||||||||
Step 2 |
|
The following commands configure the MSDP peer parameters. | ||||||||||||||
Step 3 | show ip msdp peer
[peer-address]
[vrf
[vrf-name |
all]]
Example: switch(config)# show ip msdp peer 192.168.1.10 | (Optional)
Displays detailed MDSP peer information. | ||||||||||||||
Step 4 | copy running-config startup-config
Example: switch(config)# copy running-config startup-config | (Optional)
Copies the running configuration to the startup configuration. |
Configuring MSDP Global Parameters
You can configure the optional MSDP global parameters described in this table.
IP address used in the RP field of an SA message entry. When Anycast RPs are used, all RPs use the same IP address. You can use this parameter to define a unique IP address for the RP of each MSDP peer. By default, the software uses the RP address of the local system.
|
|||
Maximum number of (S, G) entries that the software creates for the specified prefix. The software ignores groups when the group limit is exceeded and logs a violation. By default, no group limit is defined. |
|||
Interval at which the software transmits Source-Active (SA) messages. The range is from 60 to 65,535 seconds. The default is 60 seconds. |
Ensure that you have installed the Enterprise Services license and enabled PIM and MSDP.
2.
3.
(Optional) show ip
msdp summary [vrf [ vrf-name |
all]]
4.
(Optional) copy running-config startup-config
DETAILED STEPS
Command or Action | Purpose | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Step 1 | configure terminal
Example: switch# configure terminal switch(config)# | |||||||||||
Step 2 |
| |||||||||||
Step 3 | show ip
msdp summary [vrf [ vrf-name |
all]]
Example: switch(config)# show ip msdp summary | (Optional)
Displays a summary of the MDSP configuration. | ||||||||||
Step 4 | copy running-config startup-config
Example: switch(config)# copy running-config startup-config | (Optional)
Copies the running configuration to the startup configuration. |
Configuring MSDP Mesh Groups
You can configure optional MDSP mesh groups in global configuration mode by specifying each peer in the mesh. You can configure multiple mesh groups on the same router and multiple peers per mesh group.
Ensure that you have installed the Enterprise Services license and enabled PIM and MSDP.
2.
ip msdp mesh-group
peer-ip-addr
mesh-name
3. Repeat Step 2 for each MSDP peer in the mesh by changing the peer IP address.
4.
(Optional) show ip msdp mesh-group
[mesh-group] [vrf [vrf-name |
all]]
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 | configure terminal
Example: switch# configure terminal switch(config)# | |
Step 2 | ip msdp mesh-group
peer-ip-addr
mesh-name
Example: switch(config)# ip msdp mesh-group 192.168.1.10 my_mesh_1 |
Configures an MSDP mesh with the peer IP address specified. You can configure multiple meshes on the same router and multiple peers per mesh group. By default, no mesh groups are configured. |
Step 3 | Repeat Step 2 for each MSDP peer in the mesh by changing the peer IP address. | |
Step 4 | show ip msdp mesh-group
[mesh-group] [vrf [vrf-name |
all]]
Example: switch# show ip msdp mesh-group | (Optional)
Displays information about the MDSP mesh group configuration. |
Step 5 | copy running-config startup-config
Example: switch(config)# copy running-config startup-config | (Optional)
Copies the running configuration to the startup configuration. |
Restarting the MSDP Process
You can restart the MSDP process and optionally flush all routes.
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 | restart msdp
Example: switch# restart msdp | |
Step 2 | configure terminal
Example: switch# configure terminal switch(config)# | |
Step 3 | ip msdp flush-routes
Example: switch(config)# ip msdp flush-routes |
Removes routes when the MSDP process is restarted. By default, routes are not flushed. |
Step 4 | show running-configuration | include flush-routes
Example: switch(config)# show running-configuration | include flush-routes | (Optional)
Displays flush-routes configuration lines in the running configuration. |
Step 5 | copy running-config startup-config
Example: switch(config)# copy running-config startup-config | (Optional)
Copies the running configuration to the startup configuration. |
Verifying the MSDP Configuration
To display the MSDP configuration information, perform one of the following tasks.
Command |
Description |
---|---|
Displays MSDP (S, G) entry and group counts by the autonomous system (AS) number. |
|
Displays the MSDP-learned sources and violations of configured group limits. |
|
Monitoring MSDP
You can display and clear MSDP statistics by using the features in this section.
Displaying Statistics
You can display MSDP statistics using these commands.
Command |
Description |
---|---|
show ip msdp [as-number] internal event-history {errors | messages} |
|
show ip msdp policy statistics sa-policy peer-address {in | out} [vrf [vrf-name | all]] |
|
show ip msdp {sa-cache | route} [source-address] [group-address] [vrf [vrf-name | all]] [asn-number] [peer peer-address] |
Displays the MSDP SA route cache. If you specify the source address, all groups for that source are displayed. If you specify a group address, all sources for that group are displayed. |
Clearing Statistics
You can clear the MSDP statistics using these commands.
Command |
|
---|---|
clear ip msdp policy statistics sa-policy peer-address {in | out} [vrf vrf-name] |
|
clear ip msdp {sa-cache | route} [group-address] [vrf [vrf-name | all]] |
Configuration Examples for MSDP
To configure MSDP peers, some of the optional parameters, and a mesh group, follow these steps for each MSDP peer:
-
Configure the MSDP peering relationship with other routers.
switch# configure terminal switch(config)# ip msdp peer 192.168.1.10 connect-source ethernet 1/0 remote-as 8
-
Configure the optional peer parameters.
switch# configure terminal switch(config)# ip msdp password 192.168.1.10 my_peer_password_AB
-
Configure the optional global parameters.
switch# configure terminal switch(config)# ip msdp sa-interval 80
-
Configure the peers in each mesh group.
switch# configure terminal switch(config)# ip msdp mesh-group 192.168.1.10 mesh_group_1
The following example shows how to configure a subset of the MSDP peering that is shown below.
RP 3: 192.168.3.10 (AS 7) configure terminal ip msdp peer 192.168.1.10 connect-source ethernet 1/1 ip msdp peer 192.168.2.10 connect-source ethernet 1/2 ip msdp peer 192.168.6.10 connect-source ethernet 1/3 remote-as 9 ip msdp password 192.168.6.10 my_peer_password_36 ip msdp sa-interval 80 ip msdp mesh-group 192.168.1.10 mesh_group_123 ip msdp mesh-group 192.168.2.10 mesh_group_123 ip msdp mesh-group 192.168.3.10 mesh_group_123 |
RP 5: 192.168.5.10 (AS 8) configure terminal ip msdp peer 192.168.4.10 connect-source ethernet 1/1 ip msdp peer 192.168.6.10 connect-source ethernet 1/2 remote-as 9 ip msdp password 192.168.6.10 my_peer_password_56 ip msdp sa-interval 80 |
RP 6: 192.168.6.10 (AS 9) configure terminal ip msdp peer 192.168.7.10 connect-source ethernet 1/1 ip msdp peer 192.168.3.10 connect-source ethernet 1/2 remote-as 7 ip msdp peer 192.168.5.10 connect-source ethernet 1/3 remote-as 8 ip msdp password 192.168.3.10 my_peer_password_36 ip msdp password 192.168.5.10 my_peer_password_56 ip msdp sa-interval 80 |
Related Documents
Configuring MBGP |
Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide |