]> git.proxmox.com Git - mirror_frr.git/commitdiff
1. ospf_opaque_type10_lsa_term (area) - was being called after
authorpaul <paul>
Tue, 18 Feb 2003 23:26:37 +0000 (23:26 +0000)
committerpaul <paul>
Tue, 18 Feb 2003 23:26:37 +0000 (23:26 +0000)
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

index a1ad929d81f51782ebd98219ca77521c2bbb54b4..20300676674cabfdebaa6327c23ade127c2ffe4f 100644 (file)
@@ -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);