From c363d3861b5384a31465a72ddc3b0f6ff007a95a Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Sun, 24 Jan 2010 22:42:13 +0000 Subject: ospfd: Unify router and network LSA refresh logic with general refresher * (general) Get rid of the router and network LSA specific refresh timers and make the general refresher do this instead. Get rid of the twiddling of timers for router/network LSA that was spread across the code. This lays the foundations for future, general LSA refresh improvements, such as making sequence rollover work, and having generic LSA delays. * ospfd.h: (struct ospf) Bye bye to the router-lsa update timer thread pointer. (struct ospf_area) and to the router-lsa refresh timer. * ospf_interface.h: Remove the network_lsa_self timer thread pointer * ospf_lsa.h: (struct ospf_lsa) oi field should always be there, for benefit of type-2/network LSA processing. (ospf_{router,network}_lsa_{update_timer,timer_add}) no timers for these more (ospf_{router,network}_lsa_update) more generic functions to indicate that some router/network LSAs need updating (ospf_router_lsa_update_area) update router lsa in a particular area alone. (ospf_{summary,summary_asbr,network}_lsa_refresh) replaced by the general ospf_lsa_refresh function. (ospf_lsa_refresh) general LSA refresh function --- ospfd/ospf_nsm.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'ospfd/ospf_nsm.c') diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c index 1ab6ce31..279d2a01 100644 --- a/ospfd/ospf_nsm.c +++ b/ospfd/ospf_nsm.c @@ -711,7 +711,7 @@ nsm_change_state (struct ospf_neighbor *nbr, int state) LOOKUP(ospf_nsm_state_msg, old_state), LOOKUP(ospf_nsm_state_msg, state)); - ospf_router_lsa_timer_add (oi->area); + ospf_router_lsa_update_area (oi->area); if (oi->type == OSPF_IFTYPE_VIRTUALLINK) { @@ -719,7 +719,7 @@ nsm_change_state (struct ospf_neighbor *nbr, int state) ospf_area_lookup_by_area_id (oi->ospf, oi->vl_data->vl_area_id); if (vl_area) - ospf_router_lsa_timer_add (vl_area); + ospf_router_lsa_update_area (vl_area); } /* Originate network-LSA. */ @@ -730,10 +730,9 @@ nsm_change_state (struct ospf_neighbor *nbr, int state) ospf_lsa_flush_area (oi->network_lsa_self, oi->area); ospf_lsa_unlock (&oi->network_lsa_self); oi->network_lsa_self = NULL; - OSPF_TIMER_OFF (oi->t_network_lsa_self); } else - ospf_network_lsa_timer_add (oi); + ospf_network_lsa_update (oi); } } -- cgit v1.2.1