Document grouped control, isolated helper ports and ingress correlation

This commit is contained in:
evgeny committed 2026-10-12 20:07:49 +02:00
1 parent 179aa0ef35
commit 2ba011d3fd
2 files changed
+34 -22

No files matched your search

+6 -3
View File
@@ -1,6 +1,6 @@
/* NAT-детектор владельца endpoint. Один раунд на рабочий сокет:
* S->B observation, B->C ingress(S), S->C/C-alt observations, S->B repeat.
* Команды к C проходят через B: контроль не открывает фильтр S->C. */
/* Владелец выбирает пару из всех групп; управление A->B->C идёт через router.
* S->B observation, C->S controlled ingress, S->C/C-alt observations, S->B repeat.
* Два отдельных порта C и короткий приоритет холодного owner сохраняют независимость ingress. */
#include "nat_detection.h"
#include <stdio.h>
@@ -735,6 +735,9 @@ static void helper_remove(struct nat_probe *probe) {
static void helper_finish(struct nat_probe *probe, uint8_t reason) {
probe->message.command = NAT_RESULT; probe->message.reason = reason;
if (reason) DEBUG_WARN(DEBUG_CATEGORY_NAT, "NAT helper failed group=%016llx owner=%016llx round=%016llx step=%u reason=%s",
(unsigned long long)probe->group_id, (unsigned long long)read64(probe->message.owner),
(unsigned long long)read64(probe->message.round), probe->message.step, nat_check_reason_name(reason));
DEBUG_DEBUG(DEBUG_CATEGORY_NAT, "NAT helper done owner=%016llx round=%016llx step=%u sent=%u received=%u errors=%u reason=%s",
(unsigned long long)read64(probe->message.owner), (unsigned long long)read64(probe->message.round),
probe->message.step, probe->message.sent, probe->message.received, probe->message.errors, nat_check_reason_name(reason));