"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 }) =>
)}
{session.capabilities.length > 0 &&
Capabilities
{session.capabilities.map((cap, i) => {cap})}
}
{session.lastError &&
{session.lastError}
}
API возвращает состояние сессии. Конфигурация connection, routing-table и фильтров для экспорта здесь не получена.
}
export { BgpSessionDetail }