diff --git a/doc/etcp_multipath_plan.txt b/doc/etcp_multipath_plan.txt index daac234b..5b6d4fdf 100644 --- a/doc/etcp_multipath_plan.txt +++ b/doc/etcp_multipath_plan.txt @@ -72,6 +72,37 @@ 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. + +Качество мультилинка: три последовательных прогона каждого скоростного профиля, +3с прогрев +4с измерение, штатный test_clock, UDP/dummynet и настоящее шифрование. +Ниже полезная скорость min..max в Мбит/с (минимум application и fresh DATA, как в тесте): + 8+8, RTT20/20мс: 13.868..14.083 из16; 95.7..98.5% суммы одиночных скоростей. + 2+8, RTT20/20мс: 8.754.. 9.066 из10; 99.7..102.9% суммы одиночных. + 8+8, RTT20/200мс: 13.567..13.951 из16; 94.8..96.8% суммы одиночных. + 2+8, RTT20/200мс: 8.467.. 8.534 из10; 95.3..96.3% суммы одиночных. + 8+2, RTT20/200мс: 8.683.. 9.087 из10; 96.6..101.8% суммы одиночных. + 2+8+2, RTT20/80/200мс: 10.566..10.749 из12; 99.0..102.8% суммы одиночных. + 2+8, RTT20/80мс, одновременно в обе стороны: + A->B: 8.153.. 8.318 из10; + B->A: 8.080.. 8.379 из10. +Утилизация UDP-полосы агрегата с учётом протокольных байтов — 90.9..97.4% для +обычных профилей; меньшее приложение учитывает накладные расходы ETCP/шифрования. +В измеряемых исправных интервалах всех трёх прогонов DATA retries=0. +Полная доставка после drain, порядок, содержимое, баланс попыток и память проверены. +Превышение 100% от суммы solo возможно: solo/aggregate измеряются в разных окнах, +с независимыми фазами BBR; эти проценты не являются процентом физической полосы. +Недобор на длинных/двусторонних профилях сохраняется. В обратном solo-направлении +8Мбит/с RTT80мс получено лишь 4.801..4.972Мбит/с; причина в этом прогоне не диагностировалась. +Все замеры: /tmp/etcp-multilink-quality-20261023.csv/.txt. +Логи повторов: /tmp/etcp-quality-r{2,3}-{profile}.log/.csv; первый — /tmp/etcp-rto-margin-matrix.log/.csv. + OOM следующей ступени приёма исправлен аварийным перезапуском сессии. До сохранения RX DATA в recv_q отказ остаётся обычной потерей без ACK. После принятия данных OOM в packer/unpacker или TX inflight запускает новую diff --git a/doc/tasks.md b/doc/tasks.md index 20fba21d..a8db754b 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -25,6 +25,10 @@ Последний check.sh после смены RTO: 182/183, FAIL только test_bgp_route_exchange (повтор отдельно с debug PASS). test_encrypted_attachment в этом прогоне PASS; воспроизведённый ранее дефект media остаётся открытым. Логи: /tmp/etcp-rto-margin-full-check.log, /tmp/etcp-rto-margin-bgp-repeat.log. + Три прогона скоростей: 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 (отдельная задача ниже). Ранние копии до RTO, здоровье/пробы каналов и STCP backpressure пока не реализованы; пороги тестов сохранены. OOM после принятия данных исправлен аварийной сменой эпохи с сохранением физических линков. Старый поток отбрасывается без воспроизведения; после согласования владельцы получают REINIT.