The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes Extranet mVPN and provides configuration examples in Cisco IOS®XR.
There are no specific requirements for this document.
This document is specific to Cisco IOS XR, but it is not restricted to a specific software release or hardware.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Multicast is supported in multicast-enabled VPNs (mVPN). mVPN uses the same Virtual Routing and Forwarding (VRF) concepts that unicast Layer 3 VPN networks use.
This image shows intra-VRF multicast forwarding (using profle 0).
Image 1. Multicast Packet Flow for Intranet MVRF
Multicast relies on Reverse Path Forwarding (RPF). This applies to inter-VRF multicast traffic as well. This means that in order for multicast to flow from one VRF to another VRF, there is a need to have one VRF to RPF for the source of the multicast traffic to another VRF. So, the route for the multicast source needs to be available on the receiver VRF routing table on the PE router. There are two ways to ensure the RPF succeeds in the VRF context.
A PE router does not re-advertise a VPN route. If a PE router received a VPN route from a remote PE router and imported it into VRF 1, it cannot export that VPN prefix from VRF 1 to VRF 2 locally. It does not matter if there is a route-target importing route from VRF 1 into VRF 2 locally on this PE router or not, the import into VRF 2 does not occur.
Multicast is all about RPF succeeding. Always keep an eye on RPF. For extranet multicast to work, the RPF must be from one VRF to another, from the receiver to the source VRF. Hence, there must be a unicast route for the source in the receiver VRF back to the source VRF.
Lmdt: Labelled Multicast Distribution Tree
Cisco IOS XE supports extranet mVPN as well. In the past, IOS (-XE) introduced two schemes to achieve extranet mVPN. They are referred to as option 1 and option 2. IOS-XR supports extranet with the same schemes.
Option 1: The source Multicast Virtual Routing and Forwarding (MVRF) is on the receiver MVRF. This means that the VRF (source VRF) on the ingress PE router for the multicast traffic is also configured on the egress PE router with the appropriate Route-targets.
Look at Image 2. It shows the multicast packet flow for Option 1.
Image 2. Multicast Packet flow for Extranet Option 1.
The multicast traffic traverses the core network and uses the encapsulation of the source MVRF.
Option 2: The receiver MVRF is on the source MVRF. This means that the VRF (receiver VRF) on the egress PE router for the multicast traffic is also configured on the ingress PE router with the appropriate Route-targets.
Look at Image 3. It shows the multicast packet flow for Option 2.
Image 3. Multicast Packet flow for Extranet Option 2.
The multicast traffic traverses the core network and uses the encapsulation of the source MVRF and the receiver MVRF. So, multicast traffic uses twice the amount of bandwidth in the core network.
There is a third option, a hybrid solution between Option 1 and Option 2.
Option 3: A transport MVRF is used. The ingress PE router extranets the multicast traffic from the source VRF to the transport VRF. The egress PE router extranets the multicast traffic from the transport VRF to the receiver VRF. This transport MVRF does not have customer-facing interfaces associated with it.
Image 4. Multicast Packet flow for Extranet using a third VRF, the transport VRF.
All profiles have RPL-based support.
Only the profiles that use the multicast core-tree protocol (profile 0, 3, and 11) support RIB-based extranet mVPN.
All profiles support RPL-based and RIB-based support, except the profiles that use Customer-signalling with BGP (for example profiles 2, 11, …). These last ones only support option 2 in a special way. Example 2.2 illustrates this.
Look here for an overview and configuration for the different profiles: Configure mVPN Profiles within Cisco IOS-XR
Notice the EX or Extranet flags on the Multicast RIB (MRIB) entries. They are present in the source and receiver VRF, on the multicast entries, and on interfaces.
Profile 0 uses Default MDT, with PIM multicast signalling in the underlay and the overlay (VRF context).
This profile supports Option 1 and 2 (and hence 3).
Image 5 shows intra-VRF multicast traffic, VRF one to VRF one.
Image 5 Profile 0 - Multicast Packet flow for Intranet MVRF
Configuration for profile 0.
multicast-routing
vrf one
address-family ipv4
interface GigabitEthernet0/0/0/1
enable
!
mdt source Loopback0
mdt default ipv4 239.1.1.1
!
!
!
router pim
vrf one
address-family ipv4
ssm range SSM-range-vrf-one
!
!
!
Notice that profile 0 is the only profile that does not mandate an RPF topology command.
Alternatively, you could configure the RPF topology command for profile 0.
router pim
vrf one
address-family ipv4
rpf topology route-policy profile-0
ssm range SSM-range-vrf-one
!
!
!
route-policy profile-0
set core-tree pim-default
end-policy
!
The output of the MRIB entry on egress PE 1 looks like this:
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.1 10.0.0.12
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.12,232.1.1.1) RPF nbr: 10.0.0.2 Flags: RPF
Up: 01:15:06
Incoming Interface List
mdtone Flags: A MI, Up: 01:06:10
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 01:15:06
The RPF points to mdtone, which is the Multicast Distribution Tree (MDT) for VRF one.
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.12
Table: IPv4-Unicast-default
* 10.0.0.12/32 [200/0]
via mdtone with rpf neighbor 10.0.0.2
Connector: 65000:1002:10.0.0.2, Nexthop: 10.0.0.2
RP/0/0/CPU0:PE2#show mrib vrf one route 232.1.1.1 10.0.0.12
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.12,232.1.1.1) RPF nbr: 10.2.12.12 Flags: RPF
Up: 01:14:26
Incoming Interface List
GigabitEthernet0/0/0/1 Flags: A, Up: 01:14:26
Outgoing Interface List
mdtone Flags: F MI, Up: 01:06:51
RP/0/0/CPU0:PE2#show pim vrf one rpf 10.0.0.12
Table: IPv4-Unicast-default
* 10.0.0.12/32 [20/0]
via GigabitEthernet0/0/0/1 with rpf neighbor 10.2.12.12
Profile 0 supports RIB-based option 1. The route back to the source needs to be present in the receiver VRF.
Image 6. Profile 0 - Option 1. The source MVRF is on the receiver MVRF
Image 6 shows that the ingress PE router, PE2, advertises the source route from VRF two, the source VRF, with route-target 65000:5555. The egress PE router, PE1, imports the routes with this route target into VRF one, the receiver VRF.
VRF one and VRF two use profile 0.
multicast-routing
address-family ipv4
interface Loopback0
enable
!
interface GigabitEthernet0/0/0/0
enable
!
!
vrf one
address-family ipv4
interface GigabitEthernet0/0/0/1
enable
!
mdt source Loopback0
mdt default ipv4 239.1.1.1
!
!
vrf two
address-family ipv4
interface GigabitEthernet0/0/0/2
enable
!
mdt source Loopback0
mdt default ipv4 239.1.1.2
!
router pim
address-family ipv4
ssm range SSM-range
!
vrf one
address-family ipv4
ssm range SSM-range-vrf-one
!
!
vrf two
address-family ipv4
ssm range SSM-range-vrf-two
!
!
!
Ingress PE router, PE2, exports the source route with route-target 65000:5555. Egress PE router, PE1, imports this route with route-target 65000:5555 into VRF one.
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF TID: 0xe0000011 Flags: RPF EX
Up: 01:36:16
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 01:36:16
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via VRF:two with rpf neighbor 10.0.0.2
Connector: 65000:2002:10.0.0.2, Nexthop: 10.0.0.2
How does the egress PE router, PE1, know that the RPF must occur in VRF two?
The BGP vpn4 unicast route in VRF one looks like this:
RP/0/0/CPU0:PE1#show bgp vpnv4 unicast vrf one 10.0.0.15/32
BGP routing table entry for 10.0.0.15/32, Route Distinguisher: 65000:1001
Versions:
Process bRIB/RIB SendTblVer
Speaker 65 65
Last Modified: Nov 21 19:09:22.469 for 00:14:33
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
65005
10.0.0.2 (metric 3) from 10.0.0.4 (10.0.0.2)
Received Label 24006
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 65
Extended community: RT:65000:2 RT:65000:5555
Originator: 10.0.0.2, Cluster list: 10.0.0.4
Connector: type: 1, Value:65000:2002:10.0.0.2
Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 65000:2002
This route distinguisher is tied to a VRF. PE1 finds back the multicast group address used for this RD (Route Distinguisher) by a lookup of the RD in the BGP address-family ipv4 mdt table.
RP/0/0/CPU0:PE1#show bgp ipv4 mdt rd 65000:2002 10.0.0.2
BGP routing table entry for 10.0.0.2/96, Route Distinguisher: 65000:2002
Versions:
Process bRIB/RIB SendTblVer
Speaker 6 6
Last Modified: Nov 21 17:26:11.469 for 01:58:30
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.4 (10.0.0.2)
Origin IGP, localpref 100, valid, internal, best, group-best
Received Path ID 0, Local Path ID 1, version 6
Originator: 10.0.0.2, Cluster list: 10.0.0.4
MDT group address: 239.1.1.2
This group address 239.1.1.2 is the group address used by VRF two. Each PE router, which includes this router PE1, has this group configured as the Default MDT group address for VRF two.
RP/0/0/CPU0:PE1#show mrib vrf two route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.0.0.2 Flags: RPF EX
Up: 00:05:11
Incoming Interface List
mdttwo Flags: A MI, Up: 00:05:11
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS EX, Up 00:05:11
RP/0/0/CPU0:PE1#show pim vrf two rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via mdttwo with rpf neighbor 10.0.0.2
Connector: 65000:2002:10.0.0.2, Nexthop: 10.0.0.2
The multicast traffic uses the Default or one Data MDT from VRF two to cross the core network.
RP/0/0/CPU0:PE2#show mrib vrf two route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.2.15.15 Flags: RPF
Up: 00:02:49
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:02:49
Outgoing Interface List
mdttwo Flags: F MI, Up: 00:02:49
There is no state for (10.0.0.15, 232.1.1.3) on ingress PE, PE2, in VRF one, if VRF one is even present on the ingress PE router, PE2.
The alternative method to the RIB-based method is the RPL-based method. This means that a route-policy is used to change the RPF. See example 2.1 for an example of this RPF route-policy.
This is the RIB-based approach.
Image 7 Profile 0 - Option 2 The receiver MVRF is on the source MVRF
A Route-Target is used to import VRF two routes into VRF one on the receiver PE, PE3.
The ingress PE, PE2, needs a static route in VRF one (receiver VRF) pointed to VRF two (source VRF) so that the RPF succeeds on the ingress PE router, PE2.
PE3:
vrf one
address-family ipv4 unicast
import route-target
65000:1
65000:3333
!
export route-target
65000:1
!
PE2:
vrf one
address-family ipv4 unicast
import route-target
65000:1
!
export route-target
65000:1
!
vrf two
address-family ipv4 unicast
import route-target
65000:2
!
export route-target
65000:2
65000:3333
router static
vrf one
address-family ipv4 unicast
10.0.0.15/32 vrf two GigabitEthernet0/0/0/2 10.2.15.15
!
There is no need to redistribute this static route into BGP. This route is advertised in VRF two, the source VRF. The egress PE router, PE3, receives this route because it is advertised by the ingress PE router, PE1, in VRF two with Route-Target 65000:3333 which gets imported into VRF one on PE3. The static route is needed to make the RPF succeed on VRF one on the ingress PE router, PE2.
The multicast traffic uses the MDT from VRF one to cross the core network.
RP/0/0/CPU0:PE3#show mrib vrf one route 232.1.1.4 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.4) RPF nbr: 10.0.0.2 Flags: RPF
Up: 14:54:08
Incoming Interface List
mdtone Flags: A MI, Up: 00:16:47
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 14:54:08
RP/0/0/CPU0:PE3#show route vrf one 10.0.0.15/32
Routing entry for 10.0.0.15/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Nov 22 08:02:19.808 for 00:25:24
Routing Descriptor Blocks
10.0.0.2, from 10.0.0.4
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/0/CPU0:PE3#show bgp vpnv4 unicast vrf one 10.0.0.15/32
BGP routing table entry for 10.0.0.15/32, Route Distinguisher: 65000:1003
Versions:
Process bRIB/RIB SendTblVer
Speaker 51 51
Last Modified: Nov 22 09:24:32.318 for 00:02:38
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
65005
10.0.0.2 (metric 3) from 10.0.0.4 (10.0.0.2)
Received Label 24006
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 51
Extended community: RT:65000:2 RT:65000:3333
Originator: 10.0.0.2, Cluster list: 10.0.0.4
Connector: type: 1, Value:65000:2002:10.0.0.2
Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 65000:2002
RP/0/0/CPU0:PE3#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via mdtone with rpf neighbor 10.0.0.2
Connector: 65000:1002:10.0.0.2, Nexthop: 10.0.0.2
PE2 has outgoing interface mdtone in VRF one for the MRIB entry, the MDT interface of VRF one.
RP/0/0/CPU0:PE2#show mrib vrf one route 232.1.1.4 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.4) RPF TID: 0xe0000011 Flags: RPF EX
Up: 00:21:58
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A EX, Up: 00:21:58
Outgoing Interface List
mdtone Flags: F MI, Up: 00:21:58
PE2 has outgoing interface mdtone also in VRF two for the MRIB entry, the MDT interface of VRF one.
RP/0/0/CPU0:PE2#show mrib vrf two route 232.1.1.4 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.4) RPF nbr: 10.2.15.15 Flags: RPF EX
Up: 00:18:39
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:18:39
Outgoing Interface List
mdtone Flags: F MI EX, Up: 00:18:39
RP/0/0/CPU0:PE2#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [1/0]
via VRF:two,GigabitEthernet0/0/0/2 with rpf neighbor 10.2.15.15
Image 8. Profile 0 - Option 3 A transport MVRF is used
The transport MVRF does not need any interfaces. However, everything else needs to be there: the VRF configuration, the BGP configuration, the multicast-routing configuration, and the router PIM configuration.
The configuration of option 1 is on egress PE, PE1 and the configuration of option 2 are on ingress PE, PE2.
PE1:
vrf one
address-family ipv4 unicast
import route-target
65000:1
65000:65000
!
export route-target
65000:1
!
vrf transport
address-family ipv4 unicast
import route-target
65000:65000
!
export route-target
65000:65000
!
router bgp 65000
…
vrf one
rd 65000:1001
bgp unsafe-ebgp-policy
address-family ipv4 unicast
redistribute connected
!
address-family ipv4 mvpn
!
neighbor 10.1.11.11
remote-as 65001
address-family ipv4 unicast
route-policy pass-all in
route-policy pass-all out
!
!
!
vrf transport
rd 65000:123
address-family ipv4 unicast
redistribute static
!
address-family ipv4 mvpn
!
multicast-routing
vrf one
address-family ipv4
interface GigabitEthernet0/0/0/1
enable
!
mdt source Loopback0
mdt default ipv4 239.1.1.1
!
!
!
multicast-routing
vrf transport
address-family ipv4
mdt source Loopback0
mdt default ipv4 239.1.1.3
!
!
router pim
vrf one
address-family ipv4
ssm range SSM-range-vrf-one
!
!
!
router pim
vrf transport
address-family ipv4
ssm range SSM-range-vrf-transport
!
PE2:
vrf two
address-family ipv4 unicast
import route-target
65000:2
!
export route-target
65000:2
65000:65000
!
vrf transport
address-family ipv4 unicast
import route-target
65000:65000
!
export route-target
65000:65000
!
router bgp 65000
…
!
vrf two
rd 65000:2002
bgp unsafe-ebgp-policy
address-family ipv4 unicast
redistribute connected
!
address-family ipv4 mvpn
!
neighbor 10.2.15.15
remote-as 65005
address-family ipv4 unicast
route-policy pass-all in
route-policy pass-all out
!
!
!
router static
!
vrf transport
address-family ipv4 unicast
10.0.0.15/32 vrf two GigabitEthernet0/0/0/2 10.2.15.15
!
vrf transport
rd 65000:123
address-family ipv4 unicast
redistribute static
!
address-family ipv4 mvpn
!
multicast-routing
vrf two
address-family ipv4
interface GigabitEthernet0/0/0/2
enable
!
mdt source Loopback0
mdt default ipv4 239.1.1.2
!
!
!
multicast-routing
vrf transport
address-family ipv4
mdt source Loopback0
mdt default ipv4 239.1.1.3
!
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF TID: 0xe0000012 Flags: RPF EX
Up: 16:41:11
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 16:41:11
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via VRF:transport with rpf neighbor 10.0.0.2
Connector: 65000:123:10.0.0.2, Nexthop: 10.0.0.2
RP/0/0/CPU0:PE1#show mrib vrf transport route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.0.0.2 Flags: RPF EX
Up: 00:08:14
Incoming Interface List
mdttransport Flags: A MI, Up: 00:08:14
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS EX, Up: 00:00:14
RP/0/0/CPU0:PE1#show pim vrf transport rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via mdttransport with rpf neighbor 10.0.0.2
Connector: 65000:123:10.0.0.2, Nexthop: 10.0.0.2
The route for the source must be known in VRF transport on the egress PE router.
RP/0/0/CPU0:PE1#show route vrf transport 10.0.0.15/32
Routing entry for 10.0.0.15/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Nov 22 09:57:13.255 for 00:15:30
Routing Descriptor Blocks
10.0.0.2, from 10.0.0.4
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
Ingress PE, PE2:
RP/0/0/CPU0:PE2#show mrib vrf two route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.2.15.15 Flags: RPF EX
Up: 00:10:37
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:10:37
Outgoing Interface List
mdttransport Flags: F NS MI EX, Up: 00:10:37
RP/0/0/CPU0:PE2#show pim vrf two rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [20/0]
via GigabitEthernet0/0/0/2 with rpf neighbor 10.2.15.15
RP/0/0/CPU0:PE2#show mrib vrf transport route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF TID: 0xe0000011 Flags: RPF EX
Up: 00:11:44
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A EX, Up: 00:11:44
Outgoing Interface List
mdttransport Flags: F NS MI, Up: 00:11:44
RP/0/0/CPU0:PE2#show pim vrf transport rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [1/0]
via VRF:two,GigabitEthernet0/0/0/2 with rpf neighbor 10.2.15.15
There is only one PE router involved. Having a route back in the receiver VRF to the source VRF is the only requirement here for the RIB-based solution.
One solution is to have VRF one (source VRF) import the routes from VRF two (receiver VRF) by use of the appropriate Route-Target.
Image 9. Profile 0 - Local Extranet
PE1:
vrf one
address-family ipv4 unicast
import route-target
65000:1
65000:2
!
export route-target
65000:1 !
!
!
vrf two
address-family ipv4 unicast
import route-target
65000:2
!
export route-target
65000:2
!
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.2 10.0.0.14
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.14,232.1.1.2) RPF TID: 0xe0000011 Flags: RPF EX
Up: 17:02:25
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A EX, Up: 00:02:32
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 1702:25
RP/0/0/CPU0:PE1#show route vrf one 10.0.0.14/32
Routing entry for 10.0.0.14/32
Known via "bgp 65000", distance 20, metric 0
Tag 65004, type external
Installed Nov 22 10:24:52.002 for 00:01:10
Routing Descriptor Blocks
10.1.14.14, from 10.1.14.14, BGP external
Nexthop in Vrf: "two", Table: "default", IPv4 Unicast, Table Id: 0xe0000011
Route metric is 0
No advertising protos.
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.14
Table: IPv4-Unicast-default
* 10.0.0.14/32 [20/0]
via VRF:two with rpf neighbor 10.1.14.14
RP/0/0/CPU0:PE1#show mrib vrf two route 232.1.1.2 10.0.0.14
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.14,232.1.1.2) RPF nbr: 10.1.14.14 Flags: RPF EX
Up: 00:03:06
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:03:06
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS EX, Up: 00:03:06
RP/0/0/CPU0:PE1#show pim vrf two rpf 10.0.0.14
Table: IPv4-Unicast-default
* 10.0.0.14/32 [20/0]
via GigabitEthernet0/0/0/2 with rpf neighbor 10.1.14.14
Profile 14 uses Partitioned MDT, with mLDP multicast signalling in the underlay and BGP (customer) signalling in the overlay (VRF context).
This profile supports option 1.
Option 2 and 3 can be made to work with a routing trick.
Image 10 shows intra-VRF multicast traffic, VRF one to VRF one.
Image 10 Profile 14 - Intra-VRF Multicast Traffic
The output of the MRIB entry on egress PE 1 looks like this:
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.1 10.0.0.12
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.12,232.1.1.1) RPF nbr: 10.0.0.2 Flags: RPF
Up: 02:06:44
Incoming Interface List
Lmdtone Flags: A LMI, Up: 02:05:18
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 02:06:44
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.12
Table: IPv4-Unicast-default
* 10.0.0.12/32 [200/0]
via Lmdtone with rpf neighbor 10.0.0.2
Connector: 65000:1002:10.0.0.2, Nexthop: 10.0.0.2
router pim
vrf one
address-family ipv4
rpf topology route-policy profile-14
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-one
!
!
route-policy profile-14
set core-tree mldp-partitioned-p2mp
end-policy
!
Image 11 Profile 14 - Option 1 The source MVRF is on the receiver MVRF
The RPF must be changed on the receiver VRF on the receiver PE.
The import and export statements remain the same for VRF one and two.
router pim
vrf one
address-family ipv4
rpf topology route-policy profile-14-extranet
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-one
!
!
!
router pim
vrf two
address-family ipv4
rpf topology route-policy profile-14
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-two
!
!
!
route-policy profile-14
set core-tree mldp-partitioned-p2mp
end-policy
!
route-policy profile-14-extranet
if destination in (232.1.1.3/32) then
set rpf-topology vrf two
else
set core-tree mldp-partitioned-p2mp
endif
end-policy
!
The RPF in VRF one for the multicast group 232.1.1.3 points to VRF two.
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF TID: 0xe0000011 Flags: EX
Up: 03:37:29
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 03:37:29
Note: There is no incoming interface for the MRIB entry in VRF one. This has no impact on traffic forwarding.
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [4294967295/4294967295]
via Null with rpf neighbor 0.0.0.0
Note: The RPF fails in VRF one on the egress PE. This has no impact on traffic forwarding.
RP/0/0/CPU0:PE1#show mrib vrf two route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.0.0.2 Flags: RPF EX
Up: 00:05:58
Incoming Interface List
Lmdttwo Flags: A LMI, Up: 00:05:58
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS EX, Up: 00:05:58
Note that interface GE0/0/0/1 is in VRF one.
This solution cannot work by manipulating the import and export statements for the route targets or by a change of the route policy used by the RPF only.
A trick helps to fix the RPF on the ingress PE router. The trick is to add a static route in the receiver VRF and point it to the source VRF on the ingress PE router.
The static route announces the source address in the receiver VRF. This static route is tagged with a new unique Route-Target in BGP so that this route can be distinguished from the same route advertised in the source VRF. This avoids the importing of the static route from the receiver VRF on the ingress PE into the receiver VRF of the other PE routers which causes a routing issue.
Image 12 Profile 14 - Option 2 The receiver MVRF is on the source MVRF
PE2:
router static
vrf one
address-family ipv4 unicast
10.0.0.15/32 vrf two GigabitEthernet0/0/0/2 10.2.15.15
!
!
!
router bgp 65000
vrf one
rd 65000:1002
address-family ipv4 unicast
redistribute connected
redistribute static
!
route-policy export-policy-extranet
if destination in (10.0.0.15/32) then
set extcommunity rt rt-set-static-extranet
else
pass
endif
end-policy
!
extcommunity-set rt rt-set-static-extranet
65000:6666
end-set
!
RP/0/0/CPU0:PE2#show route vrf one 10.0.0.15/32
Routing entry for 10.0.0.15/32
Known via "static", distance 1, metric 0
Installed Nov 20 13:48:25.525 for 04:50:15
Routing Descriptor Blocks
10.2.15.15, via GigabitEthernet0/0/0/2
Nexthop in Vrf: "two", Table: "default", IPv4 Unicast, Table Id: 0xe0000011
Route metric is 0, Wt is 1
No advertising protos.
RP/0/0/CPU0:PE2#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [1/0]
via VRF:two,GigabitEthernet0/0/0/2 with rpf neighbor 10.2.15.15
The egress PE sees the BGP route with the route-target set on the ingress PE.
RP/0/0/CPU0:PE3#show bgp vrf one 10.0.0.15/32
BGP routing table entry for 10.0.0.15/32, Route Distinguisher: 65000:1003
Versions:
Process bRIB/RIB SendTblVer
Speaker 8 8
Last Modified: Nov 20 13:49:49.569 for 04:51:19
Paths: (1 available, best #1)
Advertised to CE peers (in unique update groups):
10.3.13.13
Path #1: Received by speaker 0
Advertised to CE peers (in unique update groups):
10.3.13.13
Local
10.0.0.2 (metric 3) from 10.0.0.4 (10.0.0.2)
Received Label 24003
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 8
Extended community: VRF Route Import:10.0.0.2:16 Source AS:65000:0 RT:65000:6666
Originator: 10.0.0.2, Cluster list: 10.0.0.4
Connector: type: 1, Value:65000:1002:10.0.0.2
Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 65000:1002
The egress PE has the correct RPF entry to the ingress PE, in the source VRF, VRF one.
RP/0/0/CPU0:PE3#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via Lmdtone with rpf neighbor 10.0.0.2
Connector: 65000:1002:10.0.0.2, Nexthop: 10.0.0.2
RP/0/0/CPU0:PE3#show mrib vrf one route 232.1.1.4 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.4) RPF nbr: 10.0.0.2 Flags: RPF
Up: 04:54:24
Incoming Interface List
Lmdtone Flags: A LMI, Up: 00:05:48
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 04:54:24
The ingress PE has the extranet entries in both the source and the receiver VRF. Source VRF:
RP/0/0/CPU0:PE2#show mrib vrf two route 232.1.1.4 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.4) RPF nbr: 10.2.15.15 Flags: RPF EX
Up: 00:06:36
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:06:36
Outgoing Interface List
Lmdtone Flags: F LMI EX TR, Up: 00:06:36
Receiver VRF:
RP/0/0/CPU0:PE2#show mrib vrf one route 232.1.1.4 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.4) RPF TID: 0xe0000011 Flags: RPF EX
Up: 00:06:28
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A EX, Up: 00:06:28
Outgoing Interface List
Lmdtone Flags: F LMI TR, Up: 00:06:28
Image 13 Profile 14 - Option 3 A transport MVRF is used
The transport VRF does not need any interfaces. However, everything else needs to be there: the VRF configuration, the BGP configuration, the multicast-routing configuration, and the router PIM configuration.
The configuration of option 1 is on egress PE, PE1 and the configuration of option 2 are on ingress PE, PE2. PE1:
vrf transport
address-family ipv4 unicast
import route-target
65000:65000
!
export route-target
65000:65000
!
router bgp 65000
…
!
vrf transport
rd 65000:123
address-family ipv4 unicast
redistribute static
!
address-family ipv4 mvpn
!
multicast-routing
vrf one
address-family ipv4
interface GigabitEthernet0/0/0/1
enable
!
mdt source Loopback0
bgp auto-discovery mldp
!
mdt partitioned mldp ipv4 p2mp
!
!
!
vrf transport
address-family ipv4
mdt source Loopback0
bgp auto-discovery mldp
!
mdt partitioned mldp ipv4 p2mp
!
router pim
vrf one
address-family ipv4
rpf topology route-policy profile-14
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-one
!
!
vrf transport
address-family ipv4
rpf topology route-policy profile-14
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-transport
!
PE2:
vrf transport
address-family ipv4 unicast
import route-target
65000:65000
!
export route-target
65000:65000
!
!
!
route-policy vrf-one-profile-14
set core-tree mldp-partitioned-p2mp
end-policy
!
route-policy export-policy-extranet
if destination in (10.0.0.15/32) then
set extcommunity rt rt-set-static-extranet
else
pass
endif
end-policy
!
router static
!
vrf transport
address-family ipv4 unicast
10.0.0.15/32 vrf two GigabitEthernet0/0/0/2 10.2.15.15
!
!
!
router bgp 65000
…
vrf transport
address-family ipv4
mdt source Loopback0
interface all enable
bgp auto-discovery mldp
!
mdt partitioned mldp ipv4 p2mp
!
router pim
address-family ipv4
ssm range SSM-range
!
!
vrf two
address-family ipv4
rpf topology route-policy profile-14
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-two
!
!
vrf transport
address-family ipv4
rpf topology route-policy profile-14
mdt c-multicast-routing bgp
!
ssm range SSM-range-vrf-transport
!
multicast-routing
!
vrf two
address-family ipv4
interface GigabitEthernet0/0/0/2
enable
!
mdt source Loopback0
bgp auto-discovery mldp
!
mdt partitioned mldp ipv4 p2mp
!
!
vrf transport
address-family ipv4
mdt source Loopback0
bgp auto-discovery mldp
!
mdt partitioned mldp ipv4 p2mp
!
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF TID: 0xe0000012 Flags: RPF EX
Up: 1d03h
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 1d03h
Note: There is no incoming interface for the MRIB entry in VRF one. This has no impact on traffic forwarding.
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [4294967295/4294967295]
via Null with rpf neighbor 0.0.0.0
Note: The RPF fails in VRF one on the egress PE. This has no impact on traffic forwarding.
RP/0/0/CPU0:PE1#show pim vrf transport rpf 10.0.0.15
Table: IPv4-Unicast-default
* 10.0.0.15/32 [200/0]
via Lmdttransport with rpf neighbor 10.0.0.2
Connector: 65000:456:10.0.0.2, Nexthop: 10.0.0.2
RP/0/0/CPU0:PE1#show mrib vrf transport route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.0.0.2 Flags: RPF EX
Up: 00:48:15
Incoming Interface List
Lmdttransport Flags: A LMI, Up: 00:22:51
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS EX, Up: 00:48:15
RP/0/0/CPU0:PE1#show route vrf transport
Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP
A - access/subscriber, a - Application route
M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
Gateway of last resort is not set
B 10.0.0.15/32 [200/0] via 10.0.0.2 (nexthop in vrf default), 00:40:06
RP/0/0/CPU0:PE2#show mrib vrf transport route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF TID: 0xe0000011 Flags: RPF EX
Up: 00:25:25
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A EX, Up: 00:25:25
Outgoing Interface List
Lmdttransport Flags: F LMI TR, Up: 00:25:25
RP/0/0/CPU0:PE2#show mrib vrf two route 232.1.1.3 10.0.0.15
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.15,232.1.1.3) RPF nbr: 10.2.15.15 Flags: RPF EX
Up: 00:25:55
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:25:55
Outgoing Interface List
Lmdttransport Flags: F LMI EX TR, Up: 00:25:55
Image 14 Profile 14 - Local Extranet
The source route from the source VRF must be imported into the receiver VRF.
vrf one
address-family ipv4 unicast
import route-target
65000:1
65000:2
!
export route-target
65000:1
!
vrf two
address-family ipv4 unicast
import route-target
65000:2
!
export route-target
65000:2
!
RP/0/0/CPU0:PE1#show route vrf one 10.0.0.14/32
Routing entry for 10.0.0.14/32
Known via "bgp 65000", distance 20, metric 0
Tag 65004, type external
Installed Nov 22 10:52:10.451 for 00:01:22
Routing Descriptor Blocks
10.1.14.14, from 10.1.14.14, BGP external
Nexthop in Vrf: "two", Table: "default", IPv4 Unicast, Table Id: 0xe0000011
Route metric is 0
No advertising protos.
RP/0/0/CPU0:PE1#show mrib vrf one route 232.1.1.2 10.0.0.14
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.14,232.1.1.2) RPF TID: 0xe0000011 Flags: RPF EX
Up: 1d21h
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A EX, Up: 00:02:07
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 1d21h
RP/0/0/CPU0:PE1#show pim vrf one rpf 10.0.0.14
Table: IPv4-Unicast-default
* 10.0.0.14/32 [20/0]
via VRF:two with rpf neighbor 10.0.0.1
RP/0/0/CPU0:PE1#show mrib vrf two route 232.1.1.2 10.0.0.14
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface
(10.0.0.14,232.1.1.2) RPF nbr: 10.1.14.14 Flags: RPF EX
Up: 00:02:47
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 00:02:47
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS EX, Up: 00:02:47
Revision | Publish Date | Comments |
---|---|---|
1.0 |
13-Dec-2021 |
Initial Release |