diff options
Diffstat (limited to 'ffd/send.c')
-rw-r--r-- | ffd/send.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -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; } |