/* Begin with mesh->self */
- mesh->self->status.visited = true;
+ mesh->self->status.visited = mesh->threadstarted;
mesh->self->nexthop = mesh->self;
mesh->self->prevedge = NULL;
mesh->self->distance = 0;
if(n->status.reachable) {
logger(mesh, MESHLINK_DEBUG, "Node %s became reachable", n->name);
+ bool first_time_reachable = !n->last_reachable;
n->last_reachable = mesh->loop.now.tv_sec;
+
+ if(first_time_reachable) {
+ node_write_config(mesh, n);
+ }
} else {
logger(mesh, MESHLINK_DEBUG, "Node %s became unreachable", n->name);
n->last_unreachable = mesh->loop.now.tv_sec;