]> git.puffer.fish Git - matthieu/frr.git/commitdiff
[zebra] Fix pauls zebra_rib/rib_process commit mistakes, again.
authorpaul <paul>
Mon, 30 Jan 2006 14:08:51 +0000 (14:08 +0000)
committerpaul <paul>
Mon, 30 Jan 2006 14:08:51 +0000 (14:08 +0000)
2006-01-30 Paul Jakma <paul.jakma@sun.com>

* zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
  commit, last commit had a hole that could allow connected
  route selection to escape beyond the connected route logic.
  This time I cross-checked with Gunnar first. ;)

zebra/ChangeLog
zebra/zebra_rib.c

index 9f892c83336eee029df39c9d67e452f5672129d7..e707975789dc7175e4d2d4d162a0af54b172e67c 100644 (file)
@@ -1,3 +1,10 @@
+2006-01-30 Paul Jakma <paul.jakma@sun.com>
+
+       * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed
+         commit, last commit had a hole that could allow connected
+         route selection to escape beyond the connected route logic. 
+         This time I cross-checked with Gunnar first. ;)
+
 2006-01-25 Gunnar Stigen <gunnar.stigen@axxessit.no>
 
        * zebra_rib.c: (rib_process) Application of Gunnar's earlier
index f377400f09c4e1137b11a2a7d5fd4f22af1f3b87..330bce77a14f2479ad546201bc3a4e6838bb4a8c 100644 (file)
@@ -932,14 +932,16 @@ rib_process (struct work_queue *wq, void *data)
        * - lower metric beats higher for equal distance
        * - last, hence oldest, route wins tie break.
        */
+      
+      /* Connected routes. Pick the last connected
+       * route of the set of lowest metric connected routes.
+       */
       if (rib->type == ZEBRA_ROUTE_CONNECT)
         {
-          if (select->type != ZEBRA_ROUTE_CONNECT 
+          if (select->type != ZEBRA_ROUTE_CONNECT
               || rib->metric <= select->metric)
-            {
-              select = rib;
-              continue;
-            }
+            select = rib;
+          continue;
         }
       else if (select->type == ZEBRA_ROUTE_CONNECT)
         continue;