fix(api): сохранять неизвестные показатели BFD и OSPF
This commit is contained in:
1 parent
47dcd89b3c
commit
e3791f3496
13 files changed
+136
-44
No files matched your search
+15
-20
@@ -67,7 +67,7 @@ interface OspfNeighbor {
|
||||
state: OspfNeighborState
|
||||
cost: number | null
|
||||
uptime: string
|
||||
priority: number
|
||||
priority: number | null
|
||||
dataUnknown?: boolean
|
||||
}
|
||||
|
||||
@@ -91,16 +91,16 @@ interface BfdSession {
|
||||
localAddr: string
|
||||
remoteAddr: string
|
||||
state: BfdState
|
||||
interval: number // txInterval ms
|
||||
multiplier: number
|
||||
interval: number | null // txInterval ms
|
||||
multiplier: number | null
|
||||
iface: string
|
||||
uptime: string | null
|
||||
multihop: boolean
|
||||
rxInterval: number // ms
|
||||
holdTime: number // ms
|
||||
packetsRx: number
|
||||
packetsTx: number
|
||||
stateChanges: number
|
||||
rxInterval: number | null // ms
|
||||
holdTime: number | null // ms
|
||||
packetsRx: number | null
|
||||
packetsTx: number | null
|
||||
stateChanges: number | null
|
||||
dataUnknown?: boolean
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ interface BfdSession {
|
||||
interface BackendNeighbor {
|
||||
id: string; serverId: number; serverName: string; serverSite: string; serverCountry: string
|
||||
address: string; routerId: string; instance: string; area: string; areaId: string
|
||||
interface: string; state: string; uptime: string | null; stateChanges: number; priority: number
|
||||
interface: string; state: string; uptime: string | null; stateChanges: number | null; priority: number | null
|
||||
}
|
||||
|
||||
interface BackendInterface {
|
||||
@@ -123,8 +123,8 @@ interface BackendInterface {
|
||||
interface BackendBfdSession {
|
||||
id: string; serverId: number; serverName: string; serverSite: string; serverCountry: string
|
||||
localAddr: string; remoteAddr: string; interface: string; state: string; uptime: string | null
|
||||
multihop: boolean; multiplier: number; txInterval: number; rxInterval: number; holdTime: number
|
||||
packetsRx: number; packetsTx: number; stateChanges: number
|
||||
multihop: boolean; multiplier: number | null; txInterval: number | null; rxInterval: number | null; holdTime: number | null
|
||||
packetsRx: number | null; packetsTx: number | null; stateChanges: number | null
|
||||
}
|
||||
|
||||
interface BackendOspfRoute {
|
||||
@@ -1056,13 +1056,7 @@ function BfdTab({ sessions, dataIncomplete }: { sessions: BfdSession[]; dataInco
|
||||
const upCount = sessions.filter(b => b.state === "Up").length
|
||||
const downCount = sessions.filter(b => b.state === "Down" || b.state === "AdminDown").length
|
||||
const initCount = sessions.filter(b => b.state === "Init").length
|
||||
const totalPkts = sessions.reduce((s, b) => s + b.packetsRx, 0)
|
||||
|
||||
function fmtMs(ms: number) {
|
||||
if (!ms) return "—"
|
||||
if (ms < 1000) return `${ms}ms`
|
||||
return `${(ms / 1000).toFixed(1)}s`
|
||||
}
|
||||
const totalPkts = sessions.some(b => b.packetsRx === null) ? null : sessions.reduce((sum, b) => sum + (b.packetsRx ?? 0), 0)
|
||||
|
||||
return (
|
||||
<div className="flex flex-col gap-4">
|
||||
@@ -1118,8 +1112,9 @@ function BfdTab({ sessions, dataIncomplete }: { sessions: BfdSession[]; dataInco
|
||||
<div className="flex items-center gap-4 flex-wrap px-1">
|
||||
<p className="text-xs text-muted-foreground">
|
||||
BFD обнаруживает сбои быстрее OSPF Hello/Dead таймеров.
|
||||
Tx / Rx — интервалы отправки и приёма контрольных пакетов.
|
||||
{!dataIncomplete && totalPkts > 0 && <span className="ml-2 tabular-nums">Всего получено: {totalPkts.toLocaleString()} пакетов.</span>}
|
||||
{!dataIncomplete && totalPkts === null && <span> Общее число полученных пакетов неизвестно.</span>}
|
||||
TX факт — наблюдаемый интервал отправки; RX минимум — требуемый минимальный интервал.
|
||||
{!dataIncomplete && totalPkts !== null && <span className="ml-2 tabular-nums">Всего получено: {totalPkts.toLocaleString()} пакетов.</span>}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in new issue
Block a user