IS-IS neighbor relationship flapping suppression works by delaying IS-IS neighbor relationship reestablishment or setting the link cost to the maximum value (16777214 for wide mode and 63 for narrow mode).
If the status of an interface carrying IS-IS services alternates between Up and Down, IS-IS neighbor relationship flapping occurs on the interface. During the flapping, IS-IS frequently sends Hello packets to reestablish the neighbor relationship, synchronizes LSDBs, and recalculates routes. In this process, a large number of packets are exchanged, adversely affecting neighbor relationship stability, IS-IS services, and other IS-IS-dependent services, such as LDP and BGP. IS-IS neighbor relationship flapping suppression can address this problem by delaying IS-IS neighbor relationship reestablishment or preventing service traffic from passing through flapping links.
Flapping_event: reported when the status of a neighbor relationship on an interface last changes from Up to Init or Down. The flapping_event triggers flapping detection.
Flapping_count: number of times flapping has occurred.
Detect-interval: interval at which flapping is detected. The interval is used to determine whether to trigger a valid flapping_event.
Threshold: flapping suppression threshold. When the flapping_count reaches or exceeds threshold, flapping suppression takes effect.
Resume-interval: interval used to determine whether flapping suppression exits. If the interval between two valid flapping_events is longer than the resume-interval, flapping suppression exits.
IS-IS interfaces start a flapping counter. If the interval between two flapping_events is shorter than the detect-interval, a valid flapping_event is recorded, and the flapping_count is incremented by 1. When the flapping_count exceeds the threshold, the system determines that flapping occurs, and therefore triggers flapping suppression, and sets the flapping_count to 0. If the interval between two valid flapping_events is longer than the resume-interval before the flapping_count reaches the threshold again, the system sets the flapping_count to 0 again. Interfaces start the suppression timer when the status of a neighbor relationship last changes to ExStart or Down.
The detect-interval, threshold, and resume-interval are configurable.
Flapping suppressionFlapping suppression works in either Hold-down or Hold-max-cost mode.
Flapping suppression can also work first in Hold-down mode and then in Hold-max-cost mode.
By default, the Hold-max-cost mode takes effect. The mode and suppression period can be changed manually.
Interfaces exit from flapping suppression in the following scenarios:
In Figure 1, the traffic forwarding path is Device A -> Device B -> Device C -> Device E before a link failure occurs. After the link between Device B and Device C fails, the forwarding path switches to Device A -> Device B -> Device D -> Device E. If the neighbor relationship between Device B and Device C frequently flaps at the early stage of the path switchover, the forwarding path will be switched frequently, causing traffic loss and affecting network stability. If the neighbor relationship flapping meets suppression conditions, flapping suppression takes effect.
When only one forwarding path exists on the network, the flapping of the neighbor relationship between any two devices on the path will interrupt traffic forwarding. In Figure 2, the traffic forwarding path is Device A -> Device B -> Device C -> Device E. If the neighbor relationship between Device B and Device C flaps, and the flapping meets suppression conditions, flapping suppression takes effect. However, if the neighbor relationship between Device B and Device C is prevented from being reestablished, the whole network will be divided. Therefore, Hold-max-cost mode (rather than Hold-down mode) is recommended. If flapping suppression works in Hold-max-cost mode, the maximum cost is used as the cost of the link between Device B and Device C during the suppression period. After the network stabilizes and the suppression timer expires, the link is restored.
By default, the Hold-max-cost mode takes effect.
In Figure 3, four devices are deployed on the same broadcast network using switches, and the devices are broadcast network neighbors. If Device C flaps due to a link failure, and Device A and Device B were deployed at different time (Device A was deployed earlier for example) or the flapping suppression parameters on Device A and Device B are different, Device A first detects the flapping and suppresses Device C. Consequently, the Hello packets sent by Device A do not carry Device C's router ID. However, Device B has not detected the flapping yet and still considers Device C a valid node. As a result, the DR candidates identified by Device A are Device B and Device D, whereas the DR candidates identified by Device B are Device A, Device C, and Device D. Different DR candidates result in a different DR election result, which may lead to route calculation errors. To prevent this problem in scenarios where an interface has multiple neighbors, such as on a broadcast, P2MP, or NBMA network, all neighbors on the interface are suppressed when the status of a neighbor relationship last changes to ExStart or Down. Specifically, if Device C flaps, Device A, Device B, and Device D on the broadcast network are all suppressed. After the network stabilizes and the suppression timer expires, Device A, Device B, and Device D are restored to normal status.
Scenario of multi-level networkingIn Figure 4, Device A, Device B, Device C, Device E, and Device F are connected on Level 1 (Area 1), and Device B, Device D, and Device E are connected on Level 2 (Area 0). Traffic from Device A to Device F is preferentially forwarded along an intra-area route, and the forwarding path is Device A -> Device B -> Device C -> Device E -> Device F. When the neighbor relationship between Device B and Device C flaps and the flapping meets suppression conditions, flapping suppression takes effect in the default mode (Hold-max-cost). Consequently, the maximum cost is used as the cost of the link between Device B and Device C. However, the forwarding path remains unchanged because intra-area routes take precedence over inter-area routes during route selection according to IS-IS route selection rules. To prevent traffic loss in multi-area scenarios, configure Hold-down mode to prevent the neighbor relationship between Device B and Device C from being reestablished during the suppression period. During this period, traffic is forwarded along the path Device A -> Device B -> Device D -> Device E -> Device F.
By default, the Hold-max-cost mode takes effect. The mode can be changed to Hold-down manually.
In Figure 5, if the link between PE1 and P1 fails, an LDP LSP switchover is implemented immediately, causing the original LDP LSP to be deleted before a new LDP LSP is established. To prevent traffic loss, LDP-IGP synchronization needs to be configured. With LDP-IGP synchronization, the maximum cost is used as the cost of the new LSP to be established. After the new LSP is established, the original cost takes effect. Consequently, the original LSP is deleted, and LDP traffic is forwarded along the new LSP.
LDP-IGP synchronization and IS-IS neighbor relationship flapping suppression work in either Hold-down or Hold-max-cost mode. If both functions are configured, Hold-down mode takes precedence over Hold-max-cost mode, followed by the configured link cost. Table 1 lists the suppression modes that take effect in different situations.
LDP-IGP Synchronization/IS-IS Neighbor Relationship Flapping Suppression Mode |
LDP-IGP Synchronization Hold-down Mode |
LDP-IGP Synchronization Hold-max-cost Mode |
Exited from LDP-IGP Synchronization Suppression |
---|---|---|---|
IS-IS Neighbor Relationship Flapping Suppression Hold-down Mode |
Hold-down |
Hold-down |
Hold-down |
IS-IS Neighbor Relationship Flapping Suppression Hold-max-cost Mode |
Hold-down |
Hold-max-cost |
Hold-max-cost |
Exited from IS-IS Neighbor Relationship Flapping Suppression |
Hold-down |
Hold-max-cost |
Exited from LDP-IGP synchronization and IS-IS neighbor relationship flapping suppression |
For example, the link between PE1 and P1 frequently flaps in Figure 5, and both LDP-IGP synchronization and IS-IS neighbor relationship flapping suppression are configured. In this case, the suppression mode is selected based on the preceding principles. No matter which mode (Hold-down or Hold-max-cost) is selected, the forwarding path is PE1 -> P4 -> P3 -> PE2.
If a link has poor link quality, services transmitted along it may be adversely affected. If bit-error-triggered protection switching is configured and the bit error rate (BER) along a link exceeds a specified value, a bit error event is reported, and the maximum cost is used as the cost of the link, triggering route reselection. Consequently, service traffic is switched to the backup link. If both bit-error-triggered protection switching and IS-IS neighbor relationship flapping suppression are configured, they both take effect. Hold-down mode takes precedence over Hold-max-cost mode, followed by the configured link cost.
Scenario with both Link-bundle and IS-IS neighbor relationship flapping suppression configured
When the service traffic rate exceeds the capacity of the link, multiple links must be used. If one of the links between two devices is faulty, traffic is switched to another link. Because of limited forwarding capacity on the new link, excessive traffic is discarded. If the number of faulty links reaches the upper threshold, the maximum cost is used as the cost of all links in the link bundle to switch all service traffic to the backup nodes. When both link-bundle and neighbor relationship flapping suppression are configured, if the number of flapping links reaches the upper threshold, the maximum cost must be configured as the cost of all other links in the link bundle to prevent service loss caused by user traffic congestion. As shown in Figure 6, two parallel links exist between Device A and Device C. If Link 1 is faulty and Link 2 bears all service traffic, traffic loss occurs. If both link-bundle and neighbor relationship flapping suppression are configured and Link 1 flaps, the maximum cost must be configured for Link 2 to avoid service traffic congestion. Only the Hold-max-cost mode therefore can be configured for neighbor relationship flapping suppression to switch the traffic forwarding path to Device A->Device B->Device C.