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: протокол внешней приёмки 12.5
|
||||
|
||||
Актуальное продолжение 2026-10-12: завершён 12.5.157 — общая регрессия: 1260 UI + 221 context, все 24 backend профиля, source TypeScript прошли. 348 исходных изображений восстановлены и сверены по SHA256, включая пользовательские изменения. Runtime ux-id156/ux-ospf153 сохранён. Следующий 158 — проверить корректность сопоставления IPv6 OSPF/BFD; внешняя матрица 12.5 остаётся открытой.
|
||||
Актуальное продолжение 2026-10-12: завершён 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 открыта.
|
||||
|
||||
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
|
||||
|
||||
@@ -696,7 +696,7 @@ flowchart LR
|
||||
|
||||
## 12.5.77 — основной блок IPsec (2026-10-09)
|
||||
|
||||
Актуальное продолжение 2026-10-12: завершён 12.5.157 — общая регрессия: 1260 UI + 221 context, все 24 backend профиля, source TypeScript прошли. 348 исходных изображений восстановлены и сверены по SHA256, включая пользовательские изменения. Runtime ux-id156/ux-ospf153 сохранён. Следующий 158 — проверить корректность сопоставления IPv6 OSPF/BFD; внешняя матрица 12.5 остаётся открытой.
|
||||
Актуальное продолжение 2026-10-12: завершён 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 открыта.
|
||||
|
||||
Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md).
|
||||
|
||||
@@ -1727,3 +1727,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