cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
986
Views
5
Helpful
4
Replies

mVPN Profile 0 on IOS XR

jpl861
Level 4
Level 4

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.

4 Replies 4

Giuseppe Larosa
Hall of Fame
Hall of Fame

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

 

BGP Address Family IPv4 MVPN

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:

  • Globally

  • For the internal Border Gateway Protocol (iBGP) peers (these are the other PE routers or the Route Reflectors (RRs))

  • For the VRF

 

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

 

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.

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

 

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

 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: