]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixed many bugs in rt calculation and interface adding. Now it seems to be
authorOndrej Filip <feela@network.cz>
Mon, 4 Sep 2000 21:21:34 +0000 (21:21 +0000)
committerOndrej Filip <feela@network.cz>
Mon, 4 Sep 2000 21:21:34 +0000 (21:21 +0000)
OK, I'm going to advertise 1.0.4.

proto/ospf/iface.c
proto/ospf/lsupd.c
proto/ospf/ospf.c
proto/ospf/rt.c

index 0c398626bea32b2dace1c9f16c70db3838c79d87..9cd469297fe2f7771e2614eddfd13caee5643d57 100644 (file)
@@ -173,7 +173,6 @@ ospf_int_sm(struct ospf_iface *ifa, int event)
              restart_waittim(ifa);
           }
         }
-       addifa_rtlsa(ifa);
       }
       schedule_rt_lsa(ifa->oa);
       break;
@@ -403,6 +402,7 @@ ospf_if_notify(struct proto *p, unsigned flags, struct iface *iface)
       lock->iface = iface;
       lock->data = ifa;
       lock->hook = ospf_ifa_add;
+      addifa_rtlsa(ifa);
       olock_acquire(lock);
     }
   }
index a9bca025d2e35b10663fed485128236ab1c7b4ad..f0e6e5a2b8632a90210f3e800eac1fa98cad11c6 100644 (file)
@@ -22,6 +22,8 @@ flood_lsa(struct ospf_neighbor *n, struct ospf_lsa_header *hn,
   /* pg 148 */
   WALK_LIST(NODE ifa,po->iface_list)
   {
+    if(ifa->stub) continue;
+
     if(hh->type==LSA_T_EXT)
     {
       if(ifa->type==OSPF_IT_VLINK) continue;
index 83bcc5663175b4acdc6fd6298d95be00472faa45..151187f92ba9fe8e333e4c36d6d32cb0da73fb30 100644 (file)
@@ -355,8 +355,10 @@ ospf_rt_notify(struct proto *p, net *n, rte *new, rte *old, ea_list *attrs)
 {
   struct proto_ospf *po=(struct proto_ospf *)p;
 
+/* Temporarily down write anythink
   OSPF_TRACE(D_EVENTS, "Got route %I/%d %s", p->name, n->n.prefix,
     n->n.pxlen, new ? "up" : "down");
+*/
 
   if(new)              /* Got some new route */
   {
index 39e84bd76ae31a6409a2029139fdff01a309830b..aeb9a94457988f4fae641b31010d7487534ae902 100644 (file)
@@ -400,7 +400,7 @@ ospf_ext_spfa(struct proto_ospf *po)        /* FIXME looking into inter-area */
 
       if((nn=neigh_find(p,&lt->fwaddr,0))!=NULL)
       {
-        nnh=IPA_NONE;
+        nnh=lt->fwaddr;
         nnhi=nn->iface;
       }
       else