summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_ase.h
Commit message (Collapse)AuthorAgeFilesLines
* ospfd: use workqueue for ospf_ase_calculate_routePaul Jakma2010-02-051-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | * The ospf_ase_calculate_timer can take a long time to run, as it scales O(# of AS-External LSAs), in domains with lots of external routes. Fix this by using a work-queue for the per-LSA processing, thus splitting it up a bit. * ospf_ase.h: (ospf_ase_calculate_route, ospf_ase_calculate_schedule) no need for these to be exported. * ospf_spf.c: (ospf_spf_calculate_timer) ospf_ase_calculate_schedule is gone. * ospfd.h: (struct ospf) add a work-queue for the AS-External route calculation. * ospf_ase.c: (ospf_ase_calc_completion) completion func, for when ase-calculation is done. Also have to take care to see if the timer needs to be rescheduled, which is the case if ospf->ase_calc is set again but there is no timer scheduled. (ospf_ase_calc_process) workqueue processing function, calls to the existing ospf_ase_calculate_route. (ospf_ase_calculate_timer) add to work-queue, instead of calling ospf_ase_calculate_route directly. (ospf_ase_calculate_timer_add) do the job of ospf_ase_calculate_schedule which can be removed. Set flag so we can tell if a timer schedule comes in while the previous timer is running.
* 2005-05-06 Paul Jakma <paul.jakma@sun.com>paul2005-05-061-12/+17
| | | | | | | | | | | | | | | | | | | | | | | * (general) extern and static qualifiers added. unspecified arguments in definitions fixed, typically they should be 'void'. function casts added for callbacks. Guards added to headers which lacked them. Proper headers included rather than relying on incomplete definitions. gcc noreturn function attribute where appropriate. * ospf_opaque.c: remove the private definition of ospf_lsa's ospf_lsa_refresh_delay. * ospf_lsa.h: export ospf_lsa_refresh_delay * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const, correct thing to do - removes need for the casts later. * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's home-brewed versions, shuts up several warnings. * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX moved to lib/vty.h. * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky overloading of the THREAD_ARG pointer should at least use uintptr_t.
* Initial revisionpaul2002-12-131-0/+42