This section provides an example for configuring MVPN Extranet in the local route leaking scenario where the source and receiver VPN instances reside on the same PE.
MD MVPN supports only intra-VPN multicast service distribution. In real-world application, however, a service provider may need to provide multicast services to users in a different VPN than its own VPN. This requires inter-VPN multicast distribution.
In the local route leaking scenario of intra-AS MD MVPN shown in Figure 1, the receiver in VPN RED requires multicast data from the source in VPN BLUE. To meet this requirement, deploy MVPN extranet.
The configuration roadmap is as follows:
Configure basic intra-AS MD MVPN functions.
Configure Rendezvous Points (RPs) to serve the public network and the multicast groups running the multicast VPN extranet service.
To complete the configuration, you need the following data:
RD and RT of VPN BLUE: 100:1
RD and RT of VPN RED: 200:1
Share-group address of VPN BLUE: 239.0.0.0
Share-group address of VPN RED: 238.0.0.0
Multicast group address used by the VPN extranet: 228.0.0.1
# Configure Loopback 1 on P as a Candidate-BSR (C-BSR) and a Candidate-RP (C-RP) on the public network.
[~P] pim [*P-pim] c-bsr Loopback 1 [*P-pim] c-rp Loopback 1 [*P-pim] quit [*P] commit
# In the PIM view of CE1 and CE2 and views of VPN BLUE and VPN RED on PE2, configure Loopback 1 of CE1 as a static RP to serve the multicast groups running the multicast VPN extranet service.
Source VPN instances and receiver VPN instances support only static RPs. In addition, the routes to static RPs and the routes to the sources need to be in the same VPN instance.
# Configure CE1.
[~CE1] pim [*CE1-pim] static-rp 4.4.4.4 [*CE1-pim] quit [*CE1] commit
# Configure PE2.
[~PE2] pim vpn-instance BLUE [*PE2-pim-BLUE] static-rp 4.4.4.4 [*PE2-pim-BLUE] quit [*PE2] pim vpn-instance RED [*PE2-pim-RED] static-rp 4.4.4.4 [*PE2-pim-RED] quit [*PE2] commit
# Configure CE2.
[~CE2] pim [*CE2-pim] static-rp 4.4.4.4 [*CE2-pim] quit [*CE2] commit
By checking the configuration result, you can view that the receiver in VPN RED can receive multicast data from the source in VPN BLUE.
Run the display pim routing-table command on PE2 to check information about the PIM routing table. The following command output shows that the upstream of the Reverse Path Forwarding (RPF) route selected by the PIM entry corresponding to group 228.0.0.1 is VPN BLUE.
[~PE2] display pim vpn-instance RED routing-table extranet source-vpn-instance vpn-instance BLUE VPN-Instance: RED Total 1 (*, G) entry; 1 (S, G) entry Total matched 1 (*, G) entry; 1 (S, G) entry (*, 228.0.0.1) RP: 4.4.4.4 Protocol: pim-sm, Flag: WC UpTime: 00:03:05 Upstream interface: MCAST_Extranet(BLUE) Upstream neighbor: 10.1.2.1 RPF prime neighbor: 10.1.2.1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/16 Protocol: pim-sm, UpTime: 00:03:05, Expires: 00:03:26 (10.1.1.2, 228.0.0.1) RP: 4.4.4.4 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:00:02 Upstream interface: MCAST_Extranet(BLUE) Upstream neighbor: 10.1.2.1 RPF prime neighbor: 10.1.2.1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/16 Protocol: pim-sm, UpTime: 00:00:06, Expires: -
The following command output shows that the MVPN extranet receiver of VPN BLUE belongs to VPN RED.
[~PE2] display pim vpn-instance BLUE routing-table extranet receive-vpn-instance vpn-instance RED VPN-Instance: BLUE Total 1 (*, G) entry; 1 (S, G) entry Total matched 1 (*, G) entry; 1 (S, G) entry (*, 228.0.0.1) RP: 4.4.4.4 Protocol: pim-sm, Flag: WC EXTRANET UpTime: 00:06:16 Upstream interface: GigabitEthernet0/1/0 Upstream neighbor: 10.1.2.1 RPF prime neighbor: 10.1.2.1 Downstream interface(s) information: none Extranet receiver(s): 1 1: RED (10.1.1.2, 228.0.0.1) RP: 4.4.4.4 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:03:13 Upstream interface: GigabitEthernet0/1/0 Upstream neighbor: 10.1.2.1 RPF prime neighbor: 10.1.2.1 Downstream interface(s) information: none Extranet receiver(s): 1 1: RED
Run the display multicast routing-table command on PE2 to check information about the multicast routing table. The following command output shows that the upstream of the RPF route selected by the multicast routing entry corresponding to group 228.0.0.1 is VPN BLUE.
[~PE2] display multicast vpn-instance RED routing-table extranet source-vpn-instance vpn-instance BLUE Multicast routing table of VPN instance: RED Total 0 (*, G) entry; 1 (S, G) entry, 1 matched 00001: (10.1.1.2, 228.0.0.1) Uptime: 05:39:09 Upstream Interface: MCAST_Extranet(BLUE) List of 1 downstream interface 1: GigabitEthernet0/1/16
Run the display multicast rpf-info command on PE2 to check the RPF routing information of source 10.1.1.2. The following command output shows that the upstream of the RPF route selected by the multicast routing entry corresponding to group 228.0.0.1 is VPN BLUE.
[~PE2] display multicast vpn-instance RED rpf-info 10.1.1.2 228.0.0.1
VPN-Instance: RED
RPF information about source 10.1.1.2 and group 228.0.0.1
RPF interface: MCAST_Extranet
RPF Source VPN-Instance: BLUE
Referenced route/mask: 10.1.1.0/24
Referenced route type: unicast
Route selection rule: preference-preferred
Load splitting rule: disable
After the preceding configurations, Receiver can receive multicast data from Source. Run the display pim routing-table command on CE2 to check information about the PIM routing table. The following command output shows that multicast data has reached CE2 and has been forwarded to Receiver.
[~CE2] display pim routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (*, 228.0.0.1) RP: 4.4.4.4 Protocol: pim-sm, Flag: WC UpTime: 00:00:09 Upstream interface: GigabitEthernet0/1/16, Refresh time: 00:00:09 Upstream neighbor: 10.1.3.1 RPF prime neighbor: 10.1.3.1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/8 Protocol: static, UpTime: 00:00:09, Expires: - (10.1.1.2, 228.0.0.1) RP: 4.4.4.4 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:04:06 Upstream interface: GigabitEthernet0/1/16, Refresh time: 00:04:06 Upstream neighbor: 10.1.3.1 RPF prime neighbor: 10.1.3.1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/8 Protocol: pim-sm, UpTime: 00:00:09, Expires: -
PE1 configuration file
#
sysname PE1
#
multicast routing-enable
#
mpls lsr-id 1.1.1.1
#
mpls
#
mpls ldp
#
interface GigabitEthernet0/1/0
undo portswitch
undo shutdown
ip address 192.168.1.1 255.255.255.0
pim sm
mpls
mpls ldp
#
interface LoopBack1
ip address 1.1.1.1 255.255.255.255
pim sm
#
bgp 100
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack1
#
ipv4-family unicast
peer 3.3.3.3 enable
#
ipv4-family vpnv4
policy vpn-target
peer 3.3.3.3 enable
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 192.168.1.0 0.0.0.255
#
return
P configuration file
# sysname P # multicast routing-enable # mpls lsr-id 2.2.2.2 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo portswitch undo shutdown ip address 192.168.1.2 255.255.255.0 pim sm mpls mpls ldp # interface GigabitEthernet0/1/8 undo portswitch undo shutdown ip address 192.168.2.1 255.255.255.0 pim sm mpls mpls ldp # interface LoopBack1 ip address 2.2.2.2 255.255.255.255 pim sm # ospf 1 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 192.168.1.0 0.0.0.255 network 192.168.2.0 0.0.0.255 # pim c-bsr LoopBack1 c-rp LoopBack1 # return
PE2 configuration file
# sysname PE2 # multicast routing-enable # ip vpn-instance BLUE ipv4-family route-distinguisher 100:1 apply-label per-instance vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity multicast routing-enable multicast-domain share-group 239.0.0.0 binding mtunnel 0 # ip vpn-instance RED ipv4-family route-distinguisher 200:1 vpn-target 200:1 export-extcommunity vpn-target 200:1 import-extcommunity vpn-target 100:1 import-extcommunity multicast routing-enable multicast-domain share-group 238.1.1.0 binding mtunnel 1 # mpls lsr-id 3.3.3.3 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo portswitch undo shutdown ip binding vpn-instance BLUE ip address 10.1.2.2 255.255.255.0 pim sm # interface GigabitEthernet0/1/8 undo portswitch undo shutdown ip address 192.168.2.2 255.255.255.0 pim sm mpls mpls ldp # interface GigabitEthernet0/1/16 undo portswitch undo shutdown ip binding vpn-instance RED ip address 10.1.3.1 255.255.255.0 pim sm # interface LoopBack1 ip address 3.3.3.3 255.255.255.255 pim sm # interface MTunnel0 ip binding vpn-instance BLUE ip address 3.3.3.3 255.255.255.255 # interface MTunnel1 ip binding vpn-instance RED ip address 3.3.3.3 255.255.255.255 # bgp 100 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack1 # ipv4-family unicast peer 1.1.1.1 enable # ipv4-family vpnv4 policy vpn-target peer 1.1.1.1 enable # ipv4-family vpn-instance BLUE import-route direct import-route ospf 3 # ipv4-family vpn-instance RED import-route direct import-route ospf 2 # ospf 1 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 192.168.2.0 0.0.0.255 # ospf 2 vpn-instance RED import-route bgp area 0.0.0.0 network 10.1.3.0 0.0.0.255 # ospf 3 vpn-instance BLUE import-route bgp area 0.0.0.0 network 10.1.2.0 0.0.0.255 # pim # pim vpn-instance BLUE static-rp 4.4.4.4 # pim vpn-instance RED static-rp 4.4.4.4 # return
CE1 configuration file
# sysname CE1 # multicast routing-enable # interface GigabitEthernet0/1/0 undo portswitch undo shutdown ip address 10.1.2.1 255.255.255.0 pim sm # interface GigabitEthernet0/1/8 undo portswitch undo shutdown ip address 10.1.1.1 255.255.255.0 pim sm # interface LoopBack1 ip address 4.4.4.4 255.255.255.255 pim sm # ospf 3 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 10.1.2.0 0.0.0.255 network 4.4.4.4 0.0.0.0 # pim static-rp 4.4.4.4 # return
CE2 configuration file
# sysname CE2 # multicast routing-enable # interface GigabitEthernet0/1/8 undo portswitch undo shutdown ip address 10.1.4.1 255.255.255.0 pim sm igmp enable igmp static-group 228.0.0.1 # interface GigabitEthernet0/1/16 undo portswitch undo shutdown ip address 10.1.3.2 255.255.255.0 pim sm # ospf 2 area 0.0.0.0 network 10.1.3.0 0.0.0.255 network 10.1.4.0 0.0.0.255 # pim static-rp 4.4.4.4 # return