]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Temporary OSPFv3 commit.
authorOndrej Zajicek <santiago@crfreenet.org>
Thu, 10 Dec 2009 23:31:56 +0000 (00:31 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Thu, 10 Dec 2009 23:31:56 +0000 (00:31 +0100)
proto/ospf/iface.c
proto/ospf/lsupd.c
proto/ospf/ospf.c

index e98414f20ae797fd93c937384c441fae2398a7d5..8db086ec20f91b3067f612f5e7964fc95434a5f4 100644 (file)
@@ -263,6 +263,7 @@ ospf_iface_sm(struct ospf_iface *ifa, int event)
 
       hello_timer_hook(ifa->hello_timer);
     }
+    schedule_link_lsa(ifa);
     schedule_rt_lsa(ifa->oa);
     break;
   case ISM_BACKS:
@@ -283,6 +284,7 @@ ospf_iface_sm(struct ospf_iface *ifa, int event)
   case ISM_DOWN:
     ospf_iface_chstate(ifa, OSPF_IS_DOWN);
     ospf_iface_down(ifa);
+    schedule_link_lsa(ifa);
     schedule_rt_lsa(oa);
     break;
   case ISM_LOOP:               /* Useless? */
@@ -387,7 +389,6 @@ ospf_iface_add(struct object_lock *lock)
 
   ifa->state = OSPF_IS_DOWN;
   ospf_iface_sm(ifa, ISM_UP);
-  schedule_link_lsa(ifa);
 }
 
 void
index 75c670248cfcee3ef964042b92fd463855a029bb..a0133855aae5aa2ee793c28f98bb3153b8db9557 100644 (file)
@@ -639,7 +639,7 @@ ospf_lsupd_receive(struct ospf_packet *ps_i, struct ospf_iface *ifa,
       DBG("New LSA installed in DB\n");
 
 #ifdef OSPFv3
-      /* Events 6,7 from 4.4.3. */
+      /* Events 6,7 from RFC5340 4.4.3. */
       if ((lsatmp.type == LSA_T_LINK) &&
          (ifa->state == OSPF_IS_DR))
        schedule_net_lsa(ifa);
index 78fa5ee9f7e3924ab58a7ef4ab7fe25a6ff3bd30..1befb7d2aaf4d80032af91ce8e54c24b22225c72 100644 (file)
@@ -493,6 +493,7 @@ ospf_ifa_notify(struct proto *p, unsigned flags, struct ifa *a)
       if (ifa->iface == a->iface)
        {
          schedule_rt_lsa(ifa->oa);
+         /* Event 5 from RFC5340 4.4.3. */
          schedule_link_lsa(ifa);
          return;
        }