summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r--zebra/zebra_rib.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index f377400f..330bce77 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -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;