Skip to content

MSDP

MSDP (Multicast Source Discovery Protocol) connects PIM sparse-mode domains and anycast RPs by exchanging Source-Active (SA) messages between RPs over TCP peerings. The global ip msdp settings of the default VRF are configured directly under routing.msdp, and the ip msdp settings of other VRFs (vrf context > ip msdp) under the respective entry in routing.msdp.vrfs. Each VRF supports the originator ID interface, the reconnect and SA intervals, route flushing on restart, redistribution of local sources into SA messages through a route map or prefix list, and per-source-prefix group limits. Peers are configured with their connect-source interface and remote AS, and support a description, keepalive timers, shutdown, MD5 password or key chain authentication, mesh group membership, an SA limit and inbound and outbound SA policies (route map or prefix list).

Diagram
NameTypeConstraintMandatoryDefault Value
devicesListdevicesNo
device_groupsListdevice_groupsNo
globalClassglobalNo
templatesListtemplatesNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
routingClassroutingNo

NameTypeConstraintMandatoryDefault Value
msdpClassmsdpNo

NameTypeConstraintMandatoryDefault Value
originator_id_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniNo
originator_id_interface_idAnyString or Integer[min: 0]No
reconnect_intervalIntegermin: 1, max: 60No
sa_intervalIntegermin: 60, max: 65535No
flush_routesBooleantrue, falseNo
redistribute_route_mapStringNo
redistribute_prefix_listStringNo
group_limitsListgroup_limitsNo
peersListpeersNo
vrfsListvrfsNo

group_limits (nxos.devices.configuration.routing.msdp)

Section titled “group_limits (nxos.devices.configuration.routing.msdp)”
NameTypeConstraintMandatoryDefault Value
sourceIPYes
limitIntegermin: 0, max: 4294967295No

peers (nxos.devices.configuration.routing.msdp)

Section titled “peers (nxos.devices.configuration.routing.msdp)”
NameTypeConstraintMandatoryDefault Value
addressIPYes
connect_source_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniYes
connect_source_interface_idAnyString or Integer[min: 0]Yes
remote_asAnyString or Integer[min: 0, max: 4294967295]No
descriptionStringNo
shutdownBooleantrue, falseNo
keepalive_intervalIntegermin: 1, max: 60No
keepalive_timeoutIntegermin: 1, max: 90No
passwordStringNo
keychainStringNo
mesh_groupStringNo
sa_limitIntegermin: 0, max: 4294967295No
sa_policy_inStringNo
sa_policy_in_prefix_listStringNo
sa_policy_outStringNo
sa_policy_out_prefix_listStringNo

vrfs (nxos.devices.configuration.routing.msdp)

Section titled “vrfs (nxos.devices.configuration.routing.msdp)”
NameTypeConstraintMandatoryDefault Value
vrfStringYes
originator_id_interface_typeChoiceethernet, loopback, mgmt, port-channel, vlan, vniNo
originator_id_interface_idAnyString or Integer[min: 0]No
reconnect_intervalIntegermin: 1, max: 60No
sa_intervalIntegermin: 60, max: 65535No
flush_routesBooleantrue, falseNo
redistribute_route_mapStringNo
redistribute_prefix_listStringNo
group_limitsListgroup_limitsNo
peersListpeersNo

Example 1: Anycast RP pair with an MSDP mesh group in the default VRF

nxos:
devices:
- name: SPINE1
configuration:
feature:
pim: true
msdp: true
routing:
pim:
rp_addresses:
- address: 10.1.101.1
msdp:
originator_id_interface_type: loopback
originator_id_interface_id: 0
peers:
- address: 10.1.100.2
connect_source_interface_type: loopback
connect_source_interface_id: 0
description: SPINE2 anycast RP
mesh_group: ANYCAST-RP
interfaces:
loopbacks:
- id: 0
ip:
address: 10.1.100.1/32
pim:
sparse_mode: true
- id: 100
ip:
address: 10.1.101.1/32
pim:
sparse_mode: true

Example 2: Inter-domain MSDP peering with authentication, timers, SA filtering and limits

nxos:
devices:
- name: BORDER1
configuration:
feature:
pim: true
msdp: true
ip_prefix_lists:
- name: MSDP-SA-OUT
entries:
- seq: 10
action: permit
prefix: 10.0.0.0
mask: 255.0.0.0
route_maps:
- name: MSDP-LOCAL-SOURCES
entries:
- order: 10
action: permit
- name: MSDP-SA-IN
entries:
- order: 10
action: deny
routing:
msdp:
originator_id_interface_type: loopback
originator_id_interface_id: 0
reconnect_interval: 20
sa_interval: 120
flush_routes: true
redistribute_route_map: MSDP-LOCAL-SOURCES
group_limits:
- source: 10.0.0.0/8
limit: 500
peers:
- address: 192.0.2.1
connect_source_interface_type: loopback
connect_source_interface_id: 0
remote_as: 65001
description: ISP-A RP
keepalive_interval: 30
keepalive_timeout: 90
password: 6564b151c0dda69478f90072e4b17a9b
sa_limit: 10000
sa_policy_in: MSDP-SA-IN
sa_policy_out_prefix_list: MSDP-SA-OUT

Example 3: MSDP in a tenant VRF with a key chain authenticated peer

nxos:
devices:
- name: BORDER1
configuration:
feature:
pim: true
msdp: true
vrfs:
- name: TENANT1
key_chains:
- name: MSDP-KEYS
keys:
- id: 1
key_string: MsdpKey123
ip_prefix_lists:
- name: TENANT1-SOURCES
entries:
- seq: 10
action: permit
prefix: 172.16.0.0
mask: 255.255.0.0
routing:
msdp:
vrfs:
- vrf: TENANT1
originator_id_interface_type: loopback
originator_id_interface_id: 10
redistribute_prefix_list: TENANT1-SOURCES
peers:
- address: 198.51.100.1
connect_source_interface_type: loopback
connect_source_interface_id: 10
remote_as: 65010
keychain: MSDP-KEYS
shutdown: false