07-25-2021 09:23 AM
Hello. I am trying to configure MVPN profile 0 on my SP lab and one of my PEs is running IOSXR. However, I am a bit confused with the configuration. I tried to follow the IOS XR mVPN profiles configuration guide and my workbook, and they both configured PIM on IOS XR.
Configure mVPN Profiles within Cisco IOS-XR - Cisco
router pim
address-family ipv4
interface Loopback0
enable
!
interface GigabitEthernet0/0/0/3 <<< PIM is enabled for global context interface
!
vrf one
address-family ipv4
rpf topology route-policy rpf-for-one
!
interface GigabitEthernet0/1/0/0
enable
!
!
!
!
route-policy rpf-for-one
set core-tree pim-default
end-policy
However, I watched an mVPN profile 0 video and the instructor didn't configure anything under PIM configuration for the XR PE. So I tried to remove the router PIM configuration from my XR router and the multicast is still working for customer.
So what is the purpose of PIM configuration here if leaving out that configuration will still make mVPN work?
Thanks.
07-25-2021 09:42 AM
Hello @jpl861 ,
multicast VPN over MPLS have been developed in different phases.
1) draft Rosen mVPN using mGRE tunnels in the global routing table to carry customer VPN multicast traffic over the so called MDT mutlicast delivery tree . In this case PIM is needed in the backbone and forwarding is out of MPLS and performed at IP level using mGRE.
The link you have provided explains this option and later ones.
2) Next Generation Multicast VPN : in this case the mGRE is not used, using ad hoc MP BGP address families in the forwarding plane are used either p2mp RSVP TE tunnels or mLDP mp2mp . In this second case PIM is not needed in the backbone in the Global routing table.
For IOS XR the document shows the different options:
RP/0/3/CPU0:Router(config-rpl)#set core-tree ?
ingress-replication-default Ingress Replication Default MDT core
ingress-replication-partitioned Ingress Replication Partitioned MDT core
mldp-default MLDP Default MDT core
mldp-inband MLDP Inband core
mldp-partitioned-mp2mp MLDP Partitioned MP2MP MDT core
mldp-partitioned-p2mp MLDP Partitioned P2MP MDT core
p2mp-te-default P2MP TE Default MDT core
p2mp-te-partitioned P2MP TE Partitioned MDT core
parameter Identifier specified in the format: '$'
followed by alphanumeric characters
pim-default PIM Default MDT core
signalling in MP BGP is achieved using appropriate commands like
The Address Family (AF) IPv4 mVPN must be enabled when BGP-Auto Discovery (BGP-AD) and/or BGP C-Multicast Signalling is needed. The AF IPv4 mVPN must then be enabled in three places:
So depending on your configuration you can provide multicast services to a customer in a L3 VPN even if PIM is not enabled in the global routing table if you use NG VPN forwarding methods and the appropriate MP BGP configurations that make those forwarding tools available to use.
Hope to help
Giuseppe
07-25-2021 07:06 PM - edited 07-25-2021 07:17 PM
Thanks for the explanation @Giuseppe Larosa .
Yes I understand that PIM is needed in the provider network to create multicast states for profile 0. However, what I don't understand is that why is it in the link I provided, it requires PIM but when I configured my lab, I omitted all "router pim" configurations and it is still working. The lab video I am watching too didn't configure PIM so that got me confused. By merely enabling interfaces under "multicast-routing", the PIM neighborship started. It's the same case in my lab. I didn't need to configure PIM configs.
RP/0/RP0/CPU0:XRv9k#sh run router pim
Mon Jul 26 02:03:13.740 UTC
% No such configuration item(s)
RP/0/RP0/CPU0:XRv9k#sh pim neighbor
Mon Jul 26 02:03:24.502 UTC
PIM neighbors in VRF default
Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,
E - ECMP Redirect capable
* indicates the neighbor created for this router
Neighbor Address Interface Uptime Expires DR pri Flags
10.255.255.3* Loopback0 1d09h 00:01:35 1 (DR) B E
10.1.3.1 GigabitEthernet0/0/0/6 1d08h 00:01:25 1 P
10.1.3.3* GigabitEthernet0/0/0/6 1d09h 00:01:17 1 (DR) B E
10.2.3.2 GigabitEthernet0/0/0/4 1d08h 00:01:29 1 P
10.2.3.3* GigabitEthernet0/0/0/4 1d09h 00:01:21 1 (DR) B
RP/0/RP0/CPU0:XRv9k#show pim topology | b 224.0.1.40
Mon Jul 26 02:05:09.106 UTC
(*,224.0.1.40) DM Up: 1d09h RP: 0.0.0.0
JP: Null(never) RPF: Null,0.0.0.0 Flags: LH DSS
Loopback0 1d09h off LI II LH
(10.255.255.3,232.1.1.1)SPT SSM Up: 12:18:47
JP: Join(now) RPF: Loopback0,10.255.255.3* Flags:
Loopback0 12:18:47 fwd LI LH
GigabitEthernet0/0/0/4 12:18:46 fwd Join(00:02:50)
(10.255.255.4,232.1.1.1)SPT SSM Up: 12:18:47
JP: Join(now) RPF: GigabitEthernet0/0/0/4,10.2.3.2 Flags:
Loopback0 12:18:47 fwd LI LH
(10.255.255.6,232.1.1.1)SPT SSM Up: 12:18:47
JP: Join(now) RPF: GigabitEthernet0/0/0/4,10.2.3.2 Flags:
Loopback0 12:18:47 fwd LI LH
We are currently running profile 6 so we are not using PIM in the GRT. I'm just trying to lab this profile 0 thing as the actual and documentation didn't add up.
07-25-2021 11:34 PM
Hello @jpl861 ,
>> By merely enabling interfaces under "multicast-routing", the PIM neighborship started. It's the same case in my lab. I didn't need to configure PIM configs.
I see your point now. Looking at the configuration guide that you have provided configuring router pim is needed only if you want to specify a route policy for a VPN
router pim
address-family ipv4
interface Loopback0
enable
!
interface GigabitEthernet0/0/0/3 <<< PIM is enabled for global context interface
!
vrf one
address-family ipv4
rpf topology route-policy rpf-for-one
!
interface GigabitEthernet0/1/0/0
enable
!
!
!
!
PIM in the backbone is not needed it depends on the type of delivery you are using. It is needed only for mGRE draft Rosen implementation with MDTs.
As we can see PIM neighborships are activated by putting the interfaces under multicast-routing, so my reasoning is that router pim is needed as point of application for route policies.
Hope to help
Giuseppe
07-26-2021 03:13 AM
Thanks. Our carrier backbone is not using PIM at all and only mLDP since we are using profile 6. This one caught my attention as Cisco captioned it as "PIM is enabled for global context interface" where to RPL was attached. Thanks for taking time answering my questions @Giuseppe Larosa
router pim
address-family ipv4
interface Loopback0
enable
!
interface GigabitEthernet0/0/0/3 <<< PIM is enabled for global context interface
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide