Record verified INIT recovery and BGP regression results
This commit is contained in:
1 parent
5b8aba9c8b
commit
cc01457957
2 files changed
+33
-17
No files matched your search
@@ -72,13 +72,25 @@ jitter30мс есть у обеих формул и требует отдель
|
||||
ранее подтверждённый дефект удаления активного temp по-прежнему остаётся открытым.
|
||||
Логи: /tmp/etcp-rto-margin-full-check.log, /tmp/etcp-rto-margin-bgp-repeat.log.
|
||||
|
||||
Разбор BGP-падения: подтверждён дефект ETCP при односторонней потере A->B.
|
||||
На B линки уже DOWN; его повторные INIT несут flag_up=0. На A ветка INIT
|
||||
обновляет recv_keepalive/last_recv, но не remote_keepalive: прежнее 1 удерживает
|
||||
часть входящих линков UP и маршрут A->C. Полный debug тоже воспроизводит падение;
|
||||
оно не является только эффектом параллельного runner или уровня диагностики.
|
||||
Тест получил снимки фаз/таймаута; логика ядра и пороги тестов не менялись.
|
||||
Логи: /tmp/bgp-route-snapshot-2.log, /tmp/bgp-route-detailed-2.log.
|
||||
Дефект BGP-падения при односторонней потере A->B исправлен в ETCP.
|
||||
Повторный INIT с flag_up=0 больше не сохраняет устаревший remote_keepalive=1:
|
||||
RX/remote/status учитываются до перезаписи входного буфера ответом. При DOWN
|
||||
handshake отвечает и запускает keepalive для двусторонней проверки. Живой
|
||||
альтернативный линк сохраняет UP соединения. RX защищён от close/удаления
|
||||
линка из callbacks; повторы прежнего состояния не создают новых DOWN/UP.
|
||||
INIT_RESPONSE проверяет полное тело >=64 байт без timestamp/flag_up и node_id
|
||||
до изменения состояния; прежняя проверка общей длины пропускала тело 61..63 байта.
|
||||
Новых таймеров, очередей, полей или изменений формата нет; пороги тестов сохранены.
|
||||
test_etcp_init_liveness: 130 отказов с сохранением link/conn и владения pkt,
|
||||
12 допустимых ответов, потери в обе стороны/оба порядка ключей, восстановление,
|
||||
резервный линк, close/удаление линка из INIT и KA callbacks PASS.
|
||||
Тест проходит также с обычными часами. Семь профильных тестов ASAN/UBSan
|
||||
с detect_leaks=1 PASS; дополненный сценарий удаления линка повторён отдельно.
|
||||
BGP route exchange: 100/100 PASS (A<B:48, A>B:52; последние пять с debug).
|
||||
Основной регрессионный набор: 184/184 PASS. Логи:
|
||||
/tmp/etcp-init-boundary-before.log, /tmp/etcp-init-final-{liveness,realtime,asan-liveness}.log,
|
||||
/tmp/etcp-init-fix-asan-test_*.log, /tmp/etcp-init-bgp-stable-*.log,
|
||||
/tmp/etcp-init-fix-full-check.log. Скоростные ограничения и ранние копии остаются отдельной задачей.
|
||||
|
||||
Качество мультилинка: три последовательных прогона каждого скоростного профиля,
|
||||
3с прогрев +4с измерение, штатный test_clock, UDP/dummynet и настоящее шифрование.
|
||||
|
||||
+14
-10
@@ -28,7 +28,7 @@
|
||||
Три прогона скоростей: 8+8 RTT20/20 — 13.868..14.083Мбит/с; RTT20/200 — 13.567..13.951;
|
||||
2+8+2 RTT20/80/200 — 10.566..10.749 из12; 2+8 одновременно в обе стороны — 8.080..8.379 из10 на направление.
|
||||
DATA-повторов в измеряемых исправных интервалах нет. Подробные результаты: /tmp/etcp-multilink-quality-20261023.csv/.txt.
|
||||
BGP-падение локализовано до обработки INIT/remote_keepalive в ETCP (отдельная задача ниже).
|
||||
BGP-падение из-за INIT/remote_keepalive исправлено; отдельная задача ниже содержит итог проверки.
|
||||
Ранние копии до RTO, здоровье/пробы каналов и STCP backpressure пока не реализованы; пороги тестов сохранены.
|
||||
OOM после принятия данных исправлен аварийной сменой эпохи с сохранением физических линков.
|
||||
Старый поток отбрасывается без воспроизведения; после согласования владельцы получают REINIT.
|
||||
@@ -52,15 +52,19 @@
|
||||
Лог: /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: входящий INIT сохранял устаревший признак обратной достижимости** — исправлено 23.10.2026:
|
||||
Принятый INIT обновляет RX и remote_keepalive до переиспользования буфера для ответа; flag_up=0 снимает ложный UP.
|
||||
INIT/INIT_RESPONSE и обычный RX публикуют переходы живости с защитой от close/удаления линка из callback.
|
||||
При DOWN handshake продолжает ответ/keepalive; исправный второй линк сохраняет UP соединения.
|
||||
INIT_RESPONSE проверяет длину тела (>=64 байт без timestamp/flag_up) и node_id до изменения состояния.
|
||||
Раньше проверка общей длины принимала усечённое тело 61..63 байта. Новых таймеров/очередей/полей нет.
|
||||
test_etcp_init_liveness: 130 отказов без изменения link/conn и передачи владения pkt, 12 допустимых ответов;
|
||||
оба направления односторонней потери, оба порядка ключей, восстановление без смены эпохи, резервный линк,
|
||||
close и удаление link из INIT/keepalive callback PASS, также с обычными часами.
|
||||
Семь профильных тестов ASAN/UBSan с detect_leaks=1 PASS; дополненный тест удаления link повторён отдельно.
|
||||
BGP route exchange: 100/100 PASS (A<B:48, A>B:52; последние пять с debug). Основной набор: 184/184 PASS.
|
||||
Логи: /tmp/etcp-init-boundary-before.log, /tmp/etcp-init-final-{liveness,realtime,asan-liveness}.log,
|
||||
/tmp/etcp-init-fix-asan-test_*.log, /tmp/etcp-init-bgp-stable-*.log, /tmp/etcp-init-fix-full-check.log.
|
||||
|
||||
[+] **ETCP/BBR: бюджет очереди в установившемся режиме** — реализовано 23.10.2026 по выбору пользователя:
|
||||
В PROBE_BW окно ограничено max(4*MSS, BDP + BW*20мс), с насыщением арифметики и учётом ACK/PROBE_UP резервов
|
||||
|
||||
Reference in new issue
Block a user