]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixes a bug in RA_ACCEPTED handling.
authorOndrej Zajicek <santiago@crfreenet.org>
Fri, 11 May 2012 10:01:27 +0000 (12:01 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Fri, 11 May 2012 10:01:27 +0000 (12:01 +0200)
nest/rt-table.c

index 578a6ba3afa1fdad8625187e781f2b8ddc048300..32feafbadc18262c58d1210d4d3dfc696606ae39 100644 (file)
@@ -354,7 +354,7 @@ rt_notify_accepted(struct announce_hook *ah, net *net, rte *new_changed, rte *ol
   rte *old_free = NULL;
   rte *r;
 
-  /* Used to track whethe we met old_changed position. If it is NULL
+  /* Used to track whether we met old_changed position. If it is NULL
      it was the first and met it implicitly before current best route. */
   int old_meet = (old_changed && !before_old) ? 1 : 0;
 
@@ -1415,12 +1415,13 @@ again:
          return 0;
        }
 
-      if (p->accept_ra_types == RA_OPTIMAL)
+      if ((p->accept_ra_types == RA_OPTIMAL) ||
+         (p->accept_ra_types == RA_ACCEPTED))
        if (e)
          {
            if (p->core_state != FS_FEEDING)
              return 1;  /* In the meantime, the protocol fell down. */
-           do_feed_baby(p, RA_OPTIMAL, h, n, e);
+           do_feed_baby(p, p->accept_ra_types, h, n, e);
            max_feed--;
          }