"use client" import type { BgpSessionRow } from "@/lib/bgp/types" import { fmtBgpNum } from "@/lib/bgp/helpers" function BgpSessionDetail({ session }: { session: BgpSessionRow }) { return
{session.state === "Unknown" &&

Состояние сессии неизвестно. Значения относятся к последнему полученному снимку.

}
{[ { label: "Router ID", value: session.routerId || "—" }, { label: "Hold / KA", value: (session.holdTime === null ? "—" : session.holdTime + "s") + " / " + (session.keepalive === null ? "—" : session.keepalive + "s") }, { label: "AFI/SAFI", value: session.afi }, { label: "Сообщения ↓/↑", value: fmtBgpNum(session.inputMessages) + " / " + fmtBgpNum(session.outputMessages) }, { label: "Префиксов получено", value: fmtBgpNum(session.prefixesRx) }, { label: "Префиксов отправлено", value: fmtBgpNum(session.prefixesTx) }, { label: "Активных маршрутов", value: session.prefixesActive === null ? "Нет данных API" : fmtBgpNum(session.prefixesActive) }, ].map(({ label, value }) =>

{label}

{value}

)}
{session.capabilities.length > 0 &&

Capabilities

{session.capabilities.map((cap, i) => {cap})}
} {session.lastError &&

{session.lastError}

}

API возвращает состояние сессии. Конфигурация connection, routing-table и фильтров для экспорта здесь не получена.

} export { BgpSessionDetail }