What is flexlink?
Flexlinks are a pair of layer 2 interface either switch ports or port channels, where one link is configured as active while the other is standby.
When the active link fails, the standby link will take over and forward the data, interfaces running flexlink will not run STP.
configure terminal
interface gi0/1
switchport backup interface gi0/2
exit
interface gi0/2
switchport backup interface gi0/1
end
Flexlink supports port channel range from 1 to 64.
interface po1
switchport backup interface po2
end
Flexlink preemption
On gi0/1 you can configure preemption:
switchport backup interface <interface-id> preemption mode bandwidth
switchport backup interface <interface-id> preemption delay <time in seconds>
If gi0/1 is up, and has more bandwidth than gi0/2, gi0/1 will take over from gi0/2 after the preemption delay. Hence gi0/2 is forwarding the traffic equals to the preemption delay.
For gi0/1 to always preempts gi0/2 while it is up, use the keyword forced.
interface gi0/2
switchport backup interface gi0/1
switchport backup interface gi0/1 preemption mode forced
switchport backup interface gi0/1 preemption delay 10
Once gi0/1 is up, gi0/1 will take over active role after 10s.
Flexlink load-balancing
Flexlink can be configured to load sharing of vlan traffics, in other words if vlan 1 to 100 is configured, the first 50 vlans will be forwarded on gi0/1, the remaining 50 vlans will be forwarded on gi0/2.
interface gi0/1
switchport backup interface gi0/2 prefer vlan 51 – 100
exit
interface gi0/2
switchport backup interface gi0/1 prefer vlan 1 – 50
end
Flexlink failover operation
1. Detects a link failure.
2. Moves static unicast mac address from the active link to the standby link.
3. Moves dynamic unicast mac address from the active link to the standby link.
4. If mac address move update (mac move update transmit) is configured, transmits mac address move update over to the new active link.
5. Sends dummy multicast to the active link containing the mac addresses.
Dummy multicast packet
Data from PC-2 to PC-1 will be forwarded out to Switch A’s gi0/1 based on the learned mac address table (CAM). Gi0/2 is a standby link and hence will not forward data, mac address of this interface is also empty.
Similarly Switch C will forward data destined to PC-2’s ip address out to Gi0/3 based on its learned mac address table.
When Switch A’s gi0/1 fails, gi0/2 will take over, all the static and dynamic mac addresses will be transferred to the new active link gi0/2, hence data will be forwarded out to gi0/2.
However if there’s a period of time when PC-2 is not sending data, but is only receiving data from PC-1, Switch C having no knowledge that Switch A’s gi0/1 is down will forward data out to gi0/3, causing data loss.
The default behaviour of Flexlink is to update the switches in the network of the mac addresses by sending out dummy multicast packet per mac address.