summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-05-12 23:02:46 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-05-12 23:02:46 +0000
commit6db3a6f75c7206050b096dcbd4fde439b4bcb6e6 (patch)
tree8c4bb9a65e3b59f886d65046c3c8e3d29a2c63b4
parente43be0edb7b5d87a3afe3a26aa071251018b10f1 (diff)
[ospfd] CID #28, remove another ospf_lookup call - ospf_redistribute_withdraw
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup call by taking the struct ospf * as argument, which the caller has, fixing CID #28. * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration * ospf_zebra.c: (ospf_redistribute_unset) update call to ospf_redistribute_withdraw to match.
-rw-r--r--ospfd/ChangeLog6
-rw-r--r--ospfd/ospf_asbr.c5
-rw-r--r--ospfd/ospf_asbr.h2
-rw-r--r--ospfd/ospf_zebra.c2
4 files changed, 9 insertions, 6 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 8cb115c6..72e363e9 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -7,6 +7,12 @@
(struct lsa_action) remove unused member.
* ospf_interface.c: (ospf_if_exists) Fix missing NULL return
check on ospf_lookup, CID #27.
+ * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
+ call by taking the struct ospf * as argument, which the
+ caller has, fixing CID #28.
+ * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
+ * ospf_zebra.c: (ospf_redistribute_unset) update call to
+ ospf_redistribute_withdraw to match.
2006-05-11 Paul Jakma <paul.jakma@sun.com>
diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c
index 426fac49..a4826237 100644
--- a/ospfd/ospf_asbr.c
+++ b/ospfd/ospf_asbr.c
@@ -270,14 +270,11 @@ ospf_asbr_status_update (struct ospf *ospf, u_char status)
}
void
-ospf_redistribute_withdraw (u_char type)
+ospf_redistribute_withdraw (struct ospf *ospf, u_char type)
{
- struct ospf *ospf;
struct route_node *rn;
struct external_info *ei;
- ospf = ospf_lookup ();
-
/* Delete external info for specified type. */
if (EXTERNAL_INFO (type))
for (rn = route_top (EXTERNAL_INFO (type)); rn; rn = route_next (rn))
diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h
index fdcfbd92..724acf48 100644
--- a/ospfd/ospf_asbr.h
+++ b/ospfd/ospf_asbr.h
@@ -70,7 +70,7 @@ extern struct ospf_route *ospf_external_route_lookup (struct ospf *,
struct prefix_ipv4 *);
extern void ospf_asbr_status_update (struct ospf *, u_char);
-extern void ospf_redistribute_withdraw (u_char);
+extern void ospf_redistribute_withdraw (struct ospf *, u_char);
extern void ospf_asbr_check (void);
extern void ospf_schedule_asbr_check (void);
extern void ospf_asbr_route_install_lsa (struct ospf_lsa *);
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c
index 11c4d99b..5a722e05 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -565,7 +565,7 @@ ospf_redistribute_unset (struct ospf *ospf, int type)
ospf->dmetric[type].value = -1;
/* Remove the routes from OSPF table. */
- ospf_redistribute_withdraw (type);
+ ospf_redistribute_withdraw (ospf, type);
ospf_asbr_status_update (ospf, --ospf->redistribute);