From 49cc329cf9ac3762f8da711dac86b67bb05f9d46 Mon Sep 17 00:00:00 2001
From: thorkill <thkr@hannover.ccc.de>
Date: Thu, 9 Jul 2015 17:33:17 +0200
Subject: [PATCH] Reverted changes on EDGE_ADD update if weight differs

---
 src/protocol_edge.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/src/protocol_edge.c b/src/protocol_edge.c
index 1e7eb014..08eabb18 100644
--- a/src/protocol_edge.c
+++ b/src/protocol_edge.c
@@ -135,17 +135,7 @@ bool add_edge_h(connection_t *c, const char *request) {
 	e = lookup_edge(from, to);
 
 	if(e) {
-		/* Update weight first */
-		if(e->weight != weight){
-			logger(DEBUG_PROTOCOL, LOG_WARNING, "Got %s from %s (%s) with new weight %d -> %d",
-						 "ADD_EDGE", c->name, c->hostname, e->weight, weight);
-			edge_update_weigth(e, weight);
-			if (e->reverse)
-				edge_update_weigth(e->reverse, weight);
-			graph();
-		}
-
-		if(e->options != options || sockaddrcmp(&e->address, &address)) {
+		if(e->weight != weight || e->options != options || sockaddrcmp(&e->address, &address)) {
 			if(from == myself) {
 				logger(DEBUG_PROTOCOL, LOG_WARNING, "Got %s from %s (%s) for ourself which does not match existing entry",
 						   "ADD_EDGE", c->name, c->hostname);
@@ -155,6 +145,14 @@ bool add_edge_h(connection_t *c, const char *request) {
 			} else {
 				logger(DEBUG_PROTOCOL, LOG_WARNING, "Got %s from %s (%s) which does not match existing entry",
 						   "ADD_EDGE", c->name, c->hostname);
+				/* Update weight first */
+				if(e->weight != weight){
+					logger(DEBUG_PROTOCOL, LOG_WARNING, "Got %s from %s (%s) with new weight %d -> %d",
+								 "ADD_EDGE", c->name, c->hostname, e->weight, weight);
+					//edge_update_weigth(e, weight);
+					//if (e->reverse)
+					//	edge_update_weigth(e->reverse, weight);
+				}
 				edge_del(e);
 				graph();
 			}