From 46093914a5f95f50c9aef088b7172d6774d204cb Mon Sep 17 00:00:00 2001
From: Oryon <pierre@darou.fr>
Date: Tue, 11 Mar 2014 16:03:58 +0100
Subject: [PATCH 2/2] Metric should be more important than distance at lookup

---
 src/mrib.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

--- a/src/mrib.cpp
+++ b/src/mrib.cpp
@@ -327,16 +327,16 @@ mrib_def::mrib_node *mrib_def::prefix_lo
 void mrib_def::insert_prefix_in_node(mrib_node *n, prefix *p) {
 	prefix *curr = n->head, *prev = 0;
 
-	/* first check the proper place based on distance */
-	while (curr && curr->distance < p->distance) {
+	/* first check the proper place based on metric */
+	while (curr && curr->metric < p->metric) {
 		prev = curr;
 		curr = curr->next;
 	}
 
-	if (prev && prev->distance == p->distance) {
-		/* if distance matches, take metric into place */
+	if (prev && prev->metric == p->metric) {
+		/* if metric matches, take distance into place */
 		curr = prev;
-		while (curr && curr->metric <= p->metric) {
+		while (curr && curr->distance <= p->distance) {
 			prev = curr;
 			curr = curr->next;
 		}
