From 4021b60aad57f71f5d3d5c105127f93bd77bf800 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Fri, 12 May 2006 22:55:41 +0000 Subject: [ospfd] Squash another ospf_lookup call 2006-05-11 Paul Jakma * ospf_lsa.c: (ospf_default_originate_timer) Let the thread take (struct ospf *) as thread argument, rather than (struct ospf *)->default_originate, thus avoiding having to call ospf_lookup. * ospf_zebra.c: (ospf_redistribute_default_set) change setup of ospf_default_originate_timer thread to match. * ospfd.c: (ospf_router_id_update) ditto. --- ospfd/ChangeLog | 7 +++++++ ospfd/ospf_lsa.c | 8 ++------ ospfd/ospf_zebra.c | 3 +-- ospfd/ospfd.c | 3 +-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 480e54e3..dabef49e 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -11,6 +11,13 @@ * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new range, should just lookup to see if one exists, the new range is just leaked. Fixes CID #46. + * ospf_lsa.c: (ospf_default_originate_timer) Let the thread + take (struct ospf *) as thread argument, rather than (struct + ospf *)->default_originate, thus avoiding having to call + ospf_lookup. + * ospf_zebra.c: (ospf_redistribute_default_set) change setup + of ospf_default_originate_timer thread to match. + * ospfd.c: (ospf_router_id_update) ditto. 2006-04-24 Paul Jakma diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index faae4376..9a887459 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -2243,22 +2243,18 @@ ospf_default_external_info (struct ospf *ospf) int ospf_default_originate_timer (struct thread *thread) { - int *origin; struct prefix_ipv4 p; struct in_addr nexthop; struct external_info *ei; struct ospf *ospf; - ospf = ospf_lookup (); - - /* Get originate flags. */ - origin = THREAD_ARG (thread); + ospf = THREAD_ARG (thread); p.family = AF_INET; p.prefix.s_addr = 0; p.prefixlen = 0; - if (*origin == DEFAULT_ORIGINATE_ALWAYS) + if (ospf->default_originate == DEFAULT_ORIGINATE_ALWAYS) { /* If there is no default route via redistribute, then originate AS-external-LSA with nexthop 0 (self). */ diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 494f63ce..11c4d99b 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -615,8 +615,7 @@ ospf_redistribute_default_set (struct ospf *ospf, int originate, if (ospf->router_id.s_addr == 0) ospf->external_origin |= (1 << DEFAULT_ROUTE); else - thread_add_timer (master, ospf_default_originate_timer, - &ospf->default_originate, 1); + thread_add_timer (master, ospf_default_originate_timer, ospf, 1); ospf_asbr_status_update (ospf, ++ospf->redistribute); diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 680a5006..79c4543f 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -111,8 +111,7 @@ ospf_router_id_update (struct ospf *ospf) ospf, type); /* Originate Deafult. */ if (ospf->external_origin & (1 << ZEBRA_ROUTE_MAX)) - thread_add_event (master, ospf_default_originate_timer, - &ospf->default_originate, 0); + thread_add_event (master, ospf_default_originate_timer, ospf, 0); ospf->external_origin = 0; } -- cgit v1.2.1