Example for Configuring IPv6 PIM GR
Networking Requirements
Figure 5-5 shows a network running multicast services. On this IPv6 PIM-SM network, RouterC has double control units, and both RouterA and RouterB support GR of unicast protocols.
An active/standby switchover needs to be performed on RouterC. To ensure uninterrupted multicast services for downstream users, the interface cards of RouterC must be able to forward multicast data during the active/standby switchover.
Configuration Roadmap
IPv6 PIM GR can be configured to meet the preceding requirement. The configuration roadmap is as follows:
Assign IPv6 addresses to interfaces and configure a unicast routing protocol on each router.
Enable GR for the unicast routing protocol on each router and set the GR period. PIM GR depends on GR of the unicast routing protocol.
Enable multicast routing on the routers, enable IPv6 PIM-SM on all interfaces of the routers, and enable MLD on the interface of RouterC connected to the host.
Configure an RP. Configure the same static RP on the routers.
Enable IPv6 PIM GR on RouterC and set the GR period.
Procedure
- Assign IPv6 addresses to interfaces and configure a unicast routing protocol on each router.
# Configure IPv6 addresses and masks for interfaces on the routers and configure OSPFv3 on the routers to ensure that they can communicate at the network layer. The configurations of RouterA and RouterB are similar to the configuration of RouterC, and are not mentioned here.
<Huawei> system-view [Huawei] sysname RouterC [RouterC] ipv6 [RouterC] ospfv3 [RouterC-ospfv3-1] router-id 3.3.3.3 [RouterC-ospfv3-1] quit [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] ipv6 enable [RouterC-GigabitEthernet1/0/0] ipv6 address 2001:6::1 64 [RouterC-GigabitEthernet1/0/0] ospfv3 1 area 0 [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] ipv6 enable [RouterC-GigabitEthernet2/0/0] ipv6 address 2001:5::2 64 [RouterC-GigabitEthernet2/0/0] ospfv3 1 area 0 [RouterC-GigabitEthernet2/0/0] quit
- Enable GR for the unicast routing protocol on each router and set the GR period to 200s.
# Enable GR for the unicast routing protocol on all the routers and set the GR period to 200 seconds. The configurations of RouterA and RouterB are similar to the configuration of RouterC, and are not mentioned here.
[RouterC] ospfv3 [RouterC-ospfv3-1] graceful-restart [RouterC-ospfv3-1] graceful-restart period 200 [RouterC-ospfv3-1] quit
- Enable IPv6 multicast routing on the routers, enable IPv6 PIM-SM on all interfaces of the routers, and enable MLD on the interface of RouterC connected to the host.
# Enable IPv6 multicast routing on all the routers, and enable IPv6 PIM-SM on all interfaces of the routers. The configurations of RouterA and RouterB are similar to the configuration of RouterC, and are not mentioned here.
[RouterC] multicast ipv6 routing-enable [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] pim ipv6 sm [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] pim ipv6 sm [RouterC-GigabitEthernet2/0/0] quit
# Enable MLD on the interface of RouterC connected to the host.
[RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] mld enable [RouterC-GigabitEthernet1/0/0] quit
- Configure a static RP.
# Configure a static RP on all the routers. The configurations of RouterA and RouterB are similar to the configuration of RouterC, and are not mentioned here.
[RouterC] pim-ipv6 [RouterC-pim6] static-rp 1::1 [RouterC-pim6] quit
- Enable IPv6 PIM GR and set the IPv6 PIM GR period.
# Enable IPv6 PIM GR on RouterC and set the IPv6 PIM GR period to 300 seconds.
[RouterC] pim-ipv6 [RouterC-pim6] graceful-restart [RouterC-pim6] graceful-restart period 300 [RouterC-pim6] quit
- Verify the configuration.
# Multicast source 2001:1::1 sends data to the multicast group FF2E::1. HostA sends an MLD Report message to join the multicast group and can receive data from the multicast source. Before triggering an active/standby switchover on RouterC, run the display pim ipv6 routing-table command on RouterB and RouterC to view the multicast routing tables. The command output is as follows:
<RouterB> display pim ipv6 routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (*, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: WC UpTime: 00:00:53 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: FE80::E0:F2C:3C02:1 RPF prime neighbor: FE80::E0:F2C:3C02:1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-sm, UpTime: 00:00:53, Expires: 00:02:37 (2001:1::1, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:21:24 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: FE80::E0:F2C:3C02:1 RPF prime neighbor: FE80::E0:F2C:3C02:1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-sm, UpTime: 00:00:53, Expires: 00:03:07
<RouterC> display pim ipv6 routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (*, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: WC UpTime: 00:01:16 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: FE80::5463:0:9245:2 RPF prime neighbor: FE80::5463:0:9245:2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet1/0/0 Protocol: mld, UpTime: 00:01:16, Expires: - (2001:1::1, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:01:16 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: FE80::5463:0:9245:2 RPF prime neighbor: FE80::5463:0:9245:2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet1/0/0 Protocol: pim-sm, UpTime: 00:01:16, Expires: -
# Trigger an active/standby on RouterC.
[RouterC] slave switchover Warning: Are you sure to switch over?[Y/N]:Y
# During the PIM GR, run the display pim ipv6 routing-table command on RouterB and RouterC to view the routing tables. The command output is as follows:
<RouterB> display pim ipv6 routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (*, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: WC UpTime: 00:02:20 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: FE80::E0:F2C:3C02:1 RPF prime neighbor: FE80::E0:F2C:3C02:1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-sm, UpTime: 00:02:20, Expires: 00:03:10 (2001:1::1, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:02:20 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: FE80::E0:F2C:3C02:1 RPF prime neighbor: FE80::E0:F2C:3C02:1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-sm, UpTime: 00:02:20, Expires: 00:03:17
<RouterC> display pim ipv6 routing-table VPN-Instance: public net Total 1 (*, G) entry; 1 (S, G) entry (*, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: WC UpTime: 00:02:44 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: FE80::5463:0:9245:2 RPF prime neighbor: FE80::5463:0:9245:2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet1/0/0 Protocol: mld, UpTime: 00:02:44, Expires: - (2001:1::1, FF2E::1) RP: 1::1 Protocol: pim-sm, Flag: SPT ACT UpTime: 00:02:44 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: FE80::5463:0:9245:2 RPF prime neighbor: FE80::5463:0:9245:2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet1/0/0 Protocol: pim-sm, UpTime: 00:02:44, Expires: -
The preceding command output shows that the downstream interface of RouterB remains unchanged after an active/standby switchover occurs on RouterC. After the active/standby switchover, RouterC sends the backup Join messages to the upstream device and maintains the (S, G) entries during the GR process. This ensures nonstop multicast data forwarding.
When RouterC is restoring multicast routing entries after the active/standby switchover, users can still receive multicast data normally. Multicast services are not affected during this process.
Configuration Files
RouterA configuration file
# sysname RouterA # ipv6 # multicast ipv6 routing-enable # ospfv3 1 router-id 1.1.1.1 graceful-restart period 200 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2001:2::1/64 ospfv3 1 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2001:1::2/64 ospfv3 1 area 0.0.0.0 pim ipv6 sm # interface LoopBack0 ipv6 enable ipv6 address 1::1/128 ospfv3 1 area 0.0.0.0 pim ipv6 sm # pim-ipv6 static-rp 1::1 # return
RouterB configuration file
# sysname RouterB # ipv6 # multicast ipv6 routing-enable # ospfv3 1 router-id 2.2.2.2 graceful-restart period 200 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2001:2::2/64 ospfv3 1 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2001:5::1/64 ospfv3 1 area 0.0.0.0 pim ipv6 sm # pim-ipv6 static-rp 1::1 # return
RouterC configuration file
# sysname RouterC # ipv6 # multicast ipv6 routing-enable # ospfv3 1 router-id 3.3.3.3 graceful-restart period 200 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2001:6::1/64 ospfv3 1 area 0.0.0.0 pim ipv6 sm mld enable # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2001:5::2/64 ospfv3 1 area 0.0.0.0 pim ipv6 sm # pim-ipv6 static-rp 1::1 graceful-restart graceful-restart period 300 # return