Guard routing loops and reconcile blocked transit against current paths

Track visited nodes outside the signed body for all routed packet types. Recheck queued transit routes without losing FIFO priority, reject unknown-group transit, and suppress BGP announcements caused only by RTT jitter.

Document routing rules and wire format. Validate graph churn, REINIT, encrypted transit, malformed paths, loop drops and queue cleanup; full suite: 106 passed, 1 skipped, plus proxy integration and sanitizer checks.
This commit is contained in:
evgeny committed 2026-09-28 15:36:47 +03:00
1 parent fa9e102271
commit e3caf15f32
11 files changed
+340 -26

No files matched your search

+2
View File
@@ -210,6 +210,8 @@ struct UTUN_INSTANCE {
// etcp_router bindings и seq-connections (per-instance service routing)
struct ETCP_ROUTER_BINDINGS router_bindings;
struct ll_queue* router_conns;
uint64_t router_loop_drops; // пакеты, вернувшиеся в уже посещённый узел
uint64_t router_path_errors; // некорректный или переполненный список пройденных узлов
struct CONN_MGR* conn_mgr; // заимствован у UTUN-группы; NULL при остановленном UTUN
struct DB_SYNC* db_sync; // Distributed DB sync (может быть NULL)