Добавлен group_id в etcp_router и topo_group, удалён msg_transport

- etcp_router: SVC_ROUTE_HDR (+8B), ETCP_ROUTER_CONN/TRANSIT_QUEUE хеши расширены под group_id
- Все caller'ы (proxy, routing, conn_mgr, nat, chatgui, tests) обновлены
- topo_group: глобальный реестр TOPO_NODE по node_id, ref_count=0 при создании
- BGP-обмен активируется для всех групп (а не только дефолтной)
- Протокол: group_id добавлен в WITHDRAW/TABLE_REQ/TABLE_COMPLETE/ERR_GROUP_MISMATCH
- Per-connection коллбэки заменены на instance-level conn_status
- msg_transport полностью удалён из проекта
57/57 тестов
This commit is contained in:
Evgeny committed 2026-07-22 15:51:03 +03:00
1 parent 5265783164
commit 852ce401e7
37 files changed
+375 -1125

No files matched your search

+4 -6
View File
@@ -41,7 +41,7 @@ uTun — защищённый VPN-туннель с собственным на
┌─────────────────────────────────────────────────────────────────┐
│ Layer 4: Приложения │
│ routing (IP-форвардинг), proxy (SOCKS5/TCP/UDP/ICMP), chat, │
│ db_sync (P2P БД), msg_transport (IPC), NTP, NAT │
│ db_sync (P2P БД), NTP, NAT │
├─────────────────────────────────────────────────────────────────┤
│ Layer 3: etcp_router — сервисная маршрутизация │
│ seq-нумерация, дедупликация, реордеринг, ретрансмиссия, │
@@ -822,7 +822,7 @@ ETCP туннель от клиента
uasync_mainloop()
├── Сокеты:
│ ├── UDP listen (все [server] сокеты)
│ ├── TCP listen (control_server, msg_transport, STCP)
│ ├── TCP listen (control_server, STCP)
│ └── TUN fd (read/write через uasync callback)
├── Таймеры:
│ ├── ETCP: retrans, ack_response, keepalive
@@ -907,8 +907,7 @@ utun_instance_init(instance):
3. nat_transport_init(instance) // NAT транспорт
4. init_connections(instance) // ETCP соединения из [client]
5. control_server_init() // мониторинг
6. msg_transport_init() // IPC транспорт
7. running = 1
6. running = 1
8. ntp_time_init() // NTP синхронизация
9. ntp_node_time_init() // межузловое время
```
@@ -919,8 +918,7 @@ utun_instance_init(instance):
utun_instance_destroy(instance):
1. running = 0
2. Отмена NTP таймеров
3. msg_transport_destroy() // сначала IPC
4. control_server_destroy() // потом мониторинг
3. control_server_destroy() // потом мониторинг
5. Закрытие всех UDP сокетов // etcp_socket_remove() для каждого
6. db_sync_destroy()
7. etcp_connection_close() для всех соединений в connections