[ospfd] Squash another ospf_lookup call

2006-05-11 Paul Jakma <paul.jakma@sun.com>

	* 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.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 480e54e..dabef49 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 <paul.jakma@sun.com>
 
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index faae437..9a88745 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -2243,22 +2243,18 @@
 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 494f63c..11c4d99 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -615,8 +615,7 @@
   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 680a500..79c4543 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -111,8 +111,7 @@
 				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;
 	}