Profile 9 with S-PMSI
Load basic.startup.config.with.cpim.cfg
#IOS-XE
config replace flash:basic.startup.config.with.cpim.cfg
Y
#IOS-XR
configure
load bootflash:basic.startup.config.with.cpim.cfg
commit replace
y
The basic IP addresses, L3VPN, and C-PIM between the PEs and CEs is pre-configured.
Configure multicast VPN using mLDP in the core.
You cannot use PIM in the core.
C3 should be able to ping 239.1.2.3, with C2 responding.
CE1 is configured as the RP using BSR.
PEs should form C-PIM adjacencies directly between themselves.
Use BGP ipv4/mvpn for auto-discovery.
Configure the PEs to switchover from a MP2MP tree to a P2MP tree when traffic for a flow exceeds 1kbps.
See answer below (scroll down).
Answer
This configuration uses profile 1 but with BGP ipv4/mvpn used for auto discovery. See profile 1 for detailed explanation of the configuration.
#PE1, PE2
vrf def CUSTOMER
vpn id 100:1
add ipv4
mdt default mpls mldp 20.20.20.20
mdt data mpls mldp 100
mdt auto-discovery mldp
!
router bgp 100
add ipv4 mvpn
neighbor 10.10.10.10 act
#P1
mpls ldp mldp add ipv4
!
router bgp 100
add ipv4 mvpn
neighbor-group IBGP
add ipv4 mvpn
route-reflector-client
#P2
mpls ldp mldp add ipv4
#PE3
mpls ldp mldp add ipv4
!
route-policy USE_MLDP_DEFAULT
set core-tree mldp-default
end-policy
!
router pim vrf CUSTOMER add ipv4 rpf top route-policy USE_MLDP_DEFAULT
!
multicast-routing add ipv4 int lo0 en
!
multicast-routing vrf CUSTOMER add ipv4
mdt so lo0
mdt default mldp ipv4 20.20.20.20
mdt data mldp 100
bgp auto-discovery mldp
!
router bgp 100
add ipv4 mvpn
neighbor 10.10.10.10
add ipv4 mvpn
vrf CUSTOMER
add ipv4 mvpn
Verification
All verification would be the same as with profile 1, except now we see the type 1 route generated by each PE. This contains the MP2MP root but it is not really useful because all PEs have to manually define the root anyways. In profile 1, there is no auto-discovery anywas. PEs just join the MP2MP tree at the manually-defined root.

Join a group on C3, such as 239.31.31.31. Ping this from C2 to exceed the 1kbps rate and verify that CE2 switches over to a P2MP tree for the S-PMSI.

The benefit of BGP ipv4/mvpn auto-discovery is that now the S-PMSI is advertised via BGP instead of advertised in the data MDT.

About 20 seconds after the source stops sending, PE2 withdraws the type 3 route, and the P2MP tunnel is immediately torn down. This is not the case in regular profile 1. There, the P2MP tunnel has to time out.
S-PSMI without traffic threshold
Interestingly, just (S, G) state seems to trigger the S-PSMI route. The command mdt data mpls mldp <num> is still necessary, but just the (S, G) state prompts the route advertisement.
For example, C3 runs IGMPv3 and joins (10.1.2.10, 232.1.2.3). This initiates a PIM Join towards 10.1.2.10. (This is in the C-PIM overlay, not BGP overlay). PE2 sees this and advertises the type 3 route. PE3 joins the P2MP rooted at PE2. This all happens without any data being sent from CE2 yet!

Last updated