In Figure 1, HostA on the IPv6 network is dual-homed to SwitchA and SwitchB through the switch. A VRRP6 group is established on SwitchA and SwitchB, and SwitchA is the master.
When SwitchA or a link between SwitchA and SwitchB is faulty, VRRP6 Advertisement packet negotiation takes a period of time. To implement a rapid active/standby switchover, deploy a BFD session on the link and associate the VRRP6 group with the BFD session. When the primary interface on the master or the link fails, the BFD session rapidly detects the fault and notifies the VRRP6 group of the fault. After receiving the notification, the VRRP6 group performs a rapid active/standby switchover. The backup assumes the master role and forwards traffic. This reduces the impact of the fault on service transmission.
In this scenario, to avoid loops, ensure that all connected interfaces have STP disabled and connected interfaces are removed from VLAN 1. If STP is enabled and VLANIF interfaces of switches are used to construct a Layer 3 ring network, an interface on the network will be blocked. As a result, Layer 3 services on the network cannot run normally.
Device |
Interface |
VLANIF Interface |
IP Address |
---|---|---|---|
SwitchA |
GE0/0/1 |
VLANIF 300 |
2002::1/64 |
GE0/0/2 |
VLANIF 100 |
FC00::1/64 10.1.1.1/24 |
|
SwitchB |
GE0/0/1 |
VLANIF 200 |
2001::1/64 |
GE0/0/2 |
VLANIF 100 |
FC00::2/64 10.1.1.2/24 |
|
SwitchC |
GE0/0/1 |
VLANIF 300 |
2002::2/64 |
GE0/0/2 |
VLANIF 200 |
2001::2/64 |
|
GE0/0/3 |
VLANIF 400 |
2003::2/64 |
The configuration roadmap is as follows:
# Configure VLANs to which each interface belongs. SwitchA is used as an example. The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA. For details, see the configuration files.
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 100 300 [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type hybrid [SwitchA-GigabitEthernet0/0/1] port hybrid pvid vlan 300 [SwitchA-GigabitEthernet0/0/1] port hybrid untagged vlan 300 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type hybrid [SwitchA-GigabitEthernet0/0/2] port hybrid pvid vlan 100 [SwitchA-GigabitEthernet0/0/2] port hybrid untagged vlan 100 [SwitchA-GigabitEthernet0/0/2] quit
# Assign an IP address to each interface. SwitchA is used as an example. The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA. For details, see the configuration files.
[SwitchA] ipv6 [SwitchA] interface vlanif 100 [SwitchA-Vlanif100] ipv6 enable [SwitchA-Vlanif100] ipv6 address FC00::1 64 [SwitchA-Vlanif100] ip address 10.1.1.1 24 [SwitchA-Vlanif100] quit [SwitchA] interface vlanif 300 [SwitchA-Vlanif300] ipv6 enable [SwitchA-Vlanif300] ipv6 address 2002::1 64 [SwitchA-Vlanif300] quit
# Configure Layer 2 transmission on the switch.
<HUAWEI> system-view [HUAWEI] sysname Switch [Switch] vlan 100 [Switch-vlan100] quit [Switch] interface gigabitethernet 0/0/1 [Switch-GigabitEthernet0/0/1] port link-type hybrid [Switch-GigabitEthernet0/0/1] port hybrid pvid vlan 100 [Switch-GigabitEthernet0/0/1] port hybrid untagged vlan 100 [Switch-GigabitEthernet0/0/1] quit [Switch] interface gigabitethernet 0/0/2 [Switch-GigabitEthernet0/0/2] port link-type hybrid [Switch-GigabitEthernet0/0/2] port hybrid pvid vlan 100 [Switch-GigabitEthernet0/0/2] port hybrid untagged vlan 100 [Switch-GigabitEthernet0/0/2] quit
# Configure OSPFv3 between SwitchA, SwitchB, and SwitchC. SwitchA is used as an example. The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA. For details, see the configuration files.
[SwitchA] ospfv3 [SwitchA-ospfv3-1] router-id 1.1.1.1 [SwitchA-ospfv3-1] quit [SwitchA] interface vlanif 100 [SwitchA-Vlanif100] ospfv3 1 area 0 [SwitchA-Vlanif100] quit [SwitchA] interface vlanif 300 [SwitchA-Vlanif300] ospfv3 1 area 0 [SwitchA-Vlanif300] quit
# Configure VRRP6 group 1 on SwitchA, and set the priority of SwitchA to 120 and the preemption delay to 20s.
[SwitchA] interface vlanif 100 [SwitchA-Vlanif100] vrrp6 vrid 1 virtual-ip FE80::1 link-local [SwitchA-Vlanif100] vrrp6 vrid 1 virtual-ip FC00::100 [SwitchA-Vlanif100] vrrp6 vrid 1 priority 120 [SwitchA-Vlanif100] vrrp6 vrid 1 preempt-mode timer delay 20 [SwitchA-Vlanif100] quit
# Configure VRRP6 group 1 on SwitchB, and set the default priority of 100 for SwitchB.
[SwitchB] interface vlanif 100 [SwitchB-Vlanif100] vrrp6 vrid 1 virtual-ip FE80::1 link-local [SwitchB-Vlanif100] vrrp6 vrid 1 virtual-ip FC00::100 [SwitchB-Vlanif100] quit
# Create a BFD session on SwitchA.
[SwitchA] bfd [SwitchA-bfd] quit [SwitchA] bfd atob bind peer-ip 10.1.1.2 interface vlanif 100 [SwitchA-bfd-session-atob] discriminator local 1 [SwitchA-bfd-session-atob] discriminator remote 2 [SwitchA-bfd-session-atob] min-rx-interval 100 [SwitchA-bfd-session-atob] min-tx-interval 100 [SwitchA-bfd-session-atob] commit [SwitchA-bfd-session-atob] quit
# Create a BFD session on SwitchB.
[SwitchB] bfd [SwitchB-bfd] quit [SwitchB] bfd btoa bind peer-ip 10.1.1.1 interface vlanif 100 [SwitchB-bfd-session-btoa] discriminator local 2 [SwitchB-bfd-session-btoa] discriminator remote 1 [SwitchB-bfd-session-btoa] min-rx-interval 100 [SwitchB-bfd-session-btoa] min-tx-interval 100 [SwitchB-bfd-session-btoa] commit [SwitchB-bfd-session-btoa] quit
# Run the display bfd session command on SwitchA and SwitchB. You can see that the BFD session is Up. The display on SwitchA is used as an example.
[SwitchA] display bfd session all -------------------------------------------------------------------------------- Local Remote PeerIpAddr State Type InterfaceName -------------------------------------------------------------------------------- 1 2 10.1.1.2 Up S_IP_IF Vlanif100 -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0
# Configure association between VRRP6 and BFD on SwitchB. When the BFD session goes Down, the priority of SwitchB increases by 40.
[SwitchB] interface vlanif 100 [SwitchB-Vlanif100] vrrp6 vrid 1 track bfd-session 2 increased 40 [SwitchB-Vlanif100] quit
# Run the display vrrp6 command on SwitchA and SwitchB. SwitchA is the master, SwitchB is the backup, and the associated BFD session is in Up state.
[SwitchA] display vrrp6
Vlanif100 | Virtual Router 1
State : Master
Virtual IP : FE80::1
FC00::100
Master IP : FE80::200:AFF:FE88:158D
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 20 s
TimerRun : 100 cs
TimerConfig : 100 cs
Virtual MAC : 0000-5e00-0201
Check hop limit : YES
Config type : normal-vrrp
Backup-forward : disabled
Create time : 2012-01-12 20:15:46
Last change time : 2012-01-12 20:15:46
[SwitchB] display vrrp6
Vlanif100 | Virtual Router 1
State : Backup
Virtual IP : FE80::1
FC00::100
Master IP : FE80::200:AFF:FE88:158D
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 100 cs
TimerConfig : 100 cs
Virtual MAC : 0000-5e00-0201
Check hop limit : YES
Config type : normal-vrrp
Backup-forward : disabled
Track BFD : 2 Priority increased : 40
BFD-session state : UP
Create time : 2012-01-12 20:15:46
Last change time : 2012-01-12 20:15:46
# Run the shutdown command on GE0/0/2 of SwitchA to simulate a link fault.
[SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] shutdown [SwitchA-GigabitEthernet0/0/2] quit
# Run the display vrrp6 command on SwitchA and SwitchB. You can see that SwitchA is in Initialize state, SwitchB becomes the master, and the associated BFD session goes Down.
[SwitchA] display vrrp6
Vlanif100 | Virtual Router 1
State : Initialize
Virtual IP : FE80::1
FC00::100
Master IP : ::
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 0
Preempt : YES Delay Time : 20 s
TimerRun : 100 cs
TimerConfig : 100 cs
Virtual MAC : 0000-5e00-0201
Check hop limit : YES
Config type : normal-vrrp
Backup-forward : disabled
Create time : 2012-01-12 20:15:46
Last change time : 2012-01-12 20:15:46
[SwitchB] display vrrp6
Vlanif100 | Virtual Router 1
State : Master
Virtual IP : FE80::1
FC00::100
Master IP : FE80::121B:54FF:FE98:D3B0
PriorityRun : 140
PriorityConfig : 100
MasterPriority : 140
Preempt : YES Delay Time : 0 s
TimerRun : 100 cs
TimerConfig : 100 cs
Virtual MAC : 0000-5e00-0201
Check hop limit : YES
Config type : normal-vrrp
Backup-forward : disabled
Track BFD : 2 Priority increased : 40
BFD-session state : DOWN
Create time : 2012-01-12 20:15:46
Last change time : 2012-01-12 20:15:46
# Run the undo shutdown command on GE0/0/2 of SwitchA.
[SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] undo shutdown [SwitchA-GigabitEthernet0/0/2] quit
# After 20s, run the display vrrp6 command on SwitchA and SwitchB. You can see that SwitchA is the master, SwitchB is the backup, and the associated BFD session goes Up.
[SwitchA] display vrrp6
Vlanif100 | Virtual Router 1
State : Master
Virtual IP : FE80::1
FC00::100
Master IP : FE80::200:AFF:FE88:158D
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 20 s
TimerRun : 100 cs
TimerConfig : 100 cs
Virtual MAC : 0000-5e00-0201
Check hop limit : YES
Config type : normal-vrrp
Backup-forward : disabled
Create time : 2012-01-12 20:15:46
Last change time : 2012-01-12 20:15:46
[SwitchB] display vrrp6
Vlanif100 | Virtual Router 1
State : Backup
Virtual IP : FE80::1
FC00::100
Master IP : FE80::200:AFF:FE88:158D
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 100 cs
TimerConfig : 100 cs
Virtual MAC : 0000-5e00-0201
Check hop limit : YES
Config type : normal-vrrp
Backup-forward : disabled
Track BFD : 2 Priority increased : 40
BFD-session state : UP
Create time : 2012-01-12 20:15:46
Last change time : 2012-01-12 20:15:46
SwitchA configuration file
# sysname SwitchA # ipv6 # vlan batch 100 300 # bfd # ospfv3 1 router-id 1.1.1.1 # interface Vlanif100 ipv6 enable ip address 10.1.1.1 255.255.255.0 ipv6 address FC00::1/64 ospfv3 1 area 0.0.0.0 vrrp6 vrid 1 virtual-ip FE80::1 link-local vrrp6 vrid 1 virtual-ip FC00::100 vrrp6 vrid 1 priority 120 vrrp6 vrid 1 preempt-mode timer delay 20 # interface Vlanif300 ipv6 enable ipv6 address 2002::1/64 ospfv3 1 area 0.0.0.0 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 300 port hybrid untagged vlan 300 # interface GigabitEthernet0/0/2 port link-type hybrid port hybrid pvid vlan 100 port hybrid untagged vlan 100 # bfd atob bind peer-ip 10.1.1.2 interface Vlanif100 discriminator local 1 discriminator remote 2 min-tx-interval 100 min-rx-interval 100 commit # return
SwitchB configuration file
# sysname SwitchB # ipv6 # vlan batch 100 200 # bfd # ospfv3 1 router-id 2.2.2.2 # interface Vlanif100 ipv6 enable ip address 10.1.1.2 255.255.255.0 ipv6 address FC00::2/64 ospfv3 1 area 0.0.0.0 vrrp6 vrid 1 virtual-ip FE80::1 link-local vrrp6 vrid 1 virtual-ip FC00::100 vrrp6 vrid 1 track bfd-session 2 increased 40 # interface Vlanif200 ipv6 enable ipv6 address 2001::1/64 ospfv3 1 area 0.0.0.0 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 200 port hybrid untagged vlan 200 # interface GigabitEthernet0/0/2 port link-type hybrid port hybrid pvid vlan 100 port hybrid untagged vlan 100 # bfd btoa bind peer-ip 10.1.1.1 interface Vlanif100 discriminator local 2 discriminator remote 1 min-tx-interval 100 min-rx-interval 100 commit # return
SwitchC configuration file
# sysname SwitchC # ipv6 # vlan batch 200 300 400 # ospfv3 1 router-id 3.3.3.3 # interface Vlanif200 ipv6 enable ipv6 address 2001::2/64 ospfv3 1 area 0.0.0.0 # interface Vlanif300 ipv6 enable ipv6 address 2002::2/64 ospfv3 1 area 0.0.0.0 # interface Vlanif400 ipv6 enable ipv6 address 2003::2/64 ospfv3 1 area 0.0.0.0 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 300 port hybrid untagged vlan 300 # interface GigabitEthernet0/0/2 port link-type hybrid port hybrid pvid vlan 200 port hybrid untagged vlan 200 # interface GigabitEthernet0/0/3 port link-type hybrid port hybrid pvid vlan 400 port hybrid untagged vlan 400 # return
Switch configuration file
# sysname Switch # vlan batch 100 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 100 port hybrid untagged vlan 100 # interface GigabitEthernet0/0/2 port link-type hybrid port hybrid pvid vlan 100 port hybrid untagged vlan 100 # return