From 7601e582848ef68c565f3d88ab1265e4c86d5ac0 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 6 Oct 2012 04:13:01 +0200 Subject: Fix feasibility distance maintenance --- ffd/send.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'ffd/send.c') diff --git a/ffd/send.c b/ffd/send.c index 142d07a..ac5b250 100644 --- a/ffd/send.c +++ b/ffd/send.c @@ -164,13 +164,11 @@ static bool add_update(ffd_packet_t *packet, size_t max_len, ffd_node_id_t *node return false; } - ffd_metric_seqno_t metric = ffd_announce_get_metric(announce); - update->flags = 0; update->reserved = 0; update->interval = htons(FFD_UPDATE_INTERVAL); - update->seqno = htons(metric.seqno); - update->metric = htons(metric.metric); + update->seqno = htons(announce->metric.seqno); + update->metric = htons(announce->metric.metric); update->type = htons(announce->type); update->key = htons(announce->key); @@ -182,7 +180,8 @@ static bool add_update(ffd_packet_t *packet, size_t max_len, ffd_node_id_t *node } } - announce->feasibility_distance = metric; + if (ffd_is_metric_better(announce->metric, announce->feasibility_distance)) + announce->feasibility_distance = announce->metric; return true; } -- cgit v1.2.3