Identify one-way INIT liveness defect behind intermittent BGP failure
This commit is contained in:
1 parent
d061b1b65c
commit
f4ddd484e9
2 files changed
+13
-2
No files matched your search
@@ -48,6 +48,16 @@
|
||||
Лог: /tmp/utun_encrypted_attachment_HwkBUM/test.log (удаление → отказ записи),
|
||||
/tmp/etcp-oom-reinit-full-check.log; профильные OOM/ETCP sanitizer-тесты проходят.
|
||||
|
||||
[ ] **ETCP: входящий INIT сохраняет устаревший признак обратной достижимости** — локализовано 23.10.2026:
|
||||
test_bgp_route_exchange падает при одностороннем разрыве A->B и наличии встречных client-линков B->A.
|
||||
На B линки DOWN, повтор INIT несёт flag_up=0; на A обработчик запроса обновляет recv_keepalive/last_recv,
|
||||
но не применяет flag_up к remote_keepalive. Старое remote_keepalive=1 удерживает UP и маршрут A->C.
|
||||
Ошибка повторяется отдельно: 1/5 обычных запусков, затем 1/3 со снимками и 1/3 с полным debug.
|
||||
Нужен единый переход состояния живости для принятого INIT и обычных пакетов с корректными DOWN/UP callbacks;
|
||||
проверить односторонний разрыв в обе стороны, обе роли collision и восстановление без ложного UP.
|
||||
Диагностика добавлена в тест, логика ядра пока не менялась. Логи: /tmp/bgp-route-snapshot-2.log,
|
||||
/tmp/bgp-route-detailed-2.log (повторы INIT с flag_up=0 при сохранённом remote_keepalive=1).
|
||||
|
||||
[+] **ETCP/BBR: бюджет очереди в установившемся режиме** — реализовано 23.10.2026 по выбору пользователя:
|
||||
В PROBE_BW окно ограничено max(4*MSS, BDP + BW*20мс), с насыщением арифметики и учётом ACK/PROBE_UP резервов
|
||||
внутри общего предела. Ограничение применяется также на fast path и до callback. 0 отключает политику.
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
/**
|
||||
* @file test_bgp_route_exchange.c
|
||||
* @brief Тест цепочной BGP-маршрутизации A↔B↔C с эмуляцией потерь через dummynet_filter
|
||||
* @brief Тест цепочной BGP-маршрутизации A↔B↔C с управляемыми потерями через send_hook
|
||||
*
|
||||
* Топология: A (2 линка) ↔ B (2 линка к A, 1 к C) ↔ C (1 линк)
|
||||
* Потери имитируются через dummynet_filter, встроенный в send-путь линка.
|
||||
* test_connection_loss отбрасывает исходящие пакеты выбранной стороны, включая новые линки пары.
|
||||
* Обратное направление остаётся доступным: проверяется также распространение признака неработоспособности.
|
||||
* A и C принимают только ключ B: recovery не может обойти разрыв цепочки.
|
||||
* Автоматическое построение обходного пути проверяет test_topo_recovery.
|
||||
*
|
||||
|
||||
Reference in new issue
Block a user