if (new_state == old_state)
return;
- if (old_state == ISIS_ADJ_UP &&
- !CHECK_FLAG(adj->circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z)) {
+ if (old_state == ISIS_ADJ_UP) {
if (IS_DEBUG_EVENTS)
zlog_debug(
"ISIS-Adj (%s): Starting fast-reroute on state change "
{
struct isis_circuit *circuit = ifp->info;
- if (circuit) {
- UNSET_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z);
+ if (circuit)
isis_csm_state_change(IF_UP_FROM_Z, circuit, ifp);
- }
return 0;
}
struct isis_circuit *circuit = ifp->info;
if (circuit) {
- SET_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z);
for (afi = AFI_IP; afi <= AFI_IP6; afi++)
isis_circuit_switchover_routes(
circuit, afi == AFI_IP ? AF_INET : AF_INET6,
struct list *ipv6_non_link; /* our non-link local IPv6 addresses */
uint16_t upadjcount[ISIS_LEVELS];
#define ISIS_CIRCUIT_FLAPPED_AFTER_SPF 0x01
-#define ISIS_CIRCUIT_IF_DOWN_FROM_Z 0x02
uint8_t flags;
bool disable_threeway_adj;
struct {