diff options
Diffstat (limited to 'isisd/isis_adjacency.c')
| -rw-r--r-- | isisd/isis_adjacency.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c index ffda0f8643..9529adb09a 100644 --- a/isisd/isis_adjacency.c +++ b/isisd/isis_adjacency.c @@ -327,15 +327,18 @@ void isis_adj_state_change(struct isis_adjacency **padj, adj->flaps++; } else if (old_state == ISIS_ADJ_UP) { circuit->adj_state_changes++; - listnode_delete(circuit->u.bc.adjdb[level - 1], - adj); circuit->upadjcount[level - 1]--; if (circuit->upadjcount[level - 1] == 0) isis_tx_queue_clean(circuit->tx_queue); - if (new_state == ISIS_ADJ_DOWN) + if (new_state == ISIS_ADJ_DOWN) { + listnode_delete( + circuit->u.bc.adjdb[level - 1], + adj); + del = true; + } } if (circuit->u.bc.lan_neighs[level - 1]) { @@ -374,14 +377,17 @@ void isis_adj_state_change(struct isis_adjacency **padj, &circuit->t_send_csnp[1]); } } else if (old_state == ISIS_ADJ_UP) { - if (adj->circuit->u.p2p.neighbor == adj) - adj->circuit->u.p2p.neighbor = NULL; circuit->upadjcount[level - 1]--; if (circuit->upadjcount[level - 1] == 0) isis_tx_queue_clean(circuit->tx_queue); - if (new_state == ISIS_ADJ_DOWN) + if (new_state == ISIS_ADJ_DOWN) { + if (adj->circuit->u.p2p.neighbor == adj) + adj->circuit->u.p2p.neighbor = + NULL; + del = true; + } } } } @@ -480,8 +486,7 @@ void isis_adj_print_vty(struct isis_adjacency *adj, struct vty *vty, vty_out(vty, "%-13s", adj_state2string(adj->adj_state)); now = time(NULL); if (adj->last_upd) { - if (adj->last_upd + adj->hold_time - < (unsigned long long)now) + if (adj->last_upd + adj->hold_time < now) vty_out(vty, " Expiring"); else vty_out(vty, " %-9llu", @@ -508,8 +513,7 @@ void isis_adj_print_vty(struct isis_adjacency *adj, struct vty *vty, vty_out(vty, ", State: %s", adj_state2string(adj->adj_state)); now = time(NULL); if (adj->last_upd) { - if (adj->last_upd + adj->hold_time - < (unsigned long long)now) + if (adj->last_upd + adj->hold_time < now) vty_out(vty, " Expiring"); else vty_out(vty, ", Expires in %s", |
