jeka
4f168c93f6
1
3 months ago
Evgeny
754c08e9c2
etcpmon: widen sockets list by ~100px (15 chars), shift action section
3 months ago
Evgeny
71ccccc2d5
etcpmon: widen sockets list +15px, shift action section right
3 months ago
Evgeny
4862c30261
add CFG_SERVER_TYPE_LOCAL (type=local) and UNKNOWN semantics: PRIVATE/LOCAL hidden from nodeinfo, PRIVATE blocks incoming INIT, LOCAL accepts; UNKNOWN treated as PUBLIC; self-detection of PUBLIC IP on incoming INIT; filter LOCAL from NAT checks and connectivity
3 months ago
Evgeny
389ef00da6
refactor: split socket meta 'type' into config_type and nat_type — separate config (PUBLIC/NAT/PRIVATE) from detected NAT (EIM/STRICT/DIRECT) across NODEINFO, conn_mgr, route_bgp, route_node, etcpmon; win32 compat fixes (memmem, SHUT_WR, tun test_mode, tcp_proxy guards)
3 months ago
Evgeny
0edd21e335
etcpmon: lift Router to y=1181 (tight to Queues), shrink window to 1400
3 months ago
Evgeny
e0c38676e7
etcpmon: compress Queues h 300->280, lift Router y 1260->1240
3 months ago
Evgeny
fefd2bcc52
etcpmon: fix layout — restore Debug Levels y=485, lift Links to y=710, compress Queues h=300 y=900
3 months ago
Evgeny
7329fa65f1
etcp_router: add congestion counters, fix tx_seq rollback on etcp_send failure, add router metrics to etcpmon GUI
...
- etcp_router.h: add 9 per-conn counters (pkts_sent/err/rcvd, ack_sent/recv/stale, dup/oob/sign_fail)
- etcp_router.c: increment counters at 13 event points; fix tx_seq rollback on etcp_send failure (was causing phantom inflight=256 deadlock); add DEBUG_ERROR on all 5 ignored etcp_send returns; fix router_ack_do_send to update timestamps only on success
- etcpmon_protocol.h: add etcpmon_router_metrics (14 aggregated fields)
- control_server.c: iterate router_conns to fill aggregated router metrics
- etcpmon_gui: new 'Router Congestion' block with queue depths and all counters, Debug Levels shifted down, window 1300->1440
- test_etcp_router_unit: fix test_ack_timer for correct no-BGP-route behavior
3 months ago
Evgeny
c893285d71
action popup: use SW_RESTORE + SetForegroundWindow to bring hidden window to front
3 months ago
Evgeny
75028f278a
action popup: re-show window on every action result if it was hidden
3 months ago
Evgeny
7fc1b5419f
action popup: use ClearType Consolas 10pt font instead of ANSI_FIXED_FONT
3 months ago
Evgeny
dee9889423
action popup: convert \n -> \r\n for Windows EDIT control line breaks
3 months ago
Evgeny
35871891db
action nodes: send BGP node dump as text response to GUI, display in popup
...
- route_node_format_all(): format all BGP nodes to snprintf buffer
- control_server: 'nodes' action sends ETCPMON_RSP_ACTION_RESULT (0x89) with text
- etcpmon_protocol.h: new response type + struct, increase MAX_MSG_SIZE to 32K
- etcpmon_client: on_action_result callback, send_action via send_request with seq_id
- etcpmon_gui: ETCPMonActionResult popup window class with EDIT multiline,
on_action_result creates popup (same size as main) or appends text + scrolls
3 months ago
Evgeny
d8c8c1c5b0
control_server: node subscription protocol with output queue, push notifications on routing changes
3 months ago
Evgeny
3419ff3a85
debug: single source of truth for category names, GUI dynamic labels
...
- debug_get_category_name(): replace switch/case with table lookup in g_debug_categories[]
- etcpmon_gui: remove hardcoded cat_names[], create labels/radios dynamically from server CSV
4 months ago
Evgeny
6b2b0f1360
etcp: per-link acked bytes/packets counters + BBR debug logging
...
- Add acked_bytes/acked_packets to struct ETCP_LINK (init, reset, increment per ACK)
- Add DEBUG_CATEGORY_BBR (23) for BBR-specific debug output
- Add BBR input/output DEBUG_DEBUG around bbr_main call in etcp_ack_recv
- Add "bbr" category name to debug_config and etcpmon GUI
4 months ago
Evgeny
dd1b9f2680
etcp: dedup ack_q — не добавлять дубликаты ACK для одного seq
4 months ago
Evgeny
3a2b427287
etcpmon: widen debug level labels by 30% and shift radio buttons right
4 months ago
Evgeny
43baeb2306
etcpmon: fix autoradio button groups and add missing ETCPROUTE category
4 months ago
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
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
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
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
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
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
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