From cb3f37d276e2c803d806715dd2b1bda81075ca19 Mon Sep 17 00:00:00 2001 From: paul Date: Tue, 18 Feb 2003 23:26:37 +0000 Subject: 1. ospf_opaque_type10_lsa_term (area) - was being called after ospf_lsdb_free had been called. (efence caught this one). This bug is present in zebra.org CVS 2. It fixes my previous ospf_network_match_iface patch ([zebra 17352]) - i lost a couple of checks in ospf_network_run() by mistake. this patch isnt in zebra.org CVS, but it would be nice to have it once it works. This hopefully fixes the 'assert rn->info' problems people had with zebra-pj yesterday. --- ospfd/ospfd.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'ospfd') diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index a1ad929d..20300676 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -472,14 +472,12 @@ ospf_area_free (struct ospf_area *area) ospf_lsa_discard_callback); foreach_lsa (OPAQUE_LINK_LSDB (area), area->lsdb, 0, ospf_lsa_discard_callback); + ospf_opaque_type10_lsa_term (area); #endif /* HAVE_OPAQUE_LSA */ ospf_lsdb_delete_all (area->lsdb); ospf_lsdb_free (area->lsdb); -#ifdef HAVE_OPAQUE_LSA - ospf_opaque_type10_lsa_term (area); -#endif /* HAVE_OPAQUE_LSA */ ospf_lsa_unlock (area->router_lsa_self); route_table_finish (area->ranges); @@ -722,8 +720,11 @@ ospf_network_run (struct ospf *ospf, struct prefix *p, struct ospf_area *area) else addr = co->address; - if (ospf_network_match_iface(co,p)) + if (p->family == co->address->family + && ! ospf_if_is_configured (&(addr->u.prefix4)) + && ospf_network_match_iface(co,p)) { + assert(co); struct ospf_interface *oi; oi = ospf_if_new (ifp, co->address); -- cgit v1.2.1