diff options
Diffstat (limited to 'ospfd/ospf_nsm.c')
-rw-r--r-- | ospfd/ospf_nsm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c index 8a93f0e6..878ab567 100644 --- a/ospfd/ospf_nsm.c +++ b/ospfd/ospf_nsm.c @@ -697,7 +697,17 @@ nsm_change_state (struct ospf_neighbor *nbr, int state) if (oi->type == OSPF_IFTYPE_VIRTUALLINK) vl_area = ospf_area_lookup_by_area_id (oi->ospf, oi->vl_data->vl_area_id); - + + /* Optionally notify about adjacency changes */ + if (CHECK_FLAG(oi->ospf->config, OSPF_LOG_ADJACENCY_CHANGES) && + (old_state != state) && + (CHECK_FLAG(oi->ospf->config, OSPF_LOG_ADJACENCY_DETAIL) || + (state == NSM_Full) || (state < old_state))) + zlog_notice("AdjChg: Nbr %s on %s: %s -> %s", + inet_ntoa (nbr->router_id), IF_NAME (nbr->oi), + LOOKUP (ospf_nsm_state_msg, old_state), + LOOKUP (ospf_nsm_state_msg, state)); + #ifdef HAVE_SNMP /* Terminal state or regression */ if ((state == NSM_Full) || (state == NSM_TwoWay) || (state < old_state)) |