diff --git a/src/utun_instance.c b/src/utun_instance.c index 428b3437..48f034ee 100644 --- a/src/utun_instance.c +++ b/src/utun_instance.c @@ -654,6 +654,15 @@ static int mkdir_recursive(const char *path) { int utun_instance_init(struct UTUN_INSTANCE *instance) { if (!instance) return -1; + struct utun_config* config = instance->config; + if (config) { + instance->client_type = config->global.client_type; + uint16_t ka = (uint16_t)config->global.keepalive_interval; + if (ka == 0) ka = 200; + if (ka < 100) { DEBUG_ERROR(DEBUG_CATEGORY_KEEPALIVE, "keepalive_interval %u < 100ms, clamped to 100ms", (unsigned)ka); ka = 100; } + instance->keepalive_interval = ka; + } + // db_sync — распределённая таблица с репликацией db_sync_init(instance);