fix(ospf): сопоставлять IPv6 адреса и исключать неоднозначный BFD
This commit is contained in:
1 parent
1b63e3ec43
commit
e1617f1472
11 files changed
+201
-19
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# Тестовый сервер UX/UI — 2026-10-10
|
||||
|
||||
Сервер161.104.46.222: завершён 12.5.157 — общая регрессия: 1260 UI + 221 context, все 24 backend профиля, source TypeScript прошли. 348 исходных изображений восстановлены и сверены по SHA256, включая пользовательские изменения. Runtime ux-id156/ux-ospf153 сохранён. Следующий 158 — проверить корректность сопоставления IPv6 OSPF/BFD; внешняя матрица 12.5 остаётся открытой.
|
||||
Сервер161.104.46.222: завершён 12.5.158 — OSPF/BFD сопоставляет эквивалентные IPv6 адреса, отвергает чужую zone/invalid IP и неоднозначные stale duplicate sessions. 5 unit/11 E2E/types/ESLint/frontend build/2 real deployed UI прошли; frontend ux-bfd158, backend ux-id156. Общая регрессия157 принята до этой delta. Следующий159 — native OSPFv3/BFDv6 на собственной GRE паре с cleanup; внешняя матрица12.5 открыта.
|
||||
|
||||
| Параметр | Проверенное состояние |
|
||||
| --- | --- |
|
||||
@@ -14,7 +14,7 @@
|
||||
| PostgreSQL | postgres:18-alpine,18.6;mmapp-test-postgres healthy;SELECT version() passed |
|
||||
| Данные | Отдельный Compose project mmapp-test,том mmapp-test_mmapp-pgdata и каталог ./data |
|
||||
| Доступ | PostgreSQL не публикуется;frontend3000/backend8000 привязаны к127.0.0.1 после запуска |
|
||||
| Образы приложения | mmapp-test/backend:ux-id156 и mmapp-test/frontend:ux-ospf153; запущены |
|
||||
| Образы приложения | mmapp-test/backend:ux-id156 и mmapp-test/frontend:ux-bfd158; запущены |
|
||||
|
||||
Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example).
|
||||
|
||||
@@ -1458,3 +1458,19 @@ Permanent server-id.test.ts проверяет25 valid/invalid forms без SQL.
|
||||
Source TypeScript прошёл после остановки тестового Next dev. Все348 tracked изображения восстановлены из сохранённых перед прогоном текущих bytes, каждое сверено по SHA256; сохранены в том числе8 пользовательских GRE/VXLAN изменений. Сгенерированные тестами изображения не заменяют согласованные референсы. Production source не менялся, образы ux-id156/ux-ospf153 повторно не собирались и не развёртывались. RouterOS конфигурация и пароли этим блоком не изменялись.
|
||||
|
||||
Протокол: [регрессия157](ux-ui/acceptance/regression-157-2026-10-12.json). Это локальная контролируемая регрессия интерфейса/контекста/backend, а не повтор native сценариев или приёмка внешних сервисов, клиентских ОС, масштаба и физических WAN. Исторический timeout orchestration154 остаётся в исходном протоколе. Этап12.5 открыт; следующий158 — проверка эквивалентных IPv6 адресов в сопоставлении OSPF/BFD.
|
||||
|
||||
## 12.5.158 — корректное сопоставление IPv6 OSPF и BFD (2026-10-12)
|
||||
|
||||
Строковое сравнение не связывало эквивалентные IPv6 адреса: например FE80:0000:0000:0000:0000:0000:0000:0002 и fe80::2. Теперь IPv6 приводится к канонической записи, optional zone должна совпадать с наблюдаемым интерфейсом. Hostnames, malformed IPv4/IPv6, пустая/чужая/повторная zone не создают совпадение. Stale duplicate с тем же точным device/interface/peer не исключается до проверки уникальности: наличие такой неоднозначности подавляет предупреждение. Single stale session также не доказывает конфликт. Это только корреляция наблюдений; состояния RouterOS и правила сети не менялись.
|
||||
|
||||
5 unit tests,11 E2E, source TypeScript и ESLint прошли. E2E включает IPv4/IPv6 на1440/320, предупреждение/переход к BFD с сохранением устройства и очисткой поиска, recovery/foreign/not-used/unknown; остальные7 проверяют состояния данных OSPF. Полную1481 UI/context регрессию157 повторно не запускали: она принята на предыдущем source, эта delta проверена отдельно.
|
||||
|
||||
Переданный production source SHA256 совпал локально/на сервере. Frontend production build exit0; ux-bfd158 развёрнут с сохранённой private rollback env, backend ux-id156/PG сохранены. Немедленный curl после старта получил000 до готовности frontend; последующие две browser проверки1440/320 получили200, реальные catalog/server API200, page errors/overflow0 и отсутствие ложного предупреждения после очистки native fixtures. Позитивная native BFDv6 сессия этим блоком не заявляется. Пароли и RouterOS конфигурация не менялись; прежний закрытый SSH-туннель localhost3000/8000 восстановлен.
|
||||
|
||||
Протоколы: [профильные проверки и сборка](ux-ui/acceptance/ospf-bfd-correlation-2026-10-12.json), [реальный развёрнутый интерфейс](ux-ui/acceptance/ospf-bfd-ipv6-smoke-2026-10-12.json). Установленные ReUI/Frame/base-nova переиспользованы без изменения primitives.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Data Grid Filtering2](https://reui.io/preview/base/data-grid-filtering-2?ref=mcp) | Устройство → точный IPv6 peer/интерфейс → достоверное предупреждение → соответствующая BFD сессия |
|
||||
|
||||
Следующий159 — native OSPFv3/BFDv6 на собственной GRE паре, short loss/recovery и независимая сверка cleanup. Официальный [BFD manual](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/) описывает IPv4/IPv6 и use-bfd, но текущая страница версии7.26 не заменяет эксперимент на стенде7.24.5. Sustained route gate, scale/IPv6 public WAN/outer и физическая резервность остаются непроверенными;12.5 открыт.
|
||||
Reference in new issue
Block a user