This section provides an example for configuring multicast source cloning-based PIM FRR for Rosen MVPN in an intra-AS MPLS/BGP VPN scenario.
On the intra-AS BGP/MPLS VPN shown in Figure 1, configure multicast source cloning-based PIM FRR for Rosen MVPN to implement service protection.
Table 1 describes detailed networking requirements.
Item |
Networking Requirement |
---|---|
Multicast source and receiver |
The multicast source and receiver reside on VPN A. The share-group address and switch-group address of VPN A are 226.0.0.0 and 227.0.0.0/24, respectively. |
VPN instances to which the PE interfaces belong |
PE2: IF1 belongs to VPN A. IF2, IF3, IF4, and Loopback 0 belong to the public network instance. PE4: IF1 belongs to VPN A. IF2, IF3, IF4, and Loopback 0 belong to the public network instance. PE5: IF1 belongs to VPN A. IF2, IF3, IF4, and Loopback 0 belong to the public network instance. |
Routing protocol and MPLS |
Configure IS-IS on the public network. Configure OSPF on the PEs and CEs. Configure BGP on the Loopback 0 interfaces on PE2, PE4, and PE5, allowing the loopback interfaces to establish BGP VPNv4 peer relationships and exchange VPN route information. Configure MPLS on the public network. |
Multicast routing |
Enable multicast routing on all devices. |
PIM |
Enable PIM-SM on all interfaces that interconnect devices. |
IGMP |
Enable IGMP on IF2 of CE1. |
Multicast source address of the public network: 10.4.4.4 |
source-address1: 10.52.1.0 source-address2: 10.52.2.0 mask: 24 |
Multicast source address of the public network: 10.6.6.6 |
source-address1: 10.54.1.0 source-address2: 10.54.2.0 mask: 24 |
Table 2 lists the IP address of each interface shown in Figure 1.
IF1, IF2, IF3, and IF4 in this example represent GE 0/1/1, GE 0/1/2, GE 0/1/3, and GE 0/1/4, respectively.
Device |
Interface IP Address |
Remarks |
---|---|---|
CE1 |
IF1: 10.1.11.2/24 |
- |
IF2: 10.1.9.1/24 |
IF2 is connected to the user network. |
|
PE2 |
IF1: 10.1.11.1/24 |
IF1 belongs to VPN A and functions as the static RP of the VPN instance. |
IF2: 10.1.4.5/24 |
IF2 belongs to the public network instance. |
|
IF3: 10.1.2.1/24 |
IF3 belongs to the public network instance. |
|
IF4: 10.1.6.1/24 |
IF4 belongs to the public network instance. |
|
Loopback 0: 10.1.1.1/32 |
Loopback 0 belongs to the public network instance. The Loopback 0 interfaces on PE2, PE4, and PE5 are used to establish IBGP peer relationships among the PEs. |
|
P3 |
IF1: 10.1.2.2/24 |
IF1 belongs to the public network instance. |
IF2: 10.2.4.1/24 |
IF2 belongs to the public network instance. |
|
IF3: 10.2.6.1/24 |
IF3 belongs to the public network instance. |
|
Loopback 0: 10.2.2.2/32 |
Loopback 0 belongs to the public network instance and functions as the static RP of the public network instance. |
|
PE4 |
IF1: 10.3.4.2/24 |
IF1 belongs to VPN A. |
IF2: 10.4.6.1/24 |
IF2 belongs to the public network instance. |
|
IF3: 10.2.4.2/24 |
IF3 belongs to the public network instance. |
|
IF4: 10.1.4.6/24 |
IF4 belongs to the public network instance. |
|
Loopback 0: 10.4.4.4/32 |
Loopback 0 belongs to the public network instance. |
|
PE5 |
IF1: 10.3.6.2/24 |
IF1 belongs to VPN A. |
IF2: 10.4.6.2/24 |
IF2 belongs to the public network instance. |
|
IF3: 10.2.6.2/24 |
IF3 belongs to the public network instance. |
|
IF4: 10.1.6.2/24 |
IF4 belongs to the public network instance. |
|
Loopback 0: 10.6.6.6/32 |
Loopback 0 belongs to the public network instance. |
|
CE6 |
IF1: 10.3.4.1/24 |
- |
IF2: 10.3.13.2/24 |
IF2 is connected to the multicast source. |
|
IF3: 10.3.6.1/24 |
- |
|
Source |
10.3.13.1/24 |
The multicast source belongs to VPN A. |
Receiver |
10.1.9.2/24 |
The multicast receiver belongs to VPN A. |
The configuration roadmap is as follows:
Configure an MPLS/BGP VPN network. Ensure that the VPN network works properly, and unicast routes are reachable.
Enable multicast routing and PIM on the entire network. Add the PEs and Ps to the multicast public network instance. Add the PEs to an IPv4 multicast VPN instance.
Configure the same share-group address, multicast tunnel interface (MTI), and switch-address-pool range of switch-MDT for the PEs in the same IPv4 VPN instance. Enable automatic MTI configuration.
Configure PIM devices to support Hello messages that carry the Join attribute.
On PE2, enable the function to clone user-to-source multicast Join messages and configure an RPF vector path to the multicast source.
Enable PE4 and PE5 to clone the traffic of the multicast source.
# Configure PE2.
<HUAWEI> system-view [~HUAWEI] sysname PE2 [*HUAWEI] commit [*PE2] mpls lsr-id 10.1.1.1 [*PE2] mpls [*PE2-mpls] mpls te [*PE2-mpls] mpls te p2mp-te [*PE2-mpls] mpls rsvp-te [*PE2-mpls] mpls te cspf [*PE2-mpls] quit [*PE2] commit [~PE2] interface gigabitethernet 0/1/1 [~PE2-GigabitEthernet0/1/1] ip binding vpn-instance VPNA [*PE2-GigabitEthernet0/1/1] ip address 10.1.11.1 24 [*PE2-GigabitEthernet0/1/1] commit [~PE2-GigabitEthernet0/1/1] quit [~PE2] interface gigabitethernet 0/1/2 [~PE2-GigabitEthernet0/1/2] ip address 10.1.4.5 24 [*PE2-GigabitEthernet0/1/2] mpls [*PE2-GigabitEthernet0/1/2] mpls te [*PE2-GigabitEthernet0/1/2] mpls rsvp-te [*PE2-GigabitEthernet0/1/2] commit [~PE2-GigabitEthernet0/1/2] quit [~PE2] interface gigabitethernet 0/1/3 [*PE2-GigabitEthernet0/1/3] ip address 10.1.2.1 24 [*PE2-GigabitEthernet0/1/3] mpls [*PE2-GigabitEthernet0/1/3] mpls te [*PE2-GigabitEthernet0/1/3] mpls rsvp-te [*PE2-GigabitEthernet0/1/3] commit [~PE2-GigabitEthernet0/1/3] quit [~PE2] interface gigabitethernet 0/1/4 [~PE2-GigabitEthernet0/1/4] ip address 10.1.6.1 24 [*PE2-GigabitEthernet0/1/4] mpls [*PE2-GigabitEthernet0/1/4] mpls te [*PE2-GigabitEthernet0/1/4] mpls rsvp-te [*PE2-GigabitEthernet0/1/4] commit [~PE2-GigabitEthernet0/1/4] quit
# Configure P3.
<HUAWEI> system-view [~HUAWEI] sysname P3 [*HUAWEI] commit [~P3] multicast routing-enable [*P3] mpls lsr-id 10.2.2.2 [*P3] mpls [*P3-mpls] mpls te [*P3-mpls] mpls te p2mp-te [*P3-mpls] mpls rsvp-te [*P3-mpls] mpls te cspf [*P3-mpls] quit [*P3] commit [~P3] interface gigabitethernet 0/1/1 [~P3-GigabitEthernet0/1/1] ip address 10.1.2.2 24 [*P3-GigabitEthernet0/1/1] mpls [*P3-GigabitEthernet0/1/1] mpls te [*P3-GigabitEthernet0/1/1] mpls rsvp-te [*P3-GigabitEthernet0/1/1] commit [~P3-GigabitEthernet0/1/1] quit [~P3] interface gigabitethernet 0/1/2 [~P3-GigabitEthernet0/1/2] ip address 10.2.4.1 24 [*P3-GigabitEthernet0/1/2] mpls [*P3-GigabitEthernet0/1/2] mpls te [*P3-GigabitEthernet0/1/2] mpls rsvp-te [*P3-GigabitEthernet0/1/2] commit [~P3-GigabitEthernet0/1/2] quit [~P3] interface gigabitethernet 0/1/3 [~P3-GigabitEthernet0/1/3] ip address 10.2.4.1 24 [*P3-GigabitEthernet0/1/3] mpls [*P3-GigabitEthernet0/1/3] mpls te [*P3-GigabitEthernet0/1/3] mpls rsvp-te [*P3-GigabitEthernet0/1/3] commit [~P3-GigabitEthernet0/1/3] quit
# Configure PE4.
<HUAWEI> system-view [~HUAWEI] sysname PE4 [*HUAWEI] commit [~PE4] multicast routing-enable [*PE4] mpls lsr-id 10.4.4.4 [*PE4] mpls [*PE4-mpls] mpls te [*PE4-mpls] mpls rsvp-te [*PE4-mpls] mpls te cspf [*PE4-mpls] quit [*PE4] commit [~PE4] interface gigabitethernet 0/1/1 [~PE4-GigabitEthernet0/1/1] ip binding vpn-instance VPNA [*PE4-GigabitEthernet0/1/1] ip address 10.3.4.2 24 [*PE4-GigabitEthernet0/1/1] commit [~PE4-GigabitEthernet0/1/1] quit [~PE4] interface gigabitethernet 0/1/2 [~PE4-GigabitEthernet0/1/2] ip address 10.4.6.1 24 [*PE4-GigabitEthernet0/1/2] mpls [*PE4-GigabitEthernet0/1/2] mpls te [*PE4-GigabitEthernet0/1/2] mpls rsvp-te [*PE4-GigabitEthernet0/1/2] commit [~PE4-GigabitEthernet0/1/2] quit [~PE4] interface gigabitethernet 0/1/3 [*PE4-GigabitEthernet0/1/3] ip address 10.2.4.2 24 [*PE4-GigabitEthernet0/1/3] mpls [*PE4-GigabitEthernet0/1/3] mpls te [*PE4-GigabitEthernet0/1/3] mpls rsvp-te [*PE4-GigabitEthernet0/1/3] commit [~PE4-GigabitEthernet0/1/3] quit [~PE4] interface gigabitethernet 0/1/4 [~PE4-GigabitEthernet0/1/4] ip address 10.1.4.6 24 [*PE4-GigabitEthernet0/1/4] mpls [*PE4-GigabitEthernet0/1/4] mpls te [*PE4-GigabitEthernet0/1/4] mpls rsvp-te [*PE4-GigabitEthernet0/1/4] commit [~PE4-GigabitEthernet0/1/4] quit
# Configure PE5.
<HUAWEI> system-view [~HUAWEI] sysname PE5 [*HUAWEI] commit [*PE5] multicast routing-enable [*PE5] mpls lsr-id 10.6.6.6 [*PE5] mpls [*PE5-mpls] mpls te [*PE5-mpls] mpls rsvp-te [*PE5-mpls] mpls te cspf [*PE5-mpls] quit [*PE5] commit [~PE5] interface gigabitethernet 0/1/1 [~PE5-GigabitEthernet0/1/1] ip binding vpn-instance VPNA [*PE5-GigabitEthernet0/1/1] ip address 10.3.6.2 24 [*PE5-GigabitEthernet0/1/1] commit [~PE5-GigabitEthernet0/1/1] quit [~PE5] interface gigabitethernet 0/1/2 [~PE5-GigabitEthernet0/1/2] ip address 10.4.6.2 24 [*PE5-GigabitEthernet0/1/2] mpls [*PE5-GigabitEthernet0/1/2] mpls te [*PE5-GigabitEthernet0/1/2] mpls rsvp-te [*PE5-GigabitEthernet0/1/2] commit [~PE5-GigabitEthernet0/1/2] quit [~PE5] interface gigabitethernet 0/1/3 [*PE5-GigabitEthernet0/1/3] ip address 10.2.6.2 24 [*PE5-GigabitEthernet0/1/3] mpls [*PE5-GigabitEthernet0/1/3] mpls te [*PE5-GigabitEthernet0/1/3] mpls rsvp-te [*PE5-GigabitEthernet0/1/3] commit [~PE5-GigabitEthernet0/1/3] quit [~PE5] interface gigabitethernet 0/1/4 [~PE5-GigabitEthernet0/1/4] ip address 10.1.6.2 24 [*PE5-GigabitEthernet0/1/4] mpls [*PE5-GigabitEthernet0/1/4] mpls te [*PE5-GigabitEthernet0/1/4] mpls rsvp-te [*PE5-GigabitEthernet0/1/4] commit [~PE5-GigabitEthernet0/1/4] quit
# Configure PE2.
[~PE2] multicast routing-enable [*PE2] ip vpn-instance VPNA [*PE2-vpn-instance-VPNA] ipv4-family [*PE2-vpn-instance-VPNA-af-ipv4] route-distinguisher 100:1 [*PE2-vpn-instance-VPNA-af-ipv4] tnl-policy p1 [*PE2-vpn-instance-VPNA-af-ipv4] vpn-target 100:1 both [*PE2-vpn-instance-VPNA-af-ipv4] multicast routing-enable [*PE2-vpn-instance-VPNA-af-ipv4] multicast-domain source-interface loopback 0 [*PE2-vpn-instance-VPNA-af-ipv4] multicast-domain share-group 226.0.0.0 binding mtunnel 0 [*PE2-vpn-instance-VPNA-af-ipv4] multicast-domain switch-group-pool 227.0.0.0 24 [*PE2-vpn-instance-VPNA-af-ipv4] quit [*PE2-vpn-instance-VPNA] commit [~PE2-vpn-instance-VPNA] quit [~PE2] bgp 100 [*PE2-bgp] ipv4-family vpn-instance VPNA [*PE2-bgp-VPNA] import-route direct [*PE2-bgp-VPNA] auto-frr [*PE2-bgp-VPNA] quit [*PE2-bgp] commit [*PE2-bgp] quit [*PE2] interface tunnel 1 [*PE2-Tunnel1] ip address unnumbered interface loopback 0 [*PE2-Tunnel1] tunnel-protocol mpls te [*PE2-Tunnel1] destination 10.4.4.4 [*PE2-Tunnel1] mpls te tunnel-id 100 [*PE2-Tunnel1] quit [*PE2] interface tunnel 2 [*PE2-Tunnel2] ip address unnumbered interface loopback 0 [*PE2-Tunnel2] tunnel-protocol mpls te [*PE2-Tunnel2] destination 10.6.6.6 [*PE2-Tunnel2] mpls te tunnel-id 200 [*PE2-Tunnel2] quit [*PE2] tunnel-policy p1 [*PE2-tunnel-policy-p1] tunnel binding destination 10.4.4.4 te Tunnel 1 down-switch [*PE2-tunnel-policy-p1] tunnel binding destination 10.6.6.6 te Tunnel 2 down-switch [*PE2-tunnel-policy-p1] quit [*PE2] commit
# Configure PE4.
[~PE4] multicast routing-enable [*PE4] ip vpn-instance VPNA [*PE4-vpn-instance-VPNA] ipv4-family [*PE4-vpn-instance-VPNA-af-ipv4] route-distinguisher 100:1 [*PE4-vpn-instance-VPNA-af-ipv4] vpn-target 100:1 both [*PE4-vpn-instance-VPNA-af-ipv4] tnl-policy p1 [*PE4-vpn-instance-VPNA-af-ipv4] multicast routing-enable [*PE4-vpn-instance-VPNA-af-ipv4] multicast-domain source-interface loopback 0 [*PE4-vpn-instance-VPNA-af-ipv4] multicast-domain share-group 226.0.0.0 binding mtunnel 0 [*PE4-vpn-instance-VPNA-af-ipv4] multicast-domain switch-group-pool 227.0.0.0 24 [*PE4-vpn-instance-VPNA-af-ipv4] quit [*PE4-vpn-instance-VPNA] commit [~PE4-vpn-instance-VPNA] quit [~PE4] bgp 100 [*PE4-bgp] ipv4-family vpn-instance VPNA [*PE4-bgp-VPNA] import-route direct [*PE4-bgp-VPNA] quit [*PE4-bgp] commit [*PE4-bgp] quit [*PE4] interface tunnel 1 [*PE2-Tunnel1] ip address unnumbered interface loopback 0 [*PE4-Tunnel1] tunnel-protocol mpls te [*PE4-Tunnel1] destination 10.1.1.1 [*PE4-Tunnel1] mpls te tunnel-id 100 [*PE4-Tunnel1] quit [*PE4] tunnel-policy p1 [*PE4-tunnel-policy-p1] tunnel binding destination 10.1.1.1 te Tunnel 1 [*PE4-tunnel-policy-p1] quit [*PE4] commit
# Configure PE5.
[~PE5] multicast routing-enable [*PE5] ip vpn-instance VPNA [*PE5-vpn-instance-VPNA] ipv4-family [*PE5-vpn-instance-VPNA-af-ipv4] route-distinguisher 100:1 [*PE5-vpn-instance-VPNA-af-ipv4] vpn-target 100:1 both [*PE5-vpn-instance-VPNA-af-ipv4] tnl-policy p1 [*PE5-vpn-instance-VPNA-af-ipv4] multicast routing-enable [*PE5-vpn-instance-VPNA-af-ipv4] multicast-domain source-interface loopback 0 [*PE5-vpn-instance-VPNA-af-ipv4] multicast-domain share-group 226.0.0.0 binding mtunnel 0 [*PE5-vpn-instance-VPNA-af-ipv4] multicast-domain switch-group-pool 227.0.0.0 24 [*PE5-vpn-instance-VPNA-af-ipv4] quit [*PE5-vpn-instance-VPNA] commit [~PE5-vpn-instance-VPNA] quit [~PE5] bgp 100 [*PE5-bgp] ipv4-family vpn-instance VPNA [*PE5-bgp-VPNA] import-route direct [*PE5-bgp-VPNA] quit [*PE5-bgp] commit [*PE5-bgp] quit [*PE5] interface tunnel 2 [*PE5-Tunnel2] ip address unnumbered interface loopback 0 [*PE5-Tunnel2] tunnel-protocol mpls te [*PE5-Tunnel2] destination 10.1.1.1 [*PE5-Tunnel2] mpls te tunnel-id 200 [*PE5-Tunnel2] quit [*PE5] tunnel-policy p1 [*PE5-tunnel-policy-p1] tunnel binding destination 10.1.1.1 te Tunnel 2 [*PE5-tunnel-policy-p1] quit [*PE5] commit
# Configure CE1.
<HUAWEI> system-view [~HUAWEI] sysname CE1 [*HUAWEI] commit [~CE1] ospf 1 [*CE1-ospf-1] area 0.0.0.0 [*CE1-ospf-1-area-0.0.0.0] network 10.9.1.0 0.0.0.255 [*CE1-ospf-1-area-0.0.0.0] network 10.1.11.0 0.0.0.255 [*CE1] commit
# Configure PE2.
[~PE2] ospf 1 vpn-instance VPNA [*PE2-ospf-1] area 0.0.0.0 [*PE2-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.0 [*PE2-ospf-1-area-0.0.0.0] network 10.1.11.0 0.0.0.255 [*PE2-ospf-1-area-0.0.0.0] quit [*PE2-ospf-1] quit [*PE2] commit [~PE2] isis 10 [*PE2-isis-10] cost-style wide [*PE2-isis-10] network-entity 10.0000.0000.0000.0001.00 [*PE2-isis-10] traffic-eng level-1-2 [*PE2-isis-10] quit [*PE2] commit [~PE2] interface gigabitethernet 0/1/2 [~PE2-GigabitEthernet0/1/2] isis enable 10 [*PE2-GigabitEthernet0/1/2] quit [*PE2] interface gigabitethernet 0/1/3 [*PE2-GigabitEthernet0/1/3] isis enable 10 [*PE2-GigabitEthernet0/1/3] quit [*PE2] interface gigabitethernet 0/1/4 [*PE2-GigabitEthernet0/1/4] isis enable 10 [*PE2-GigabitEthernet0/1/4] quit [*PE2] interface Loopback 0 [*PE2-Loopback0] isis enable 10 [*PE2-Loopback0] quit [*PE2] commit [~PE2] bgp 100 [~PE2-bgp] peer 10.4.4.4 as-number 100 [*PE2-bgp] peer 10.4.4.4 connect-interface LoopBack0 [*PE2-bgp] peer 10.6.6.6 as-number 100 [*PE2-bgp] peer 10.6.6.6 connect-interface LoopBack0 [*PE2-bgp] ipv4-family vpnv4 [*PE2-bgp-af-vpnv4] policy vpn-target [*PE2-bgp-af-vpnv4] peer 10.4.4.4 enable [*PE2-bgp-af-vpnv4] peer 10.6.6.6 enable [*PE2-bgp-af-vpnv4] quit [*PE2-bgp] ipv4-family vpn-instance VPNA [*PE2-bgp-VPNA] import-route ospf 1 [*PE2-bgp-VPNA] auto-frr [*PE2-bgp-VPNA] quit [*PE2-bgp] commit
# Configure P3.
[~P3] isis 10 [*P3-isis-10] cost-style wide [*P3-isis-10] network-entity 10.0000.0000.0000.0002.00 [*P3-isis-10] traffic-eng level-1-2 [*P3-isis-10] quit [*P3] commit [~P3] interface gigabitethernet 0/1/1 [~P3-GigabitEthernet0/1/1] isis enable 10 [*P3-GigabitEthernet0/1/1] quit [*P3] interface gigabitethernet 0/1/2 [*P3-GigabitEthernet0/1/2] isis enable 10 [*P3-GigabitEthernet0/1/2] quit [*P3] interface gigabitethernet 0/1/3 [*P3-GigabitEthernet0/1/3] isis enable 10 [*P3-GigabitEthernet0/1/3] quit [*P3] interface Loopback 0 [*P3-Loopback0] isis enable 10 [*P3-Loopback0] quit [*P3] commit
# Configure PE4.
[~PE4] ospf 1 vpn-instance VPNA [*PE4-ospf-1] area 0.0.0.0 [*PE4-ospf-1-area-0.0.0.0] network 10.4.4.4 0.0.0.0 [*PE4-ospf-1-area-0.0.0.0] network 10.3.4.0 0.0.0.255 [*PE4-ospf-1-area-0.0.0.0] quit [*PE4-ospf-1] quit [*PE4] commit [~PE4] isis 10 [*PE4-isis-10] cost-style wide [*PE4-isis-10] network-entity 10.0000.0000.0000.0004.00 [*PE4-isis-10] traffic-eng level-1-2 [*PE4-isis-10] quit [*PE4] commit [~PE4] interface gigabitethernet 0/1/2 [~PE4-GigabitEthernet0/1/2] isis enable 10 [*PE4-GigabitEthernet0/1/2] quit [*PE4] interface gigabitethernet 0/1/3 [*PE4-GigabitEthernet0/1/3] isis enable 10 [*PE4-GigabitEthernet0/1/3] quit [*PE4] interface gigabitethernet 0/1/4 [*PE4-GigabitEthernet0/1/4] isis enable 10 [*PE4-GigabitEthernet0/1/4] quit [*PE4] interface Loopback 0 [*PE4-Loopback0] isis enable 10 [*PE4-Loopback0] quit [*PE4] commit [~PE4] bgp 100 [~PE4-bgp] peer 10.1.1.1 as-number 100 [*PE4-bgp] peer 10.1.1.1 connect-interface LoopBack0 [*PE4-bgp] peer 10.6.6.6 as-number 100 [*PE4-bgp] peer 10.6.6.6 connect-interface LoopBack0 [*PE4-bgp] ipv4-family vpnv4 [*PE4-bgp-af-vpnv4] policy vpn-target [*PE4-bgp-af-vpnv4] peer 10.1.1.1 enable [*PE4-bgp-af-vpnv4] peer 10.6.6.6 enable [*PE4-bgp-af-vpnv4] quit [*PE4-bgp] ipv4-family vpn-instance VPNA [*PE4-bgp-VPNA] import-route ospf 1 [*PE4-bgp-VPNA] quit [*PE4-bgp] commit
# Configure PE5.
[~PE5] ospf 1 vpn-instance VPNA [*PE5-ospf-1] area 0.0.0.0 [*PE5-ospf-1-area-0.0.0.0] network 10.6.6.6 0.0.0.0 [*PE5-ospf-1-area-0.0.0.0] network 10.3.6.0 0.0.0.255 [*PE5-ospf-1-area-0.0.0.0] quit [*PE5-ospf-1] quit [*PE5] commit [~PE5] isis 10 [*PE5-isis-10] cost-style wide [*PE5-isis-10] network-entity 10.0000.0000.0000.0006.00 [*PE5-isis-10] traffic-eng level-1-2 [*PE5-isis-10] quit [*PE5] commit [~PE5] interface gigabitethernet 0/1/2 [~PE5-GigabitEthernet0/1/2] isis enable 10 [*PE5-GigabitEthernet0/1/2] quit [*PE5] interface gigabitethernet 0/1/3 [*PE5-GigabitEthernet0/1/3] isis enable 10 [*PE5-GigabitEthernet0/1/3] quit [*PE5] interface gigabitethernet 0/1/4 [*PE5-GigabitEthernet0/1/4] isis enable 10 [*PE5-GigabitEthernet0/1/4] quit [*PE5] interface Loopback 0 [*PE5-Loopback0] isis enable 10 [*PE5-Loopback0] quit [*PE5] commit [~PE5] bgp 100 [~PE5-bgp] peer 10.1.1.1 as-number 100 [*PE5-bgp] peer 10.1.1.1 connect-interface LoopBack0 [*PE5-bgp] peer 10.4.4.4 as-number 100 [*PE5-bgp] peer 10.4.4.4 connect-interface LoopBack0 [*PE5-bgp] ipv4-family vpnv4 [*PE5-bgp-af-vpnv4] policy vpn-target [*PE5-bgp-af-vpnv4] peer 10.1.1.1 enable [*PE5-bgp-af-vpnv4] peer 10.4.4.4 enable [*PE5-bgp-af-vpnv4] quit [*PE5-bgp] ipv4-family vpn-instance VPNA [*PE5-bgp-VPNA] import-route ospf 1 [*PE5-bgp-VPNA] quit [*PE5-bgp] commit
# Configure CE6.
<HUAWEI> system-view [~HUAWEI] sysname CE6 [*HUAWEI] commit [~CE6] ospf 1 [*CE6-ospf-1] area 0.0.0.0 [*CE6-ospf-1-area-0.0.0.0] network 10.3.13.0 0.0.0.255 [*CE61-ospf-1-area-0.0.0.0] network 10.3.4.0 0.0.0.255 [*CE61-ospf-1-area-0.0.0.0] network 10.3.6.0 0.0.0.255 [*CE61] commit
# Configure PE2.
[~PE2] bgp 100 [~PE2-bgp] ipv4-family mdt [*PE2-bgp-af-mdt] policy vpn-target [*PE2-bgp-af-mdt] peer 10.4.4.4 enable [*PE2-bgp-af-mdt] peer 10.6.6.6 enable [*PE2-bgp-af-mdt] quit [*PE2-bgp] commit
# Configure PE4.
[~PE4] bgp 100 [~PE4-bgp] ipv4-family mdt [*PE4-bgp-af-mdt] policy vpn-target [*PE4-bgp-af-mdt] peer 10.1.1.1 enable [*PE4-bgp-af-mdt] peer 10.6.6.6 enable [*PE4-bgp-af-mdt] quit [*PE4-bgp] commit
# Configure PE5.
[~PE5] bgp 100 [~PE5-bgp] ipv4-family mdt [*PE5-bgp-af-mdt] policy vpn-target [*PE5-bgp-af-mdt] peer 10.1.1.1 enable [*PE5-bgp-af-mdt] peer 10.4.4.4 enable [*PE5-bgp-af-mdt] quit [*PE5-bgp] commit
# Configure CE1.
[~CE1] multicast routing-enable [*CE1] pim [*CE1-pim] static-rp 10.1.11.1 [*CE1-pim] quit [*CE1] commit [*CE1] interface gigabitethernet 0/1/1 [*CE1-GigabitEthernet0/1/1] ip address 10.1.11.2 24 [*CE1-GigabitEthernet0/1/1] pim sm [*CE1-GigabitEthernet0/1/1] quit [*CE1] interface gigabitethernet 0/1/2 [*CE1-GigabitEthernet0/1/2] ip address 10.9.1.1 24 [*CE1-GigabitEthernet0/1/2] pim sm [*CE1-GigabitEthernet0/1/2] quit [*CE1] commit
# Configure PE2.
[~PE2] pim [*PE2-pim] static-rp 10.2.2.2 [*PE2-pim] commit [~PE2-pim] quit [~PE2] pim vpn-instance VPNA [*PE2-pim-VPNA] static-rp 10.1.11.1 [*PE2-pim-VPNA] commit [~PE2-pim-VPNA] quit [~PE2] interface loopback 0 [*PE2-LoopBack0] pim sm [*PE2-LoopBack0] quit [*PE2] interface gigabitethernet 0/1/1 [*PE2-GigabitEthernet0/1/1] pim sm [*PE2-GigabitEthernet0/1/1] quit [*PE2] interface gigabitethernet 0/1/2 [*PE2-GigabitEthernet0/1/2] pim sm [*PE2-GigabitEthernet0/1/2] quit [*PE2] interface gigabitethernet 0/1/3 [*PE2-GigabitEthernet0/1/3] pim sm [*PE2-GigabitEthernet0/1/3] quit [*PE2] interface gigabitethernet 0/1/4 [*PE2-GigabitEthernet0/1/4] pim sm [*PE2-GigabitEthernet0/1/4] quit [*PE2] commit
# Configure P3.
[~P3] multicast routing-enable [*P3] pim [*P3-pim] static-rp 10.2.2.2 [*P3-pim] quit [*P3-pim] commit [~P3] interface loopback 0 [*P3-LoopBack0] pim sm [*P3-LoopBack0] quit [*P3] interface gigabitethernet 0/1/1 [*P3-GigabitEthernet0/1/1] pim sm [*P3-GigabitEthernet0/1/1] quit [*P3] interface gigabitethernet 0/1/2 [*P3-GigabitEthernet0/1/2] pim sm [*P3-GigabitEthernet0/1/2] quit [*P3] interface gigabitethernet 0/1/3 [*P3-GigabitEthernet0/1/3] pim sm [*P3-GigabitEthernet0/1/3] quit [*P3] commit
# Configure PE4.
[~PE4] multicast routing-enable [*PE4] commit [~PE4] pim [*PE4-pim] static-rp 10.2.2.2 [*PE4-pim] holdtime join-prune 20 [*PE4-pim] timer join-prune 10 [*PE4-pim] quit [*PE4] pim vpn-instance VPNA [*PE4-pim-VPNA] static-rp 10.1.11.1 [*PE4-pim-VPNA] quit [*PE4] commit [~PE4] interface loopback 0 [*PE4-LoopBack0] pim sm [*PE4-LoopBack0] quit [*PE4] interface gigabitethernet 0/1/1 [*PE4-GigabitEthernet0/1/1] pim sm [*PE4-GigabitEthernet0/1/1] quit [*PE4] interface gigabitethernet 0/1/2 [*PE4-GigabitEthernet0/1/2] pim sm [*PE4-GigabitEthernet0/1/2] quit [*PE4] interface gigabitethernet 0/1/3 [*PE4-GigabitEthernet0/1/3] pim sm [*PE4-GigabitEthernet0/1/3] quit [*PE4] interface gigabitethernet 0/1/4 [*PE4-GigabitEthernet0/1/4] pim sm [*PE4-GigabitEthernet0/1/4] quit [*PE4] commit
# Configure PE5.
[~PE5] multicast routing-enable [*PE5] commit [~PE5] pim [*PE5-pim] static-rp 10.2.2.2 [*PE5-pim] quit [*PE5] pim vpn-instance VPNA [*PE5-pim-VPNA] static-rp 10.1.11.1 [*PE5-pim-VPNA] quit [*PE5] commit [~PE5] interface loopback 0 [*PE5-LoopBack0] pim sm [*PE5-LoopBack0] quit [*PE5] interface gigabitethernet 0/1/1 [*PE5-GigabitEthernet0/1/1] pim sm [*PE5-GigabitEthernet0/1/1] quit [*PE5] interface gigabitethernet 0/1/2 [*PE5-GigabitEthernet0/1/2] pim sm [*PE5-GigabitEthernet0/1/2] quit [*PE5] interface gigabitethernet 0/1/3 [*PE5-GigabitEthernet0/1/3] pim sm [*PE5-GigabitEthernet0/1/3] quit [*PE5] interface gigabitethernet 0/1/4 [*PE5-GigabitEthernet0/1/4] pim sm [*PE5-GigabitEthernet0/1/4] quit [*PE5] commit
# Configure CE6.
[~CE6] multicast routing-enable [*CE6] pim [*CE6-pim] static-rp 10.1.11.1 [*CE6-pim] quit [*CE6] commit [~CE6] interface gigabitethernet 0/1/1 [*CE6-GigabitEthernet0/1/1] pim sm [*CE6-GigabitEthernet0/1/1] quit [*CE6] interface gigabitethernet 0/1/2 [*CE6-GigabitEthernet0/1/2] pim sm [*CE6-GigabitEthernet0/1/2] quit [*CE6] interface gigabitethernet 0/1/3 [*CE6-GigabitEthernet0/1/3] pim sm [*CE6-GigabitEthernet0/1/3] quit [*CE6] commit
# Configure PE2.
[~PE2] acl number 3018 [*PE2-acl4-advance-3018] rule 5 deny ip destination 226.0.0.0 [*PE2-acl4-advance-3018] rule 10 permit ip destination 227.0.0.0 0.0.255.255 [*PE2-acl4-advance-3018] quit [*PE2] commit [~PE2] multicast rpf-vector path P3PE4 strict [*PE2-rpf-vector-path-P3PE4] next hop index 1 10.1.2.2 [*PE2-rpf-vector-path-P3PE4] next hop index 2 10.2.4.2 [*PE2-rpf-vector-path-P3PE4] quit [*PE2] multicast rpf-vector path P3PE5 strict [*PE2-rpf-vector-path-P3PE5] next hop index 1 10.1.2.2 [*PE2-rpf-vector-path-P3PE5] next hop index 2 10.2.6.2 [*PE2-rpf-vector-path-P3PE5] quit [*PE2] multicast rpf-vector path PE4 strict [*PE2-rpf-vector-path-PE4] next hop index 1 10.1.4.6 [*PE2-rpf-vector-path-PE4] quit [*PE2] multicast rpf-vector path PE5 strict [*PE2-rpf-vector-path-PE5] next hop index 1 10.1.6.2 [*PE2-rpf-vector-path-PE5] quit [*PE2] multicast rpf-vector path PE4priv strict [*PE2-rpf-vector-path-PE4priv] next hop index 1 10.4.4.4 [*PE2-rpf-vector-path-PE4priv] quit [*PE2] multicast rpf-vector path PE5priv strict [*PE2-rpf-vector-path-PE5priv] next hop index 1 10.6.6.6 [*PE2-rpf-vector-path-PE5priv] quit [~PE2] pim [*PE2-pim] hello-option join-attribute enable [*PE2-pim] rpf-frr policy 3018 [*PE2-pim] rpf-frr clone join 10.4.4.4 to 10.52.1.0 and 10.52.2.0 masklen 24 [*PE2-pim] rpf-frr clone join 10.6.6.6 to 10.54.1.0 and 10.54.2.0 masklen 24 [*PE2-pim] rpf-vector destination 10.52.1.0 masklen 24 path P3PE4 [*PE2-pim] rpf-vector destination 10.52.2.0 masklen 24 path PE4 [*PE2-pim] rpf-vector destination 10.54.1.0 masklen 24 path P3PE5 [*PE2-pim] rpf-vector destination 10.54.2.0 masklen 24 path PE5 [*PE2-pim] rpf-vector compatible standard [*PE2-pim] quit [*PE2] pim vpn-instance VPNA [*PE2-pim-VPNA] hello-option join-attribute enable [*PE2-pim-VPNA] rpf-frr policy 3018 [*PE2-pim-VPNA] rpf-frr clone join 10.3.13.1 to 10.3.6.2 and 10.3.4.2 masklen 32 [*PE2-pim-VPNA] rpf-vector destination 10.3.4.2 masklen 32 path PE4priv [*PE2-pim-VPNA] rpf-vector destination 10.3.6.2 masklen 32 path PE5priv [*PE2-pim-VPNA] rpf-vector compatible standard [*PE2-pim-VPNA] quit [*PE2] commit
# Configure P3.
[~PE3] pim [*PE3-pim] hello-option join-attribute enable [*PE3-pim] commit
# Configure PE4.
[~PE4] pim [*PE4-pim] hello-option join-attribute enable [*PE4-pim] rpf-frr [*PE4-pim] rpf-frr clone source 10.4.4.4 to 10.52.1.0 and 10.52.2.0 masklen 24 [*PE4-pim] quit [*PE4] pim vpn-instance VPNA [*PE4-pim-VPNA] hello-option join-attribute enable [*PE4-pim-VPNA] rpf-frr [*PE4-pim-VPNA] rpf-frr clone source 10.3.13.1 to 10.3.4.2 and 10.3.6.2 masklen 32 [*PE4-pim-VPNA] quit [*PE4] commit
# Configure PE5.
[~PE5] pim [*PE5-pim] hello-option join-attribute enable [*PE5-pim] rpf-frr [*PE5-pim] rpf-frr clone source 10.6.6.6 to 10.54.1.0 and 10.54.2.0 masklen 24 [*PE5-pim] quit [*PE5] pim vpn-instance VPNA [*PE5-pim-VPNA] hello-option join-attribute enable [*PE5-pim-VPNA] rpf-frr [*PE5-pim-VPNA] rpf-frr clone source 10.3.13.1 to 10.3.4.2 and 10.3.6.2 masklen 32 [*PE5-pim-VPNA] quit [*PE5] commit
# Run the igmp static-group command on CE1 to configure static multicast groups.
[~CE1] interface gigabitethernet 0/1/2 [~CE1-GigabitEthernet0/1/2] igmp static-group 225.0.0.2 source 10.3.13.1
# Run the display pim vpn-instance routing-table command on PE2 to view PIM routing entries of VPN A.
[~PE2] display pim vpn-instance VPNA routing-table VPN-Instance: VPNA Total 0 (*, G) entry; 3 (S, G) entries (10.3.4.2, 225.0.0.1) RP: 10.1.11.1 (local) Protocol: pim-sm, Flag: RPT SPT ACT SG_RCVR MFB UpTime: 00:16:04 Upstream interface: MTunnel0, Refresh time: 00:16:04 RPF vector: 10.4.4.4 Upstream neighbor: 10.4.4.4 RPF prime neighbor: 10.4.4.4 Original route: (10.3.13.1, 225.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:16:06, Expires: - (10.3.6.2, 225.0.0.1) RP: 10.1.11.1 (local) Protocol: pim-sm, Flag: RPT SPT ACT SG_RCVR MFB UpTime: 00:16:04 Upstream interface: MTunnel0, Refresh time: 00:16:04 RPF vector: 10.6.6.6 Upstream neighbor: 10.6.6.6 RPF prime neighbor: 10.6.6.6 Original route: (10.3.13.1, 225.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:16:06, Expires: - (10.3.13.1, 225.0.0.1) RP: 10.1.11.1 (local) Protocol: pim-sm, Flag: SPT 2MSDP ACT 2BGP UpTime: 00:16:04 Upstream interface: clone, Refresh time: 00:16:04 Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/2 Protocol: static, UpTime: 00:16:06, Expires: -
The preceding command output shows that cloned (S, G) entries are generated on the receiver PE.
# After multicast traffic is generated, run the display pim vpn-instance routing-table command on PE4 to check PIM routing entries of VPN A.
[~PE4] display pim vpn-instance VPNA routing-table VPN-Instance: VPNA Total 0 (*, G) entry; 3 (S, G) entries (10.3.4.2, 225.0.0.1) RP: 10.1.11.1 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:20:47 Upstream interface: clone, Refresh time: 00:20:47 Elected vector: 10.4.4.4 Upstream neighbor: NULL RPF prime neighbor: NULL Original route: (10.3.13.1, 225.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: MTunnel0 Protocol: pim-sm, UpTime: 00:20:47, Expires: 00:03:15 Attribute state: [SAFE] , Elected Vector: 10.4.4.4, Neighbor: 10.1.1.1 Total number of vectors: 1 1: explicit-vector: 10.4.4.4, neighbor: 10.1.1.1, Expires: 00:03:15 (10.3.6.2, 225.0.0.1) RP: 10.1.11.1 Protocol: pim-sm, Flag: ACT UpTime: 00:20:47 Upstream interface: MTunnel0, Refresh time: 00:20:47 Upstream neighbor: 10.1.1.1 RPF prime neighbor: 10.1.1.1 Downstream interface(s) information: none (10.3.13.1, 225.0.0.1) RP: 10.1.11.1 Protocol: pim-sm, Flag: SPT ACT SG_RCVR UpTime: 00:20:47 Upstream interface: GigabitEthernet0/1/1, Refresh time: 00:20:47 Upstream neighbor: 10.3.4.1 RPF prime neighbor: 10.3.4.1 Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:20:47, Expires: -
# Run the display pim routing-table command on PE2 to check PIM routing entries of the public network instance.
[~PE2] display pim routing-table VPN-Instance: public net Total 0 (*, G) entry; 9 (S, G) entries (10.1.1.1, 226.0.0.0) RP: 10.2.2.2 Protocol: pim-sm, Flag: RPT SPT LOC ACT UpTime: 01:15:47 Upstream interface: LoopBack0, Refresh time: 01:15:47 Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 4 1: GigabitEthernet0/1/1 Protocol: pim-sm, UpTime: 01:15:47, Expires: 00:00:49 2: GigabitEthernet0/1/2 Protocol: pim-sm, UpTime: 01:15:40, Expires: 00:01:59 3: GigabitEthernet0/1/3 Protocol: pim-sm, UpTime: 01:15:45, Expires: 00:02:27 4: GigabitEthernet0/1/4 Protocol: pim-sm, UpTime: 01:15:41, Expires: 00:01:53 (10.4.4.4, 226.0.0.0) RP: 10.2.2.2 Protocol: pim-sm, Flag: RPT SPT ACT UpTime: 01:14:42 Upstream interface: GigabitEthernet0/1/2, Refresh time: 01:14:42 Upstream neighbor: 10.1.4.6 RPF prime neighbor: 10.1.4.6 Downstream interface(s) information: Total number of downstreams: 2 1: GigabitEthernet0/1/2 Protocol: pim-sm, UpTime: 01:14:40, Expires: 00:01:59 2: VPN-Instance: VPNA Protocol: pim-sm, UpTime: 01:14:39, Expires: - (10.6.6.6, 226.0.0.0) RP: 10.2.2.2 Protocol: pim-sm, Flag: RPT SPT ACT UpTime: 01:14:42 Upstream interface: GigabitEthernet0/1/4, Refresh time: 01:14:42 Upstream neighbor: 10.1.6.2 RPF prime neighbor: 10.1.6.2 Downstream interface(s) information: Total number of downstreams: 2 1: GigabitEthernet0/1/4 Protocol: pim-sm, UpTime: 01:14:40, Expires: 00:02:27 2: VPN-Instance: VPNA Protocol: pim-sm, UpTime: 01:14:35, Expires: - (10.4.4.4, 227.0.0.1) RP: 10.2.2.2 Protocol: pim-sm, Flag: SPT ACT SG_RCVR UpTime: 00:29:47 Upstream interface: clone, Refresh time: 00:29:47 Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: VPN-Instance: VPNA Protocol: MD, UpTime: 00:29:47, Expires: - (10.6.6.6, 227.0.0.1) RP: 10.2.2.2 Protocol: pim-sm, Flag: SPT ACT SG_RCVR UpTime: 00:29:47 Upstream interface: clone, Refresh time: 00:29:47 Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: VPN-Instance: VPNA Protocol: MD, UpTime: 00:29:47, Expires: - (10.52.1.4, 227.0.0.1) RP: 10.2.2.2 Protocol: pim-sm, Flag: SPT ACT SG_RCVR MFP UpTime: 00:29:47 Upstream interface: GigabitEthernet0/1/3, Refresh time: 00:29:47 RPF vector: 10.1.2.2 Upstream neighbor: 10.1.2.2 RPF prime neighbor: 10.1.2.2 Original route: (10.4.4.4, 227.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:29:47, Expires: - (10.52.2.4, 227.0.0.1) RP: 10.2.2.2 Protocol: pim-sm, Flag: SPT ACT SG_RCVR MFP UpTime: 00:29:47 Upstream interface: GigabitEthernet0/1/2, Refresh time: 00:29:47 RPF vector: 10.1.4.2 Upstream neighbor: 10.1.4.2 RPF prime neighbor: 10.1.4.2 Original route: (10.4.4.4, 227.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:29:47, Expires: - (10.54.1.6, 227.0.0.1) RP: 10.2.2.2 Protocol: pim-sm, Flag: SPT ACT SG_RCVR MFP UpTime: 00:29:47 Upstream interface: GigabitEthernet0/1/3, Refresh time: 00:29:47 RPF vector: 10.1.2.2 Upstream neighbor: 10.1.2.2 RPF prime neighbor: 10.1.2.2 Original route: (10.6.6.6, 227.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:29:47, Expires: - (10.54.2.6, 227.0.0.1) RP: 10.2.2.2 Protocol: pim-sm, Flag: SPT ACT SG_RCVR MFP UpTime: 00:29:47 Upstream interface: GigabitEthernet0/1/4, Refresh time: 00:29:47 RPF vector: 10.1.6.2 Upstream neighbor: 10.1.6.2 RPF prime neighbor: 10.1.6.2 Original route: (10.6.6.6, 227.0.0.1) Downstream interface(s) information: Total number of downstreams: 1 1: clone-pseudo Protocol: clone, UpTime: 00:29:47, Expires: -
CE1 configuration file
# sysname CE1 # multicast routing-enable # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.11.2 255.255.255.0 pim sm # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.9.1 255.255.255.0 pim sm igmp enable igmp version 3 # ospf 1 area 0.0.0.0 network 10.9.1.0 0.0.0.255 network 10.1.11.0 0.0.0.255 # pim static-rp 10.1.11.1 # return
PE2 configuration file
# sysname PE2 # router id 10.1.1.1 # multicast routing-enable # ip vpn-instance VPNA ipv4-family route-distinguisher 100:1 tnl-policy p1 apply-label per-instance vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity multicast routing-enable multicast-domain source-interface LoopBack0 multicast-domain share-group 226.0.0.0 binding mtunnel 0 multicast-domain switch-group-pool 227.0.0.0 255.255.255.0 # mpls lsr-id 10.1.1.1 # mpls mpls te mpls te p2mp-te mpls rsvp-te mpls te cspf # acl number 3018 rule 5 deny ip destination 226.0.0.0 0 rule 10 permit ip destination 227.0.0.0 0.0.255.255 # isis 10 cost-style wide network-entity 10.0000.0000.0000.0001.00 traffic-eng level-1-2 # interface GigabitEthernet0/1/1 ip binding vpn-instance VPNA ip address 10.1.11.1 255.255.255.252 pim sm # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.4.5 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface GigabitEthernet0/1/3 undo shutdown ip address 10.1.2.1 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface GigabitEthernet0/1/4 undo shutdown ip address 10.1.6.1 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface LoopBack0 ip address 10.1.1.1 255.255.255.255 pim sm isis enable 10 # interface Tunnel1 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 10.4.4.4 mpls te tunnel-id 100 # interface Tunnel2 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 10.6.6.6 mpls te tunnel-id 200 # interface MTunnel0 ip binding vpn-instance VPNA # interface NULL0 # bgp 100 peer 10.4.4.4 as-number 100 peer 10.4.4.4 connect-interface LoopBack0 peer 10.6.6.6 as-number 100 peer 10.6.6.6 connect-interface LoopBack0 # ipv4-family unicast undo synchronization peer 10.4.4.4 enable peer 10.6.6.6 enable # ipv4-family vpnv4 policy vpn-target peer 10.4.4.4 enable peer 10.6.6.6 enable # ipv4-family vpn-instance VPNA import-route direct import-route ospf 1 auto-frr # ipv4-family mdt policy vpn-target peer 10.4.4.4 enable peer 10.6.6.6 enable # ospf 1 area 0.0.0.0 network 10.1.1.1 0.0.0.0 network 10.1.11.0 0.0.0.255 # multicast rpf-vector path P3PE4 strict next hop index 1 10.1.2.2 next hop index 2 10.2.4.2 # multicast rpf-vector path PE4 strict next hop index 1 10.1.4.6 # multicast rpf-vector path P3PE5 strict next hop index 1 10.1.2.2 next hop index 2 10.2.6.2 # multicast rpf-vector path PE5 strict next hop index 1 10.1.6.2 # multicast rpf-vector path PE4priv strict next hop index 2 10.4.4.4 # multicast rpf-vector path PE5priv strict next hop index 1 10.6.6.6 # pim rpf-frr policy 3018 static-rp 10.2.2.2 hello-option join-attribute enable rpf-frr clone join 10.4.4.4 to 10.52.1.0 and 10.52.2.0 masklen 24 rpf-frr clone join 10.6.6.6 to 10.54.1.0 and 10.54.2.0 masklen 24 rpf-vector destination 10.52.1.0 masklen 24 path P3PE4 rpf-vector destination 10.52.2.0 masklen 24 path PE4 rpf-vector destination 10.54.1.0 masklen 24 path P3PE5 rpf-vector destination 10.54.2.0 masklen 24 path PE5 rpf-vector compatible standard # pim vpn-instance VPNA static-rp 10.1.11.1 hello-option join-attribute enable rpf-frr policy 3018 rpf-frr clone join 10.3.13.1 to 10.3.6.2 and 10.3.4.2 masklen 32 rpf-vector destination 10.3.4.2 masklen 32 path PE4priv rpf-vector destination 10.3.6.2 masklen 32 path PE5priv rpf-vector compatible standard # tunnel-policy p1 tunnel binding destination 10.4.4.4 te Tunnel 1 down-switch tunnel binding destination 10.6.6.6 te Tunnel 2 down-switch # return
P3 configuration file
# sysname P3 # multicast routing-enable # mpls lsr-id 10.2.2.2 # mpls mpls te mpls rsvp-te mpls te cspf # isis 10 cost-style wide network-entity 10.0000.0000.0000.0002.00 traffic-eng level-1-2 # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.2.2 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet0/1/2 undo shutdown ip address 10.2.4.1 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet0/1/3 undo shutdown ip address 10.2.6.1 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te mpls ldp # interface LoopBack0 ip address 10.2.2.2 255.255.255.255 pim sm isis enable 10 # interface NULL0 # pim static-rp 10.2.2.2 hello-option join attribute enable # return
PE4 configuration file
# sysname PE4 # multicast routing-enable # ip vpn-instance VPNA ipv4-family route-distinguisher 100:1 tunnel-policy p1 apply-label per-instance vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity multicast routing-enable multicast-domain source-interface LoopBack0 multicast-domain share-group 226.0.0.0 binding mtunnel 0 multicast-domain switch-group-pool 227.0.0.0 255.255.255.0 # mpls lsr-id 10.4.4.4 # mpls mpls te mpls rsvp-te mpls te cspf # mpls ldp # ipv4-family # acl number 3000 rule 5 deny ip destination 226.0.0.0 0 rule 10 permit ip destination 227.0.0.0 0.0.255.255 # isis 10 cost-style wide network-entity 10.0000.0000.0000.0004.00 traffic-eng level-1-2 # interface GigabitEthernet0/1/3 undo shutdown ip address 10.2.4.2 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface GigabitEthernet0/1/4 undo shutdown ip address 10.1.4.6 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface GigabitEthernet0/1/1 undo shutdown ip binding vpn-instance VPNA ip address 10.3.4.2 255.255.255.252 pim sm # interface GigabitEthernet0/1/2 shutdown ip address 10.4.6.1 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface LoopBack0 ip address 10.4.4.4 255.255.255.255 pim sm isis enable 10 # interface Tunnel1 ip address unnumbered interface LoopBack 0 tunnel-protocol mpls te destination 10.1.1.1 mpls te tunnel-id 100 # interface MTunnel0 ip binding vpn-instance VPNA # interface NULL0 # bgp 100 peer 10.1.1.1 as-number 100 peer 10.1.1.1 connect-interface LoopBack0 peer 10.6.6.6 as-number 100 peer 10.6.6.6 connect-interface LoopBack0 # ipv4-family unicast undo synchronization peer 10.1.1.1 enable peer 10.6.6.6 enable # ipv4-family vpnv4 policy vpn-target peer 10.1.1.1 enable peer 10.6.6.6 enable # ipv4-family vpn-instance VPNA import-route direct import-route ospf 1 auto-frr # ipv4-family mdt policy vpn-target peer 10.1.1.1 enable peer 10.6.6.6 enable # ospf 1 vpn-instance VPNA area 0.0.0.0 network 10.4.4.4 0.0.0.0 network 10.3.4.0 0.0.0.255 # pim holdtime join-prune 20 timer join-prune 10 static-rp 10.2.2.2 hello-option join-attribute enable rpf-frr rpf-frr clone source 10.4.4.4 to 10.52.1.0 and 10.52.2.0 masklen 24 # pim vpn-instance VPNA static-rp 10.1.11.1 hello-option join-attribute enable rpf-frr rpf-frr clone source 10.3.13.1 to 10.3.4.2 and 10.3.6.2 masklen 32 # tunnel-policy p1 tunnel binding destination 10.1.1.1 te Tunnel 1 # return
PE5 configuration file
# sysname PE5 # ip vpn-instance VPNA ipv4-family route-distinguisher 100:1 tnl-policy p1 apply-label per-instance vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity multicast routing-enable multicast-domain source-interface LoopBack0 multicast-domain share-group 226.0.0.0 binding mtunnel 0 multicast-domain switch-group-pool 227.0.0.0 255.255.255.0 # mpls lsr-id 10.6.6.6 # mpls mpls te mpls rsvp-te mpls te cspf # acl number 3000 rule 5 deny ip destination 226.0.0.0 0 rule 10 permit ip destination 227.0.0.0 0.0.255.255 # isis 10 cost-style wide network-entity 10.0000.0000.0000.0006.00 traffic-eng level-1-2 # interface GigabitEthernet0/1/3 undo shutdown ip address 10.2.6.2 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface GigabitEthernet0/1/4 undo shutdown ip address 10.1.6.2 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface GigabitEthernet0/1/1 undo shutdown ip binding vpn-instance VPNA ip address 10.3.6.2 255.255.255.252 pim sm # interface GigabitEthernet0/1/2 undo shutdown ip address 10.4.6.2 255.255.255.252 pim sm isis enable 10 mpls mpls te mpls rsvp-te # interface LoopBack0 ip address 10.6.6.6 255.255.255.255 pim sm isis enable 10 # interface Tunnel2 ip address unnumbered interface LoopBack 0 tunnel-protocol mpls te destination 10.1.1.1 mpls te tunnel-id 200 # interface MTunnel0 ip binding vpn-instance VPNA # interface NULL0 # bgp 100 peer 10.1.1.1 as-number 100 peer 10.1.1.1 connect-interface LoopBack0 peer 10.4.4.4 as-number 100 peer 10.4.4.4 connect-interface LoopBack0 # ipv4-family unicast undo synchronization peer 10.1.1.1 enable peer 10.4.4.4 enable # ipv4-family vpnv4 policy vpn-target peer 10.1.1.1 enable peer 10.4.4.4 enable # ipv4-family vpn-instance VPNA import-route direct import-route ospf 1 auto-frr # ipv4-family mdt policy vpn-target peer 10.1.1.1 enable peer 10.4.4.4 enable # ospf 1 vpn-instance VPNA area 0.0.0.0 network 10.6.6.6 0.0.0.0 network 10.3.6.0 0.0.0.255 # pim static-rp 10.2.2.2 hello-option join-attribute enable rpf-frr rpf-frr clone source 10.6.6.6 to 10.54.1.0 and 10.54.2.0 masklen 24 # pim vpn-instance VPNA static-rp 10.1.11.1 hello-option join-attribute enable rpf-frr rpf-frr clone source 10.3.13.1 to 10.3.4.2 and 10.3.6.2 masklen 32 # tunnel-policy p1 tunnel binding destination 10.1.1.1 te Tunnel 2 # return
CE6 configuration file
# sysname CE6 # multicast routing-enable # interface GigabitEthernet0/1/1 undo shutdown ip address 10.3.4.1 255.255.255.0 pim sm # interface GigabitEthernet0/1/2 undo shutdown ip address 10.3.13.2 255.255.255.0 pim sm # interface GigabitEthernet0/1/3 undo shutdown ip address 10.3.6.1 255.255.255.0 pim sm # ospf 1 area 0.0.0.0 network 10.3.13.0 0.0.0.255 network 10.3.4.0 0.0.0.255 network 10.3.6.0 0.0.0.255 # pim static-rp 10.1.11.1 # return