diff --git a/src/utun_instance_doc.md b/src/utun_instance_doc.md index 0f1cad8e..6af9be2b 100644 --- a/src/utun_instance_doc.md +++ b/src/utun_instance_doc.md @@ -108,7 +108,8 @@ my_subnet/route_subnet, а также server-конфига в automatic реж Сюда входят идентичность, имя, db_path, TUN/NAT/proxy, control, keepalive и режим сокетов. Горячими global-полями считаются firewall, уровни debug и STUN. Списки сравниваются по содержимому; различия порядка и padding модели могут -консервативно выбрать restart. +консервативно выбрать restart. Повторяющиеся server-имена также выбирают полный путь, +поскольку parser сохраняет такие секции отдельно и поимённая замена неоднозначна. Полный путь уничтожает старое ядро, создаёт новое из уже разобранной модели и восстанавливает прежние `core_started/utun_started/chat_started/running`. @@ -120,6 +121,8 @@ my_subnet/route_subnet, а также server-конфига в automatic реж сопоставляются по имени `[server:name]` и всем параметрам: адрес/порт/IPv6 scope, UDP/TCP, интерфейс, mark/FIB, MTU, type, REALITY/SOCKS, IPv6 mode и only_local. Неизменённый endpoint сохраняет socket ID, generation и выбранный ОС порт при port=0. +IPv6 temporary/permanent разрешается при создании и меняет адрес в модели config; +повторный reload такого селектора может консервативно пересоздать endpoint. Удаление TCP закрывает listener и TCP-модель, UDP использует собственный teardown. Probe и endpoints других владельцев не удаляются только из-за отсутствия в server-конфиге.