chore(test): подтвердить BFD и восстановление OSPF на стенде

This commit is contained in:
Denozordec committed 2026-10-09 18:00:45 +07:00
1 parent c35272273b
commit 2e1586e4d4
12 files changed
+583 -3

No files matched your search

+2
View File
@@ -16,6 +16,8 @@ Routing83: disabled BGP/OSPF selected/raw409/probe0 и собственная eB
OSPF84: real GRE Full adjacency/private routes/Ping3/3 и4 live PC/320px URL/browser checks приняты. Exact own cleanup и исходные7 коллекций×2 passed; runtime routing83 без новой сборки. [Отчёт](ux-ui/acceptance/ospf-gre-2026-10-09.json).
BFD85: Up/Full/own route/Ping,4 live UI и loss/withdrawal/recovery приняты; exact own cleanup8 коллекций×2 passed. Withdrawal5,245ms не подтверждает sub-second BFD timing; этот вопрос открыт. Runtime routing83 без новой сборки. [Отчёт](ux-ui/acceptance/ospf-bfd-loss-2026-10-09.json).
## Паспорт стенда
Перед внешним запуском зафиксировать отдельные PostgreSQL и RouterOS тестовые устройства, версии server/client PostgreSQL и RouterOS, HEAD backend/frontend, роли пользователей, число экземпляров backend/планировщика/отправителей и способ их остановки. Для Telegram использовать тестовый чат, для остальных интеграций — тестовые endpoints и учётные записи. Зафиксировать ожидаемые изменения и способ восстановления стенда.
+1 -1
View File
@@ -1,6 +1,6 @@
# План реализации UX/UI по пятичасовым окнам
Актуальное продолжение 2026-10-09: 12.5.84 принял реальную OSPFv2 Full adjacency и частные loopback routes через собственный GRE, Ping3/3 в обе стороны и4 live browser PC/320px URL-сценария. Все собственные объекты удалены, baseline7 коллекций×2 восстановлен. Runtime backend ux-routing83/frontend ux-ipsec77, без новой сборки. Следующий12.5.85 — BFD на собственной OSPF/GRE паре; этап12.5 открыт.
Актуальное продолжение 2026-10-09: 12.5.85 принял BFD Up на своей OSPF/GRE паре,4 live PC/320px UI checks и loss/withdrawal/recovery. Exact baseline8 коллекций×2 восстановлен. Наблюдение route withdrawal5,245ms не доказывает sub-second detection; timing/failover остаются открытыми. Runtime backend ux-routing83/frontend ux-ipsec77. Следующий12.5.86 — точный разбор BFD/OSPF/SPF timing и оставшиеся optimizer/recursive diagnostics по плану. Квота контрольной точки96%, работа остановлена после сохранения результата; этап12.5 открыт.
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-09. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
+18 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-09: 12.5.84 принял реальную OSPFv2 Full adjacency и частные loopback routes через собственный GRE, Ping3/3 в обе стороны и4 live browser PC/320px URL-сценария. Все собственные объекты удалены, baseline7 коллекций×2 восстановлен. Runtime backend ux-routing83/frontend ux-ipsec77, без новой сборки. Следующий12.5.85 — BFD на собственной OSPF/GRE паре; этап12.5 открыт.
Актуальное продолжение 2026-10-09: 12.5.85 принял BFD Up на своей OSPF/GRE паре,4 live PC/320px UI checks и loss/withdrawal/recovery. Exact baseline8 коллекций×2 восстановлен. Наблюдение route withdrawal5,245ms не доказывает sub-second detection; timing/failover остаются открытыми. Runtime backend ux-routing83/frontend ux-ipsec77. Следующий12.5.86 — точный разбор BFD/OSPF/SPF timing и оставшиеся optimizer/recursive diagnostics по плану. Квота контрольной точки96%, работа остановлена после сохранения результата; этап12.5 открыт.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -36,7 +36,23 @@
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–84 и ограничения ниже. Runtime backend ux-routing83/frontend ux-ipsec77. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–85 и ограничения ниже. Runtime backend ux-routing83/frontend ux-ipsec77. |
## 12.5.85 — BFD: реальные Up, потеря GRE и восстановление (2026-10-09)
**Конфигурация.** Собственная GRE/OSPFv2 пара по шаблону84, link198.18.85.1/30↔2/30, loopback198.18.185.1/32↔2/32. Свои BFD configurations только для точного GRE и private subnet, min-rx/min-tx200ms/multiplier3; OSPF GRE template use-bfd=yes. Public/default routes/interfaces и foreign BFD config не менялись, default originate/redistribution не включались.
**Native/API.** BFD state up, multihop=false, multiplier3 и packets-rx/tx растут на обоих CHR. Main catalog Up, интервалы/hold поля200/200/600ms и counters корректны; RX minimum — требуемый minimum, не измерение межпакетного времени. OSPF Full, own loopback route active, Ping3/3 в обе стороны. [Up отчёт](ux-ui/acceptance/ospf-bfd-2026-10-09.json).
**Браузер.** Настоящий backend/frontend, Headless Edge, два устройства×1280/320:4/4 без pageerror. BFD/private peer DOM и selected button/URL, learned route и reload context проверены, document fits. Для BFD table screenshot выполнена внутренняя прокрутка к peer; просмотр mobile подтвердил видимую таблицу/Up и объяснение TX fact/RX minimum. [Browser отчёт](ux-ui/acceptance/browser-ospf-bfd-2026-10-09.json), экраны ospf-real-bfd-server1/2-1280/320-2026-10-09.png.
**Loss/recovery.** Повторная собственная пара без browser wait: временно отключён только свой GRE наCHR1. НаCHR2 нет BFD Up/OSPF Full, remote private route больше не active; API согласован. Включение GRE восстановило Full и active route. Первая проверка требовала постоянную строку Down и отказалась: dynamic session удаляется после потери OSPF пользователя. Критерий исправлен на отсутствие Up + отсутствие Full + withdrawal, исчезновение записи не выдаётся за наблюдённый Down. [Loss/recovery отчёт](ux-ui/acceptance/ospf-bfd-loss-2026-10-09.json).
HTTP sampling показал withdrawal за5245ms при OSPF dead interval4000ms; beforeDeadInterval=false. Это включает RPC/SPF/convergence и не подтверждает sub-second detection или преимущество перед Hello/Dead. Причину/latency требуется разбирать отдельно по событиям и SPF timing, не обещать BFD performance по nominal600ms hold. Alternate-path failover не тестировался.
**Очистка и фиксация.** На каждом run exact returned ID и name/comment/address/interface/interfaces сверены до удаления. OSPF templates/areas/instances, own BFD config/IP/bridge/GRE удалены; затем bounded route convergence и исходные IDs8 коллекций×2 совпали. Loss run тоже cleanup passed/error=null. Credentials прежние;195.195.195.195/32/default routes сохранены. Production backend routing83/PG healthy, frontend ipsec77 Up; временных контейнеров/fixture DB записей не осталось. UI/source/dependencies не менялись, сборки/миграции не запускались. Один локальный commit без push.
Продолжение86: проверить раздельно BFD event и SPF withdrawal timing, затем профильные optimizer/recursive diagnostics, routing failover/масштаб в согласованных границах. Сохраняются Portal SSO/browser auth, multi-instance/physical disconnect/durable retry, client OS/IPv6/сложные DN/maximum throughput/полный PKI-policy restore ограничения82. Контрольная квота96%, дальнейшие mutations в этом окне не начинать. [MikroTik BFD](https://help.mikrotik.com/docs/spaces/ROS/pages/191299691/BFD) подтверждает отдельную configuration и use-bfd; acceptance основана на настоящем API и native состояниях.
## 12.5.84 — OSPF: Full adjacency, GRE и реальная таблица (2026-10-09)
+16
View File
@@ -1996,3 +1996,19 @@ flowchart LR
**Очистка.** Exact receipt ID/name/comment/address/interface проверены до удаления. Templates→areas→instances, свои IP/bridge/GRE удалены; контроль обеих сторон после удаления всей пары и bounded route convergence. Исходные ID7 коллекций×2 совпали, адрес195.195.195.195/32 и public/default routes сохранены. Credentials не менялись. Сборок/миграций/смены runtime не было; backend ux-routing83/version1.0.0-test.routing83 healthy, frontend ux-ipsec77. Один локальный commit без push, только evidence/docs.
Следующий85 — разрешение BFD только на своих GRE/private peers и Up/control-plane checks. Не приняты BFD/failover/optimizer/масштаб/IPv6 и остальные внешние границы. Механика instance/area/template подтверждена [MikroTik OSPF](https://help.mikrotik.com/docs/spaces/ROS/pages/9863229/OSPF); таблицы/Frame сохраняют общие референсы плана.
## 12.5.85 — BFD: реальные Up, потеря GRE и восстановление (2026-10-09)
**Конфигурация.** Собственная GRE/OSPFv2 пара по шаблону84, link198.18.85.1/30↔2/30, loopback198.18.185.1/32↔2/32. Свои BFD configurations только для точного GRE и private subnet, min-rx/min-tx200ms/multiplier3; OSPF GRE template use-bfd=yes. Public/default routes/interfaces и foreign BFD config не менялись, default originate/redistribution не включались.
**Native/API.** BFD state up, multihop=false, multiplier3 и packets-rx/tx растут на обоих CHR. Main catalog Up, интервалы/hold поля200/200/600ms и counters корректны; RX minimum — требуемый minimum, не измерение межпакетного времени. OSPF Full, own loopback route active, Ping3/3 в обе стороны. [Up отчёт](ux-ui/acceptance/ospf-bfd-2026-10-09.json).
**Браузер.** Настоящий backend/frontend, Headless Edge, два устройства×1280/320:4/4 без pageerror. BFD/private peer DOM и selected button/URL, learned route и reload context проверены, document fits. Для BFD table screenshot выполнена внутренняя прокрутка к peer; просмотр mobile подтвердил видимую таблицу/Up и объяснение TX fact/RX minimum. [Browser отчёт](ux-ui/acceptance/browser-ospf-bfd-2026-10-09.json), экраны ospf-real-bfd-server1/2-1280/320-2026-10-09.png.
**Loss/recovery.** Повторная собственная пара без browser wait: временно отключён только свой GRE наCHR1. НаCHR2 нет BFD Up/OSPF Full, remote private route больше не active; API согласован. Включение GRE восстановило Full и active route. Первая проверка требовала постоянную строку Down и отказалась: dynamic session удаляется после потери OSPF пользователя. Критерий исправлен на отсутствие Up + отсутствие Full + withdrawal, исчезновение записи не выдаётся за наблюдённый Down. [Loss/recovery отчёт](ux-ui/acceptance/ospf-bfd-loss-2026-10-09.json).
HTTP sampling показал withdrawal за5245ms при OSPF dead interval4000ms; beforeDeadInterval=false. Это включает RPC/SPF/convergence и не подтверждает sub-second detection или преимущество перед Hello/Dead. Причину/latency требуется разбирать отдельно по событиям и SPF timing, не обещать BFD performance по nominal600ms hold. Alternate-path failover не тестировался.
**Очистка и фиксация.** На каждом run exact returned ID и name/comment/address/interface/interfaces сверены до удаления. OSPF templates/areas/instances, own BFD config/IP/bridge/GRE удалены; затем bounded route convergence и исходные IDs8 коллекций×2 совпали. Loss run тоже cleanup passed/error=null. Credentials прежние;195.195.195.195/32/default routes сохранены. Production backend routing83/PG healthy, frontend ipsec77 Up; временных контейнеров/fixture DB записей не осталось. UI/source/dependencies не менялись, сборки/миграции не запускались. Один локальный commit без push.
Продолжение86: проверить раздельно BFD event и SPF withdrawal timing, затем профильные optimizer/recursive diagnostics, routing failover/масштаб в согласованных границах. Сохраняются Portal SSO/browser auth, multi-instance/physical disconnect/durable retry, client OS/IPv6/сложные DN/maximum throughput/полный PKI-policy restore ограничения82. Контрольная квота96%, дальнейшие mutations в этом окне не начинать. [MikroTik BFD](https://help.mikrotik.com/docs/spaces/ROS/pages/191299691/BFD) подтверждает отдельную configuration и use-bfd; acceptance основана на настоящем API и native состояниях.
+2
View File
@@ -32,6 +32,8 @@ Routing83: disabled BGP/OSPF selected/raw409/probe0 и собственная eB
OSPF84: real GRE Full adjacency/private routes/Ping3/3 и4 live PC/320px URL/browser checks приняты. Exact own cleanup и исходные7 коллекций×2 passed; runtime routing83 без новой сборки. [Отчёт](ux-ui/acceptance/ospf-gre-2026-10-09.json).
BFD85: Up/Full/own route/Ping,4 live UI и loss/withdrawal/recovery приняты; exact own cleanup8 коллекций×2 passed. Withdrawal5,245ms не подтверждает sub-second BFD timing; этот вопрос открыт. Runtime routing83 без новой сборки. [Отчёт](ux-ui/acceptance/ospf-bfd-loss-2026-10-09.json).
## Развёртывание приложения
Чистые frontend/backend build contexts подготовлены по .gitea/workflows/docker.yml из закреплённого Git HEAD;образы собраны на сервере без push. Локально docker CLI сейчас отсутствует, на сервере доступен Docker. В корневом .dockerignore исключён backend, поэтому обычный backend build из корня не повторяет CI: использовать отдельный backend context, как main workflow. Не передавать .env.local,backend/.env,ключи и локальные node_modules/.next.
@@ -0,0 +1,39 @@
{
"date": "2026-10-09",
"phase": "2 320",
"cases": [
{
"serverId": 1,
"width": 1280,
"neighborVisible": true,
"learnedRouteVisible": true,
"urlRestore": true,
"documentFits": true
},
{
"serverId": 1,
"width": 320,
"neighborVisible": true,
"learnedRouteVisible": true,
"urlRestore": true,
"documentFits": true
},
{
"serverId": 2,
"width": 1280,
"neighborVisible": true,
"learnedRouteVisible": true,
"urlRestore": true,
"documentFits": true
},
{
"serverId": 2,
"width": 320,
"neighborVisible": true,
"learnedRouteVisible": true,
"urlRestore": true,
"documentFits": true
}
],
"errors": []
}
@@ -0,0 +1,247 @@
{
"date": "2026-10-09",
"name": "mm-ospf85-1791542472111",
"observations": [
{
"serverId": 1,
"nativeNeighbor": {
".id": "*F3FDDC00",
"router-id": "198.18.185.2",
"address": "198.18.85.2",
"interface": "mm-ospf85-1791542472111",
"state": "Full",
"state-changes": "6"
},
"nativeRoute": {
".id": "*2014C000",
"dst-address": "198.18.185.2/32",
"gateway": "198.18.85.2%mm-ospf85-1791542472111",
"ospf": "true",
"active": "true",
"distance": "110"
},
"catalogNeighbors": [
{
"id": "*F3FDDC00",
"serverId": 1,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"address": "198.18.85.2",
"routerId": "198.18.185.2",
"instance": "mm-ospf85-1791542472111",
"area": "mm-ospf85-1791542472111",
"areaId": "0.0.0.0",
"interface": "mm-ospf85-1791542472111",
"state": "Full",
"uptime": "3s",
"stateChanges": 6,
"priority": null
}
],
"catalogRoutes": [
{
"id": "*2014C000",
"serverId": 1,
"serverName": "CHR",
"serverSite": "",
"destination": "198.18.185.2/32",
"type": "Unknown",
"cost": null,
"nextHop": "198.18.85.2",
"via": "mm-ospf85-1791542472111",
"area": ""
}
],
"pingReceived": 3
},
{
"serverId": 2,
"nativeNeighbor": {
".id": "*F3FDDC00",
"router-id": "198.18.185.1",
"address": "198.18.85.1",
"interface": "mm-ospf85-1791542472111",
"state": "Full",
"state-changes": "5"
},
"nativeRoute": {
".id": "*2014C000",
"dst-address": "198.18.185.1/32",
"gateway": "198.18.85.1%mm-ospf85-1791542472111",
"ospf": "true",
"active": "true",
"distance": "110"
},
"catalogNeighbors": [
{
"id": "*F3FDDC00",
"serverId": 2,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"address": "198.18.85.1",
"routerId": "198.18.185.1",
"instance": "mm-ospf85-1791542472111",
"area": "mm-ospf85-1791542472111",
"areaId": "0.0.0.0",
"interface": "mm-ospf85-1791542472111",
"state": "Full",
"uptime": "3s",
"stateChanges": 5,
"priority": null
}
],
"catalogRoutes": [
{
"id": "*2014C000",
"serverId": 2,
"serverName": "CHR",
"serverSite": "",
"destination": "198.18.185.1/32",
"type": "Unknown",
"cost": null,
"nextHop": "198.18.85.1",
"via": "mm-ospf85-1791542472111",
"area": ""
}
],
"pingReceived": 3
}
],
"cleanup": [
{
"serverId": 1,
"/routing/bfd/configuration": true,
"/routing/ospf/interface-template": true,
"/routing/ospf/area": true,
"/routing/ospf/instance": true,
"/interface/gre": true,
"/interface/bridge": true,
"/ip/address": true,
"/ip/route": true
},
{
"serverId": 2,
"/routing/bfd/configuration": true,
"/routing/ospf/interface-template": true,
"/routing/ospf/area": true,
"/routing/ospf/instance": true,
"/interface/gre": true,
"/interface/bridge": true,
"/ip/address": true,
"/ip/route": true
}
],
"currentRoutes": [
{
".id": "*20145050",
"dst-address": "198.18.85.0/30",
"gateway": "mm-ospf85-1791542472111",
"active": "true",
"distance": "0",
"routing-table": "main"
},
{
".id": "*2014C000",
"dst-address": "198.18.185.1/32",
"gateway": "198.18.85.1%mm-ospf85-1791542472111",
"active": "true",
"ospf": "true",
"distance": "110",
"routing-table": "main"
},
{
".id": "*20145060",
"dst-address": "198.18.185.2/32",
"gateway": "mm-ospf85-1791542472111-loop",
"active": "true",
"distance": "0",
"routing-table": "main"
}
],
"bfd": [
{
"serverId": 1,
"native": [
{
".id": "*1",
"state": "up",
"remote-address": "198.18.85.2%mm-ospf85-1791542472111",
"local-address": "198.18.85.1%mm-ospf85-1791542472111",
"desired-tx-interval": "200ms",
"required-min-rx": "200ms",
"remote-min-rx": "200ms",
"multiplier": "3",
"packets-rx": "20",
"packets-tx": "18",
"state-changes": "2",
"multihop": "false"
}
],
"catalog": [
{
"id": "*1",
"serverId": 1,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"localAddr": "198.18.85.1",
"remoteAddr": "198.18.85.2",
"interface": "mm-ospf85-1791542472111",
"state": "Up",
"uptime": "2s",
"multihop": false,
"multiplier": 3,
"txInterval": 200,
"rxInterval": 200,
"holdTime": 600,
"packetsRx": 17,
"packetsTx": 14,
"stateChanges": 2
}
]
},
{
"serverId": 2,
"native": [
{
".id": "*1",
"state": "up",
"remote-address": "198.18.85.1%mm-ospf85-1791542472111",
"local-address": "198.18.85.2%mm-ospf85-1791542472111",
"desired-tx-interval": "200ms",
"required-min-rx": "200ms",
"remote-min-rx": "200ms",
"multiplier": "3",
"packets-rx": "20",
"packets-tx": "25",
"state-changes": "1",
"multihop": "false"
}
],
"catalog": [
{
"id": "*1",
"serverId": 2,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"localAddr": "198.18.85.2",
"remoteAddr": "198.18.85.1",
"interface": "mm-ospf85-1791542472111",
"state": "Up",
"uptime": "3s",
"multihop": false,
"multiplier": 3,
"txInterval": 200,
"rxInterval": 200,
"holdTime": 600,
"packetsRx": 12,
"packetsTx": 17,
"stateChanges": 1
}
]
}
]
}
@@ -0,0 +1,258 @@
{
"date": "2026-10-09",
"name": "mm-ospf85-1791543377687",
"observations": [
{
"serverId": 1,
"nativeNeighbor": {
".id": "*F3FDDC00",
"router-id": "198.18.185.2",
"address": "198.18.85.2",
"interface": "mm-ospf85-1791543377687",
"state": "Full",
"state-changes": "6"
},
"nativeRoute": {
".id": "*2014C000",
"dst-address": "198.18.185.2/32",
"gateway": "198.18.85.2%mm-ospf85-1791543377687",
"ospf": "true",
"active": "true",
"distance": "110"
},
"catalogNeighbors": [
{
"id": "*F3FDDC00",
"serverId": 1,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"address": "198.18.85.2",
"routerId": "198.18.185.2",
"instance": "mm-ospf85-1791543377687",
"area": "mm-ospf85-1791543377687",
"areaId": "0.0.0.0",
"interface": "mm-ospf85-1791543377687",
"state": "Full",
"uptime": "3s",
"stateChanges": 6,
"priority": null
}
],
"catalogRoutes": [
{
"id": "*2014C000",
"serverId": 1,
"serverName": "CHR",
"serverSite": "",
"destination": "198.18.185.2/32",
"type": "Unknown",
"cost": null,
"nextHop": "198.18.85.2",
"via": "mm-ospf85-1791543377687",
"area": ""
}
],
"pingReceived": 3
},
{
"serverId": 2,
"nativeNeighbor": {
".id": "*F3FDDC00",
"router-id": "198.18.185.1",
"address": "198.18.85.1",
"interface": "mm-ospf85-1791543377687",
"state": "Full",
"state-changes": "5"
},
"nativeRoute": {
".id": "*2014C000",
"dst-address": "198.18.185.1/32",
"gateway": "198.18.85.1%mm-ospf85-1791543377687",
"ospf": "true",
"active": "true",
"distance": "110"
},
"catalogNeighbors": [
{
"id": "*F3FDDC00",
"serverId": 2,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"address": "198.18.85.1",
"routerId": "198.18.185.1",
"instance": "mm-ospf85-1791543377687",
"area": "mm-ospf85-1791543377687",
"areaId": "0.0.0.0",
"interface": "mm-ospf85-1791543377687",
"state": "Full",
"uptime": "3s",
"stateChanges": 5,
"priority": null
}
],
"catalogRoutes": [
{
"id": "*2014C000",
"serverId": 2,
"serverName": "CHR",
"serverSite": "",
"destination": "198.18.185.1/32",
"type": "Unknown",
"cost": null,
"nextHop": "198.18.85.1",
"via": "mm-ospf85-1791543377687",
"area": ""
}
],
"pingReceived": 3
}
],
"cleanup": [
{
"serverId": 1,
"/routing/bfd/configuration": true,
"/routing/ospf/interface-template": true,
"/routing/ospf/area": true,
"/routing/ospf/instance": true,
"/interface/gre": true,
"/interface/bridge": true,
"/ip/address": true,
"/ip/route": true
},
{
"serverId": 2,
"/routing/bfd/configuration": true,
"/routing/ospf/interface-template": true,
"/routing/ospf/area": true,
"/routing/ospf/instance": true,
"/interface/gre": true,
"/interface/bridge": true,
"/ip/address": true,
"/ip/route": true
}
],
"currentRoutes": [
{
".id": "*20145050",
"dst-address": "198.18.85.0/30",
"gateway": "mm-ospf85-1791543377687",
"active": "true",
"distance": "0",
"routing-table": "main"
},
{
".id": "*2014C000",
"dst-address": "198.18.185.1/32",
"gateway": "198.18.85.1%mm-ospf85-1791543377687",
"active": "true",
"ospf": "true",
"distance": "110",
"routing-table": "main"
},
{
".id": "*20145060",
"dst-address": "198.18.185.2/32",
"gateway": "mm-ospf85-1791543377687-loop",
"active": "true",
"distance": "0",
"routing-table": "main"
}
],
"bfd": [
{
"serverId": 1,
"native": [
{
".id": "*1",
"state": "up",
"remote-address": "198.18.85.2%mm-ospf85-1791543377687",
"local-address": "198.18.85.1%mm-ospf85-1791543377687",
"desired-tx-interval": "200ms",
"required-min-rx": "200ms",
"remote-min-rx": "200ms",
"multiplier": "3",
"packets-rx": "17",
"packets-tx": "16",
"state-changes": "2",
"multihop": "false"
}
],
"catalog": [
{
"id": "*1",
"serverId": 1,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"localAddr": "198.18.85.1",
"remoteAddr": "198.18.85.2",
"interface": "mm-ospf85-1791543377687",
"state": "Up",
"uptime": "2s",
"multihop": false,
"multiplier": 3,
"txInterval": 200,
"rxInterval": 200,
"holdTime": 600,
"packetsRx": 13,
"packetsTx": 12,
"stateChanges": 2
}
]
},
{
"serverId": 2,
"native": [
{
".id": "*1",
"state": "up",
"remote-address": "198.18.85.1%mm-ospf85-1791543377687",
"local-address": "198.18.85.2%mm-ospf85-1791543377687",
"desired-tx-interval": "200ms",
"required-min-rx": "200ms",
"remote-min-rx": "200ms",
"multiplier": "3",
"packets-rx": "19",
"packets-tx": "22",
"state-changes": "1",
"multihop": "false"
}
],
"catalog": [
{
"id": "*1",
"serverId": 2,
"serverName": "CHR",
"serverSite": "",
"serverCountry": "",
"localAddr": "198.18.85.2",
"remoteAddr": "198.18.85.1",
"interface": "mm-ospf85-1791543377687",
"state": "Up",
"uptime": "3s",
"multihop": false,
"multiplier": 3,
"txInterval": 200,
"rxInterval": 200,
"holdTime": 600,
"packetsRx": 12,
"packetsTx": 13,
"stateChanges": 1
}
]
}
],
"failureDetection": {
"ownedGreDisabled": true,
"peerBfdNotUp": true,
"privateRouteWithdrawn": true,
"elapsedMs": 5245,
"deadIntervalMs": 4000,
"apiNotUp": true,
"apiNeighborNotFull": true,
"beforeDeadInterval": false,
"fullAndRouteRecovered": true
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB