The MPLS VPN network needs to be carefully designed and the service provider core must be configured for native multicast service: PIM-SM, Source specific multicast (PIM-SSM), or Bidirectional PIM (PIM-BIDIR) are required at core. PIM-DM is not supported as core protocol for MVPN services, but all multicast protocols are supported within multicast VRF for customers (CE).
Note: Dense mode PIM (PIM-DM) is not supported as core protocol in MVPN configurations.
- An MDT default configuration is mandatory for MVPN to work (Multicast Distribution Tree).
- Configuring data MDT is optional.
-
The IP address of the default MDT determines which multicast domain VRF belongs to (to share multicast packets with other VRFs)
- Multicast needs to be enabled on MBGP peers loopbacks (between PEs)
Reference:
Example:
Configuration
R5:
ip vrf A
rd 10.10.5.5:1
route-target export 666:1
route-target import 666:1
mdt default 232.10.10.10
!
ip multicast-routing
ip multicast-routing vrf A
!
interface Loopback0
ip address 10.10.5.5 255.255.255.255
ip pim sparse-dense-mode
!
interface Ethernet0/0
ip address 10.10.35.5 255.255.255.0
ip pim sparse-mode
!
interface Ethernet0/3
ip vrf forwarding A
ip address 10.10.57.5 255.255.255.0
ip pim dense-mode
!
router ospf 1
mpls ldp autoconfig area 0
log-adjacency-changes
network 10.10.0.0 0.0.255.255 area 0
!
router bgp 666
bgp log-neighbor-changes
neighbor 10.10.6.6 remote-as 666
neighbor 10.10.6.6 update-source Loopback0
!
address-family ipv4
neighbor 10.10.6.6 activate
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.10.6.6 activate
neighbor 10.10.6.6 send-community extended
exit-address-family
!
address-family ipv4 vrf A
redistribute connected
no synchronization
exit-address-family
!
R6:
ip vrf A
rd 10.10.6.6:1
route-target export 666:1
route-target import 666:1
mdt default 232.10.10.10
!
ip multicast-routing
ip multicast-routing vrf A
!
interface Loopback0
ip address 10.10.6.6 255.255.255.255
ip pim sparse-dense-mode
!
interface Ethernet0/0
ip address 10.10.46.6 255.255.255.0
ip pim sparse-mode
!
interface Ethernet0/3
ip vrf forwarding A
ip address 10.10.68.6 255.255.255.0
ip pim dense-mode
!
router ospf 1
mpls ldp autoconfig area 0
log-adjacency-changes
network 10.10.0.0 0.0.255.255 area 0
!
router bgp 666
bgp log-neighbor-changes
neighbor 10.10.5.5 remote-as 666
neighbor 10.10.5.5 update-source Loopback0
!
address-family ipv4
neighbor 10.10.5.5 activate
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.10.5.5 activate
neighbor 10.10.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf A
redistribute connected
no synchronization
exit-address-family
!
Verification
R5#deb ip mpacket
IP(1): s=10.10.57.7 (Ethernet0/3) d=224.69.69.69 (Tunnel0) id=820, ttl=254, prot=1, len=100(100), mforward
IP(0): s=10.10.5.5 (Loopback0) d=232.10.10.10 (Ethernet0/0) id=563, ttl=255, prot=47, len=124(124), mforward
R5#sh ip mroute
IP Multicast Routing Table
Flags: D – Dense, S – Sparse, C – Connected,
L – Local, T – SPT-bit set, Z – Multicast Tunnel,
z – MDT-data group sender…
(10.10.5.5, 232.10.10.10), 00:28:22/00:03:23, flags: sT
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 00:01:04/00:02:26
(10.10.6.6, 232.10.10.10), 01:25:37/00:02:53, flags: sTIZ
Incoming interface: Ethernet0/0, RPF nbr 10.10.35.3
Outgoing interface list:
MVRF A, Forward/Sparse-Dense, 01:22:53/00:00:00
(*, 224.0.1.40), 12:23:16/00:02:34, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 12:23:16/00:00:00
R5#sh ip pim mdt
* implies group is the MDT default group
MDT Group Interface Source VRF
* 232.10.10.10 Tunnel0 Loopback0 A
R5#sh ip pim mdt bgp
Peer (Route Distinguisher + IPv4) Next Hop
MDT group 232.10.10.10
2:2570:101056513:10.10.6.6 10.10.6.6

