cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1287
Views
5
Helpful
1
Replies

InterAS Multicast VPN on IOSXR

Hey folks,

 

I was trying to follow the configuration guide at: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipmulti_mvpn/configuration/12-2sx/imc-mvpn-12-2sx-book/imc_cfg_mc_vpn_sup.pdf on how to configure InterAS MVPN between PEs in different ASes (it is assumed VPNv4 works between the PEs as a prerequisite).

 

I am configuring MVPN between AS100 and AS300 and using Option B (VPNv4 between ASBRs):

Topology

 

topology.PNG

 

Configurations

Each AS has its own RR internally running VPNv4/6 + MDT, at least the PE terminating the VRF (yellow_red) and the ASBR run iBGP and have those AFI activated.

 

The two ASBRs run eBGP VPNv4/6 + MDT and use 'retain route-target all' as one would usually do in option B unless the ASBR was also the RR.

 

Each PE terminates a yellow_red VRF with import/export RT 2:2 and RD of 1:1 (which i had to make unique given in this case to make routes look part of the same VPN (not sure why that is).

 

Multicast configuration is pretty standard. I am using vrf loopbacks rather than actual client to join a group on 9k1 and play the BSR role on 9k2.

 

9k2 (PE AS100)

router bgp 100
address-family ipv4 unicast
allocate-label all
!
address-family vpnv4 unicast
!
address-family vpnv6 unicast
!
address-family ipv4 mdt
!
!
neighbor 16.16.16.16
remote-as 100
update-source Loopback0
address-family ipv4 labeled-unicast
route-policy color in
!
address-family vpnv4 unicast
route-policy color in
!
address-family vpnv6 unicast
route-policy color in
!
address-family ipv4 mdt
next-hop-self
!
!
vrf yellow_red
rd 1:1
address-family ipv4 unicast
redistribute connected
!
address-family ipv6 unicast
redistribute connected
!
multicast-routing
address-family ipv4
mdt source Loopback0
interface all enable
!
vrf yellow_red
address-family ipv4
rate-per-route
interface all enable
accounting per-prefix
mdt default ipv4 232.0.0.1
mdt data 232.0.1.0/24
!
router pim
vrf yellow_red
address-family ipv4
rpf-vector
bsr candidate-bsr 102.102.102.102 hash-mask-len 30 priority 1
bsr candidate-rp 102.102.102.102 priority 192 interval 60
!

 

 

9k1 (PE AS300)

router bgp 300
address-family ipv4 unicast
allocate-label all
!
address-family vpnv4 unicast
!
address-family vpnv6 unicast
!
address-family ipv4 mdt
!
neighbor 4.4.4.4
remote-as 300
update-source Loopback0
address-family ipv4 labeled-unicast
!
address-family vpnv4 unicast
!
address-family vpnv6 unicast
!
address-family ipv4 mdt
next-hop-self
!
vrf yellow_red
rd 1:1
address-family ipv4 unicast
redistribute connected
!
address-family ipv6 unicast
redistribute connected
!

multicast-routing
address-family ipv4
mdt source Loopback0
interface all enable
!
vrf yellow_red
address-family ipv4
rate-per-route
interface all enable
accounting per-prefix
mdt default ipv4 232.0.0.1
mdt data 232.0.1.0/24
!
router pim
vrf yellow_red
address-family ipv4
rpf-vector
!
router igmp
vrf yellow_red
interface Loopback101
join-group 224.7.7.7
!

 

9k3 (ASBR AS100)

router bgp 100
address-family ipv4 unicast
allocate-label all
!
address-family vpnv4 unicast
retain route-target all
!
address-family vpnv6 unicast
!
address-family ipv4 mdt
!
neighbor 16.16.16.16
remote-as 100
update-source Loopback0
address-family ipv4 labeled-unicast
next-hop-self
!
address-family vpnv4 unicast
next-hop-self
!
address-family vpnv6 unicast
next-hop-self
!
address-family ipv4 mdt
next-hop-self
!
!
neighbor 146.204.35.2
remote-as 300
address-family vpnv4 unicast
route-policy PASS in
route-policy PASS out
!
address-family vpnv6 unicast
route-policy PASS in
route-policy PASS out
!
address-family ipv4 mdt
route-policy PASS in
route-policy PASS out
!
!
vrf yellow_red
rd 103.103.103.103:1
address-family ipv4 unicast
redistribute connected
!
address-family ipv6 unicast
redistribute connected
!
multicast-routing
address-family ipv4
interface GigabitEthernet0/0/0/0.35
enable
!
mdt source Loopback0
interface all enable
!

 

 

iosxr5 (ASBR AS300)

router bgp 300
address-family ipv4 unicast
allocate-label all
!
address-family vpnv4 unicast
retain route-target all
!
address-family vpnv6 unicast
retain route-target all
!
address-family ipv4 mdt
!
neighbor 4.4.4.4
remote-as 300
update-source Loopback0
address-family ipv4 labeled-unicast
next-hop-self
!
address-family vpnv4 unicast
next-hop-self
!
address-family vpnv6 unicast
next-hop-self
!
address-family ipv4 mdt
next-hop-self
!
!
neighbor 146.204.35.1
remote-as 100
address-family vpnv4 unicast
route-policy PASS in
route-policy PASS out
!
address-family vpnv6 unicast
route-policy PASS in
route-policy PASS out
!
address-family ipv4 mdt
route-policy PASS in
route-policy PASS out
!

multicast-routing
address-family ipv4
interface GigabitEthernet0/0/0/0.35
enable
!
mdt source Loopback0
interface all enable
!
!

 

 

 

Problem

 

Whilst I can see BGP mdt AFi works and prefixes being exchanged (P-PIM), I can't really understand what is going on with the C-PIM and vrf yellow_red, which, does njot seem to see anything, not BSR and RP mapping nor tunnel neighborship or any topology information:

 

9k2

RP/0/RP0/CPU0:iosxr-9k-2#sh pim vrf yellow_red nei

Neighbor Address             Interface              Uptime    Expires  DR pri   Flags

222.222.222.222*             Loopback102            00:11:39  00:01:41 1 (DR) B P E
102.102.102.102*             mdtyellow/red          2d00h     00:01:26 1 (DR) P

RP/0/RP0/CPU0:iosxr-9k-2#sh pim vrf yellow_red int
Fri Jun 11 07:42:48.938 UTC

PIM interfaces in VRF yellow_red
Address               Interface                     PIM  Nbr   Hello  DR    DR
                                                         Count Intvl  Prior

222.222.222.222       Loopback102                   on   1     30     1     this system
102.102.102.102       mdtyellow/red                 on   1     30     1     this system
RP/0/RP0/CPU0:iosxr-9k-2#sh pim topology 
Fri Jun 11 07:28:19.706 UTC

(*,224.0.1.40) DM Up: 2d00h RP: 0.0.0.0 
JP: Null(never) RPF: Null,0.0.0.0 Flags: LH DSS 
  Loopback0                   2d00h     off LI II LH 
          
(101.101.101.101,232.0.0.1)SPT SSM Up: 23:51:12 
JP: Join(00:00:40) RPF: GigabitEthernet0/0/0/0.36,204.183.215.2 Flags: 
  Loopback0                   23:51:12  fwd LI LH 

(102.102.102.102,232.0.0.1)SPT SSM Up: 2d00h 
JP: Join(00:00:10) RPF: Loopback0,102.102.102.102* Flags: 
  Loopback0                   2d00h     fwd LI LH 


RP/0/RP0/CPU0:iosxr-9k-2#sh pim vrf yellow_red topology
Fri Jun 11 07:28:57.579 UTC
No PIM topology table entries found. <-- nothing


RP/0/RP0/CPU0:iosxr-9k-2#sh bgp ipv4 mdt vrf yellow_red
Route Distinguisher: 1:1
*>i101.101.101.101/96 103.103.103.103 100 0 300 i <-- 9k1 mdt prefix being received
*> 102.102.102.102/96 0.0.0.0 0 i

 

 

9k1

 

RP/0/RP0/CPU0:iosxr-9k-1#sh pim vrf yellow_red neigh

Neighbor Address Interface Uptime Expires DR pri Flags

111.111.111.111* Loopback101 2d01h 00:01:17 1 (DR) B P E
101.101.101.101* mdtyellow/red 2d00h 00:01:25 1 (DR) P

RP/0/RP0/CPU0:iosxr-9k-1#sh pim vrf yellow_red interfa Fri Jun 11 07:41:06.599 UTC PIM interfaces in VRF yellow_red Address Interface PIM Nbr Hello DR DR Count Intvl Prior 111.111.111.111 Loopback101 on 1 30 1 this system 101.101.101.101 mdtyellow/red on 1 30 1 this system
RP/0/RP0/CPU0:iosxr-9k-1#sh pim vrf yellow_red rp mapping
Fri Jun 11 07:33:19.417 UTC
PIM Group-to-RP Mappings



RP/0/RP0/CPU0:iosxr-9k-1#sh pim vrf yellow_red topology
(*,224.7.7.7) SM Up: 23:54:27 RP: 0.0.0.0 <-- the group joined on lo101 locally
JP: Join(never) RPF: Null,0.0.0.0 Flags: LH
Loopback101 23:54:27 fwd LI II LH



RP/0/RP0/CPU0:iosxr-9k-1#sh pim topology
(*,224.0.1.40) DM Up: 2d00h RP: 0.0.0.0
JP: Null(never) RPF: Null,0.0.0.0 Flags: LH DSS
Loopback0 2d00h off LI II LH
(101.101.101.101,232.0.0.1)SPT SSM Up: 2d00h JP: Join(00:00:45) RPF: Loopback0,101.101.101.101* Flags: Loopback0 2d00h fwd LI LH (102.102.102.102,232.0.0.1)SPT SSM Up: 23:55:45 JP: Join(00:00:45) RPF: GigabitEthernet0/0/0/0.522,154.190.143.1 Flags: Loopback0 23:55:45 fwd LI LH RP/0/RP0/CPU0:iosxr-9k-1#sh pim vrf yellow_red rp mapping Route Distinguisher: 1:1 *> 101.101.101.101/96 0.0.0.0 0 i *>i102.102.102.102/96 5.5.5.5 100 0 100 i

 

Questions

 

  1. I have tried to turn on logging but simply could not see any PIM relevant log or message coming from the other side, i'll keep digging. 
  2. might the iosxr5 being a IOSXRv rather than a 9k be causing some problems here?
  3. Is the RP vector config statement placed correctly in this case? It's my first time using it and I am not 100% sure
  4. What am I missing?

 

Thanks, L.

 

1 Reply 1

Signal boost Anyone?