[ospfd] Additional NSM neighbour state change stats/information

2006-07-25 Paul Jakma <paul.jakma@sun.com>

	* ospf_neigbor.h: (struct ospf_neighbor) Add some additional
	  neighbour state statistics fields, timestamps for progressive
	  and regressive state changes, and pointer to event string
	  for the latter state change.
	* ospf_nsm.c: (nsm_notice_state_change) Update new state changs
	  history as required.
	* ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above
	  new per-neighbour state change stats.
diff --git a/ospfd/ospf_neighbor.h b/ospfd/ospf_neighbor.h
index 9b7ff36..25f1352 100644
--- a/ospfd/ospf_neighbor.h
+++ b/ospfd/ospf_neighbor.h
@@ -80,11 +80,14 @@
   struct thread *t_ls_upd;
   struct thread *t_hello_reply;
 
-  /* Statistics Field */
-  u_int32_t state_change;
-  struct timeval ts_last_change;
-  const char *last_event_str;
+  /* NBMA configured neighbour */
   struct ospf_nbr_nbma *nbr_nbma;
+
+  /* Statistics */
+  struct timeval ts_last_progress;  /* last advance of NSM            */
+  struct timeval ts_last_regress;   /* last regressive NSM change     */
+  const char *last_regress_str;     /* Event which last regressed NSM */
+  u_int32_t state_change;           /* NSM state change counter       */
 };
 
 /* Macros. */