X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fmeshlink.c;h=d619f544a7971c364a8e774f7a7fbb27561425cd;hp=1b33e88d47d3e3a9801c907f44be42d1a617f306;hb=cec602155ba9e3e27a7436e360c8934a1599423b;hpb=88bd3d78991c721062506be7975f7564be4d82da diff --git a/src/meshlink.c b/src/meshlink.c index 1b33e88d..d619f544 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -2812,6 +2812,10 @@ void meshlink_whitelist(meshlink_handle_t *mesh, meshlink_node_t *node) { node_write_config(mesh, n); config_sync(mesh, "current"); + if(n->status.reachable) { + update_node_status(mesh, n); + } + pthread_mutex_unlock(&(mesh->mesh_mutex)); return; } @@ -3379,6 +3383,16 @@ void update_node_status(meshlink_handle_t *mesh, node_t *n) { if(mesh->node_status_cb) { mesh->node_status_cb(mesh, (meshlink_node_t *)n, n->status.reachable && !n->status.blacklisted); } + + if(mesh->node_pmtu_cb) { + mesh->node_pmtu_cb(mesh, (meshlink_node_t *)n, n->minmtu); + } +} + +void update_node_pmtu(meshlink_handle_t *mesh, node_t *n) { + if(mesh->node_pmtu_cb && !n->status.blacklisted) { + mesh->node_pmtu_cb(mesh, (meshlink_node_t *)n, n->minmtu); + } } void handle_duplicate_node(meshlink_handle_t *mesh, node_t *n) {