diff --git a/overlay_mdp.c b/overlay_mdp.c index 2296b52a..5f2dfa6e 100644 --- a/overlay_mdp.c +++ b/overlay_mdp.c @@ -837,7 +837,8 @@ static int routing_table(struct subscriber *subscriber, void *context){ reply.packetTypeAndFlags=MDP_TX; reply.out.payload_length=sizeof(struct overlay_route_record); memcpy(r->sid, subscriber->sid, SID_SIZE); - r->reachable = subscriber->reachable; + r->reachable = subscriber_is_reachable(subscriber); + if (subscriber->reachable==REACHABLE_INDIRECT && subscriber->next_hop) memcpy(r->neighbour, subscriber->next_hop->sid, SID_SIZE); if (subscriber->reachable & REACHABLE_DIRECT && subscriber->interface)