diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2006-07-10 07:45:13 +0000 | 
|---|---|---|
| committer | Paul Jakma <paul.jakma@sun.com> | 2006-07-10 07:45:13 +0000 | 
| commit | 1f2c2743ac188b909114a1bf054a9a41a0cd5635 (patch) | |
| tree | a55fdbddb1c4f5ea4476fd44ccf2fb988cafd819 /ospfd/ospf_nsm.h | |
| parent | aa2737a08a284953908e131894accd25bf627d53 (diff) | |
[ospfd] cleanup NSM neighbour delete through a new Deleted NSM state
2006-07-07 Paul Jakma <paul.jakma@sun.com>
	* ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy
	  state indicating the neighbour is to be deleted.
	* ospf_nsm.c: (general) Use the NSM_Deleted state to delete
	  neighbours, thus allowing code to be slightly more obvious
	  in its flow.
	  (nsm_timer_set) Add NSM_Deleted. Add another timer the code
	  missed.
	  (nsm_kill_nbr) No need for special case call to nsm_change_state
	  anymore.
	  Make the assert and error-handling for same case more readable
	  (Andrew Schorr)
	  Remove the call to ospf_nbr_delete, nsm_change_state can do
	  this generally now via NSM_Deleted.
	  (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events
	  that can lead to nsm_kill_nbr all now transition the NBR to
	  NSM_Deleted and the general change_state function can be left
	  to do the work.
	  (ospf_nsm_event) Special casing of events and early-return can
	  be removed now.
	  On transition into Deleted, delete the nbr.
	* ospf_dump.c: (ospf_nsm_state_msg) Add Deleted.
Diffstat (limited to 'ospfd/ospf_nsm.h')
| -rw-r--r-- | ospfd/ospf_nsm.h | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/ospfd/ospf_nsm.h b/ospfd/ospf_nsm.h index fe42f7a0..1121dae6 100644 --- a/ospfd/ospf_nsm.h +++ b/ospfd/ospf_nsm.h @@ -26,15 +26,16 @@  /* OSPF Neighbor State Machine State. */  #define NSM_DependUpon          0 -#define NSM_Down		1 -#define NSM_Attempt		2 -#define NSM_Init		3 -#define NSM_TwoWay		4 -#define NSM_ExStart		5 -#define NSM_Exchange		6 -#define NSM_Loading		7 -#define NSM_Full		8 -#define OSPF_NSM_STATE_MAX      9 +#define NSM_Deleted		1 +#define NSM_Down		2 +#define NSM_Attempt		3 +#define NSM_Init		4 +#define NSM_TwoWay		5 +#define NSM_ExStart		6 +#define NSM_Exchange		7 +#define NSM_Loading		8 +#define NSM_Full		9 +#define OSPF_NSM_STATE_MAX     10  /* OSPF Neighbor State Machine Event. */  #define NSM_NoEvent	        0 | 
