Evgeny
226a5744b5
etcpmon: Debug Levels block moved to right column, global radio labels removed, columns narrowed
4 months ago
Evgeny
1f4fe37fe5
proxy: rename + simplify + backpressure
...
- tcp_proxy/remote_proxy → tcp_proxy_client/tcp_proxy_server
- Все proxy файлы перенесены в src/proxy/
- Конфиг: [tcp_proxy]→[tcp_proxy_client], [remote_proxy]→[tcp_proxy_server]
- Убран subcmd CONNECTED (0x02) — клиент шлёт DATA сразу после CONNECT
- Backpressure: etcp_router_waiter_register/cancel через ll_queue threshold waiter
- Клиент: recv_cb send fail → tx_buf+waiter, не tcp_recved() (окно lwIP=0)
- Сервер: read_cb send fail → pause_buf+waiter, пауза read_id
- CLOSE/ERROR отправляется только после drain всех очередей
- Fail: conn не найден/closed → send ERROR вместо CLOSE/silent drop
- PROTOCOL.md: полная архитектура с диаграммами состояний и потоков
4 months ago
Evgeny
f43631a532
etcpmon: исправить синтаксис — orphaned код перенесён внутрь функции etcpmon_client_add_to_history
4 months ago
Evgeny
4f0baa37db
bbr: исправить передачу потерь в BBR + пол для cwnd на уровне BBR_CWND_MIN_TARGET*mss
...
- etcp.c: rs->lost из link->bbr_loss_since_ack (был хардкод 0), вызов bbr_note_loss при ретрансмите
- etcp_connections.h: поле bbr_loss_since_ack для per-link учёта потерь в байтах
- etcp_bbr.c: везде где BBR_CWND_MIN_TARGET — умножить на mss (юнит-мизматч пакеты/байты)
- bbr_quantization_budget, bbr_set_cwnd, bbr_bound_cwnd_for_inflight_model, bbr_probe_rtt_cwnd
- bbr_init_lower_bounds: инициализация inflight_hi из cwnd (был ~0U навсегда)
- control_server.c + etcpmon: экспорт BBR-метрик (bw_hi/lo, inflight_hi/lo, режим, потери)
- tests/bbr_integration: интеграционный тест BBR (15с, 50ms/5%loss/1Mbit) с таблицей метрик
- устранён death spiral BBR при высоких потерях: cwnd теперь не падает ниже 4*mss
4 months ago
Evgeny
5e834b519f
mass_update: log all sessions to files, terminal output only for errors
5 months ago
Evgeny
bbebc74bdb
fix etcpmon keyboard: move Tab/Enter/Esc from WndProc to message loop pre-translate
5 months ago
Evgeny
973c00e544
add etcpmon keyboard navigation: Tab between Server/Port, Enter=Connect, Esc=Disconnect
5 months ago
Evgeny
fb76b4252f
fix etcpmon: stray brace in nat_type_to_string, add pipefail to build scripts
5 months ago
Evgeny
456d274e12
fix mass_update: remove git remote http->https rewrite (port 443 blocked on remotes)
5 months ago
Evgeny
c391d497b4
fix mass_update: skip tests build, fix git http redirect, speed up deploy
5 months ago
Evgeny
4e040b2891
fix mass_update: add pipefail so make errors stop the update script
5 months ago
Evgeny
9c509d4c86
add connectivity probing + NAT type rename OPEN->EIM, RESTRICTED->STRICT
...
- Rename NAT types: OPEN->EIM, RESTRICTED->STRICT across all code
- Add flat addr list {type,ip,port,socket_id} to NODEINFO (NODEINFO_IPV4_ADDR)
- Add NODEINFO_IPV4_SOCKET_META for per-socket metadata
- Add NODE_CONNECTIVITY with per-type probe status and min_rtt
- New module: route_connectivity.c/h (probing engine with socket fallback)
- STRICT verified addresses excluded from NODEINFO broadcast
- Trigger probing on new/updated BGP node, cancel on remove/withdraw
- Update NAT type names in etcpmon GUI
5 months ago
Evgeny
bd749c1484
GUI: Widen sockets list 1.5x, shrink action field, move Send below
5 months ago
Evgeny
0c748501c8
GUI: Add NAT address to socket display in etcpmon
5 months ago
Charlie Root
d3d95c3c19
1
5 months ago
Evgeny
57dba26e7c
GUI: поле действия и кнопка Send для отправки команд в utun
...
- Добавлен ETCPMON_CMD_ACTION в протокол (32 байта текст)
- В GUI добавлено поле ввода и кнопка Send правее блока Sockets
- Добавлен etcpmon_client_send_action для отправки команд
- Обработка action 'nat' в control_server: запускает NAT check для всех линков
- Сделана route_bgp_start_link_nat_check не-static
- Добавлена route_bgp_request_nat_check_all
- Исправлен баг route_ping.c (request_id -> nonce)
- Исправлена линковка tests/Makefile.am
5 months ago
Evgeny
b0faf7d372
mass_update: по умолчанию запускает fast без аргументов
5 months ago
Evgeny
2e3eb0976a
Add RX/TX dup counters to ETCP monitor GUI
...
- Add IDC_EDIT_ETCP_RX_DUP and IDC_EDIT_ETCP_TX_DUP controls
- Insert RX Dup / TX Dup fields after Retrans in ETCP Metrics group
- Update tooltips, metrics display and clear functions
5 months ago
Evgeny
385aa066b2
Add duplicate packet counter to ACK frames
...
- Add rx_dup_count (local) and tx_dup_count (remote via ACK) to ETCP_CONN
- Extend ACK section format: add 16-bit rx_dup_count after last_delivered_id
- Reconstruct 32-bit tx_dup_count from received 16-bit diff
- Update etcpmon protocol and control_server to expose counters
- Update packet dumper for new ACK format
5 months ago
Evgeny
9be03ece76
Update: mass_update.py - config in script dir, per-server SSH keys
5 months ago
Evgeny
7a46817799
Fix: read PID from pidfile instead of using shell $!
5 months ago
Evgeny
c72d2afbef
1
5 months ago
Evgeny
a44d9c10a1
1
5 months ago
Evgeny
1c501f9690
Add remote update scripts for mass deployment
...
- utun_update.sh: Shell script for updating single instance
* fast mode: git pull + make clean + make
* full mode: complete rebuild with autotools
* Auto-detects project root from script location
* Handles PID-based process stop/start
* Supports Linux and BSD (nproc/sysctl)
* Returns proper exit codes (0-4)
- mass_update.py: Python script for parallel SSH updates
* Parallel execution via ThreadPoolExecutor
* Configurable via JSON (~/.utun_servers.json)
* Supports custom port/user per server
* Timeout and error handling
* Summary output per server
Tools for remote mass deployment of uTun updates via SSH.
5 months ago
Evgeny
cbde38d52a
Remove accidentally committed binaries and temp files
5 months ago
Evgeny
77fd7c19de
WIP: debug byte order diagnostics
5 months ago
Evgeny
16a2aa959d
etcpmon: translate tooltips to English
5 months ago
Evgeny
6127409c04
etcpmon: add tooltips for all metrics fields with variable names and descriptions
5 months ago
Evgeny
cee9a04348
GUI: add active timeouts and busy memory blocks counters
...
- Add timeout_heap_get_size() to get active timer count
- Add global counters in memory_pool: g_total_free and g_total_allocated
- Simplify busy memory calculation to single formula:
busy = memory_pool_get_total_allocated() - memory_pool_get_total_free_blocks()
- Add new IDC_EDIT_ACTIVE_TIMEOUTS and IDC_EDIT_BUSY_MEMORY to GUI
5 months ago
jeka
b2ed0317a6
ping refactor
6 months ago
jeka
c0c366bd83
mon fix
6 months ago
Evgeny
27874ffa22
1
6 months ago
Evgeny
c93b84529e
1
6 months ago
Evgeny
ad35bbab15
add sockets to gui
6 months ago
Evgeny
62a059abdb
add sockets to gui
6 months ago
jeka
cec2ffe2eb
1
6 months ago
jeka
04d3a0e52e
add inflight to gui
6 months ago
jeka
7f0f28fd58
1
6 months ago
Evgeny
2d9fbd9911
1
6 months ago
Evgeny
14a9fffa87
1
6 months ago
Evgeny
4903ac9e64
spam
6 months ago
jeka
26cfa3209a
add per-link inflight
6 months ago
jeka
ca1e522a38
1
7 months ago
jeka
45e59994da
1
7 months ago
jeka
97fa002de3
1
7 months ago
jeka
92a797ab66
monitor to new protocol
7 months ago
jeka
8880db0ca2
1
7 months ago
jeka
d77e725cbe
1
7 months ago
jeka
220d23daf7
1
7 months ago
jeka
0e9a91729c
1
7 months ago