Inventory Overview
Jump
1
Utilization Ranking
2
Network Topology
3
Network Elements
4
Hardware Finder
5
Hardware Analytics
{{ kpi.label }}
›
{{ format(kpi.value) }}
{{ kpi.sub }}
High → Low
Low → High
Speed order
{{ v.label }}
Export Excel CSV
Click a module type to open Hardware Finder
{{ distSorted.length }} groups
{{ format(row.ports_total) }}
{{ format(row.ports_up) }}
{{ format(row.c) }}
{{ format(row.e) }}
{{ format(row.u) }}
{{ format(row.value) }}
Sites in {{ distSelectedChassis }}
show all chassis
export sites CSV
{ distOpen = false; openSite(row.site_id); }">
{{ format(row.port_count) }}
{{ format(row.port_up) }}
Port Utilization (3D)
C: Capacity / E: Equipped (modules) / U: Used (link up)
C {{ format(selectedPortUtilization.C) }}
E {{ format(selectedPortUtilization.E) }}
({{ pct(selectedPortUtilization.E_over_C) }})
U {{ format(selectedPortUtilization.U) }}
({{ pct(selectedPortUtilization.U_over_C) }})
Free port slots {{ format(selectedPortUtilization.free_slots) }} ·
Idle modules {{ format(selectedPortUtilization.idle_modules) }}
{{ opt.label }}
Optics Growth Trend
Equipped optics/modules · 2026 as of now
Distribution Mix
Chassis type / Region
Utilization Ranking
Chassis
Region
Topology
Min C
Min U
High to low
Low to high
{{ filteredUtilization.length }} / {{ utilization.length }} rows
Export Excel CSV
{{ format(row.c) }}
{{ format(row.e) }}
{{ format(row.u) }}
Network Audit
capacity cleanup, upsell candidates, service-risk hooks
{{ card.label }}
{{ card.value }}
{{ card.hint }}
Min idle
High to low
Low to high
Vision per type (E/U/I)
Vision per speed
{{ filteredIdleModules.length }} / {{ audit.idle_modules.length }} rows
Export Excel CSV
row.site_id && openSite(row.site_id)">
{{ row.site_name || '-' }}
{{ row.site_id || '-' }}
{{ format(row.e) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'e') }}
{{ format(row.u) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'u') }}
{{ format(row.idle_modules) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'idle') }}
{{ auditPerSpeedTotal(row, speed.suffix, 'idle') }}
{{ bar.label }} {{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditPercent(row.idle_pct) }}
{{ auditIdleRateBreakdown(row) }}
Min free
High to low
Low to high
Vision per type (C/E/U/F)
Vision per speed
{{ filteredFreeSlots.length }} / {{ audit.free_slots.length }} rows
Export Excel CSV
row.site_id && openSite(row.site_id)">
{{ row.site_name || '-' }}
{{ row.site_id || '-' }}
{{ format(row.capacity) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'c') }}
{{ format(row.equipped) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'e') }}
{{ format(row.used) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'u') }}
{{ format(row.free_slots) }}
{{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ auditSpeedBreakdown(row, 'free') }}
{{ auditPerSpeedTotal(row, speed.suffix, 'free') }}
{{ bar.label }} {{ format(bar.value) }}
{{ item.label }} {{ format(item.value) }}
{{ audit.health.length }} rows
Export Excel CSV
row.site_id && openSite(row.site_id)">
Loading service audit
{{ serviceLoadProgress.stage }}
{{ serviceLoadProgress.percent }}%
Building one consistent view from service summary, Access/SAP, and L3 interface rows.
Service audit could not be loaded
{{ serviceLoadProgress.error }}
Retry
Dashboard summary ·
{{ format(serviceAudit.totals.total_services) }} services ·
{{ format(serviceAudit.totals.total_interfaces) }} interfaces
Export dashboard CSV
{{ card.label }}
{{ card.value }}
{{ card.hint }}
Service filter and export
A service is counted once when at least one endpoint matches every selected filter.
Filters changed · Apply to refresh
Apply filters
Reset
Text matching ignores case and separator differences such as lag-20 vs Lag 20 .
{{ card.label }}
{{ card.value }}
{{ card.hint }}
Filtered type mix
{{ row.service_type }} · {{ format(row.services) }} services
Filtered role mix
{{ row.device_role }} · {{ format(row.services) }} services · {{ format(row.interfaces) }} endpoints
Service list
Matching endpoints
{{ serviceSearchResultRange }}
Export service CSV
Export endpoint CSV
{{ row.service_name || row.service_id || '-' }}
{{ row.service_id || row.service_key || '-' }}
row.site_id && openSite(row.site_id)">
{{ row.service_name || row.service_id || '-' }}
{{ row.service_id || '-' }}
{{ row.site_name || row.site_id || '-' }}
{{ row.port_name || row.interface_name || row.port_id || '-' }}
Select any combination of filters, then apply to calculate service and endpoint counts.
Preparing service audit...
{{ option.label }}
{{ filteredSoftwareItems.length }} / {{ softwareAudit.totals.devices }} devices
Export Excel CSV
{{ card.label }}
{{ card.value }}
{{ card.hint }}
Version summary
{{ format(row.devices) }}
{{ softwareRoleBreakdown(row) }}
Device software list
row.site_id && openSite(row.site_id)">
{{ row.site_name || '-' }}
{{ row.site_id || '-' }}
{{ row.role || 'Others' }}
Software audit data is loading
LSP overview
RSVP explicit paths · static hop-by-hop inventory
Config files
{{ format(lspSummary.totals.files) }}
Explicit paths
{{ format(lspSummary.totals.explicit_paths) }}
RSVP LSPs
{{ format(lspSummary.totals.lsps) }}
Topology links
{{ format(lspSummary.totals.distinct_links) }}
Path segments
{{ format(lspSummary.totals.path_links) }}
Dynamic fallback
{{ format(lspSummary.totals.dynamic_fallbacks) }}
Dynamic paths {{ format(lspSummary.totals.dynamic_paths) }}
Unresolved sources {{ format(lspSummary.totals.unresolved_sources) }}
Unresolved destinations {{ format(lspSummary.totals.unresolved_destinations) }}
include external endpoints
{{ topoFilter.only_verified ? 'IGP verified only' : 'Show IGP verified only' }}
min ports per edge:
{{ lspTopoStats.visibleNodes }} nodes · {{ lspTopoStats.visibleEdges }} edges
({{ lspTopoStats.totalNodes }} / {{ lspTopoStats.totalEdges }} total)
· {{ lspTopoStats.lspLinks }} LSP-loaded links
auto-saved
Names
{{ m.label }}
Links
{{ m.label }}
Color
{{ m.label }}
Save layout
{{ lspBlockEditMode ? 'Block edit on' : 'Block node/link' }}
{{ lspFilter.load_overlay ? 'LSP load overlay' : 'Show LSP load' }}
{{ lspReviewMode ? 'Review mode on' : 'Review mode' }}
Optimize analysis
{{ lspNodeLabel(node) }}
Clear
{{ lspReviewTitle() }}
Optimize analysis results
{{ format(filteredLspOptimizeItems.length) }} / {{ format(lspOptimizeAnalysis.total) }} issue pairs ·
{{ format(lspOptimizeAnalysis.summary.optimization_pairs) }} latency candidates ·
{{ format(lspOptimizeAnalysis.summary.broken_hop_pairs) }} broken-hop pairs ·
{{ format(lspOptimizeAnalysis.summary.role_policy_pairs || 0) }} transit-policy pairs ·
threshold {{ latencyMs(lspOptimizeAnalysis.summary.threshold_ms) }}
Hide
{{ row.severity }}
{{ row.source_site_name }}
-> {{ row.target_site_name }}
· {{ row.source_role || 'Other' }}-{{ row.target_role || 'Other' }}
{{ lspOptimizeIssueText(row) }}
· {{ lspBrokenExampleText(row) }}
{{ lspOptimizePairText(row.current_pair_names) }}
· {{ latencyMs(row.current_pair_latency_ms) }}
{{ lspOptimizePairText(row.optimized_pair_names) }}
· {{ latencyMs(row.optimized_pair_latency_ms) }}
{{ lspOptimizeGain(row) }}
{{ format(row.missing_igp_segments) }}
show path
Configured RSVP LSPs
{{ group.lsp_name }}
{{ item.role }}
{{ item.path.path_name }}
{{ lspLatencyText(item.path) }} · {{ format(item.path.hop_count) }} hops
Optimization candidate
{{ path.path_name }}
computed {{ path.role }} · {{ lspCandidateMappedText(path) }}
{{ lspLatencyText(path) }} · {{ format(path.hop_count) }} hops
{{ lspPathHopSequence(path) }}
{{ lspCandidateGainText(lspReview) }}
{{ lspReviewTitle() }} · {{ format(lspReview.path_count) }} paths · {{ format(lspReview.links.length) }} links
Computed primary
{{ latencyMs(lspReview.analysis.primary_optimal && lspReview.analysis.primary_optimal.latency_ms) }}
{{ format((lspReview.analysis.primary_optimal && lspReview.analysis.primary_optimal.hop_count) || 0) }} hops
Computed secondary
{{ latencyMs(lspReview.analysis.secondary_node_disjoint && lspReview.analysis.secondary_node_disjoint.latency_ms) }}
node-disjoint
Existing complete
{{ format(lspReview.analysis.existing_complete_paths) }}
{{ format(lspReview.analysis.existing_partial_paths) }} partial
{{ lspOptimizationTitle(lspReview.analysis) }}
{{ lspOptimizationGainText(lspReview.analysis) }}
{{ lspOptimizationMetaText(lspReview.analysis) }}
{{ cfg.path_name }}
review only
{{ lspConfigRepairText(cfg) }}
Configured
{{ line.text }}
Recommended
{{ line.text }}
{{ cfg.path_name }}
review required
{{ lspConfigRepairText(cfg) }}
Configured broken path
{{ line.text }}
{{ lspRecommendationTitle(rec) }}
{{ lspRecommendationBody(rec) }}
{{ lspLatencyText(row) }}
{{ lspPathResultTag(row).label }}
{{ format(row.hop_count) }}
{{ lspRoleText(row) }}
{{ lspHopText(row) }}
LSP Creation
Generate RSVP PATH/LSP projects from verified topology
Projects
{{ row.name }}
Huawei
{{ row.status }}
{{ format(row.item_count || 0) }}
open
recalculate
ZIP
Excel
implemented
delete
{{ lspCreationSelectedProject.project.name }}
{{ lspCreationSelectedProject.project.status }}
{{ format(lspCreationSelectedItemIds.length) }} selected
Select all
Clear
Mark implemented
Delete selected
{{ lspCreationBatchMode ? 'Done' : 'Multi-select' }}
{{ row.source_site_name }}
-> {{ row.target_site_name }}
{{ latencyMs(row.primary_latency_ms) }} / {{ latencyMs(row.secondary_latency_ms) }}
{{ row.status }}
review
implemented
delete
{{ path.path_name }}
{{ lspCreationReviewItemTitle() }}
· {{ format(lspCreationReviewIndex + 1) }} / {{ format((lspCreationSelectedProject && lspCreationSelectedProject.items || []).length) }}
{{ path.path_name }}
{{ lspLatencyText(path) }}
{{ lspLinkLabel(lspSelectedLink) }}
Paths {{ format(lspSelectedLink.path_count) }}
LSP refs {{ format(lspSelectedLink.lsp_role_refs) }}
Sources {{ format(lspSelectedLink.source_count) }}
{{ lspSourcePreview(lspSelectedLink) }}
Create bypass project
Close
Export node TXT
{{ linkMappingTitle() }}
Port links {{ format(topoLinkMapping.summary.port_links ?? topoLinkMapping.summary.members ?? 0) }}
Mapped rows {{ format(topoLinkMapping.summary.mappings || 0) }}
LAGs {{ format(topoLinkMapping.summary.lags || 0) }}
Members {{ format(topoLinkMapping.summary.members || 0) }}
External /30 {{ format(topoLinkMapping.summary.inferred_p2p_links || 0) }}
IGP /30 {{ format(topoLinkMapping.summary.igp_links || 0) }}
{{ link.network }}
{{ link.source.site_name || link.source.site_id }} · {{ link.source.lag_id || '-' }}
· {{ link.source.ip || '-' }}
{{ link.target.site_name || link.target.site_id }} · {{ link.target.lag_id || '-' }}
· {{ link.target.ip || '-' }}
{{ link.network }}
{{ link.source.site_name || link.source.site_id }} · {{ link.source.lag_id || '-' }}
· {{ link.source.ip || '-' }}
{{ link.target.site_name || link.target.site_id }} · {{ link.target.lag_id || '-' }}
· {{ link.target.ip || '-' }} (inferred)
LAG members (parsed from P-side descriptions)
{{ endpointCli(member.source) }}
{{ endpointCli(member.target) }}
{{ member.source && member.source.speed_mbps || '-' }}
{{ member.source && member.source.port_class || '-' }}
No parsed member ports for this LAG.
{{ row.type === 'lag' ? 'LAG' : 'PORT' }}
{{ endpointLabel(row.source) }}
{{ endpointCli(row.source) }}
{{ endpointIp(row.source) }}
{{ endpointOper(row.source) }}
{{ endpointLabel(row.target) }}
{{ endpointCli(row.target) }}
{{ endpointIp(row.target) }} (inferred)
{{ endpointOper(row.target) }}
{{ row.source.speed_mbps || row.target.speed_mbps || '-' }}
Close
Open LSP actions
Export TXT
manual base
import base
Close
{{ topoEditForm.kind === 'node' ? 'Open inventory' : 'Open mapping' }}
{{ topoBaseActionLabel }}
Block/delete
Save
{{ manualRowLabel(row) }}
{{ row.state === 'blocked' ? 'unblock' : 'import base' }}
Close
Refresh
Network Topology
manual layout · drag nodes to arrange · scroll to zoom
include external endpoints
{{ topoFilter.only_verified ? 'IGP verified only' : 'Show IGP verified only' }}
min ports per edge:
Loading topology data...
{{ topoStats.visibleNodes }} nodes · {{ topoStats.visibleEdges }} edges
({{ topoGraph ? topoGraph.node_count : 0 }} / {{ topoGraph ? topoGraph.edge_count : 0 }} total)
auto-saved
Names
{{ m.label }}
Links
{{ m.label }}
{{ topoFilter.capacity_overlay ? 'Capacity labels' : 'Show capacity' }}
Color
{{ m.label }}
Save layout
Role layout
Add node
Add link
Manual changes
IGP: {{ igpSummary.verified_igp_links || igpSummary.inferred_igp_links }} verified /30 links ·
{{ igpSummary.ospf_verified_links }} OSPF verified links
· {{ igpSummary.ospf_partial_links }} partial OSPF
· {{ igpSummary.ambiguous_prefix30_networks }} ambiguous
drag nodes freely · positions auto-save to DB · Role layout reapplies the generated layout
Network Inventory
Network elements and hardware lookup
{{ satelliteMode ? 'External / Satellite shelves' : 'Show External / Satellite shelves' }}
Blocked NE/link
{{ format(sitesTotal) }} total
{{ format(satelliteTotal) }} shelves · {{ format(satelliteHosts) }} host NEs
{{ t.shelf_type }}: {{ t.n }}
openSite(row.site_id)">
SNMP Reachability — whether NSP can poll this device.
More meaningful than Oper State, which tracks the L3 mgmt
interface (Down on every site in this dataset).
Reach ⓘ
{{ row.snmp_reachability || '-' }}
{{ resyncShort(row.resync_status) }}
{{ row.agg_alarm_status || '-' }}
Installed service cards / usable service slots.
Fixed CPM/fabric positions are excluded from this denominator.
Service slots ⓘ
{{ row.slot_utilization.service_slots_used }} / {{ row.slot_utilization.service_slots_total }}
{{ pct(row.slot_utilization.service_utilization) }}
-
{{ row.port_up_count }} / {{ row.port_count }}
openSite(row.site_id)">
{{ row.shelf_id }} / ext {{ row.extended_shelf_id }}
{{ row.equipped_type || row.present_shelf_type || row.shelf_type || '-' }}
{{ row.snmp_reachability || '-' }}
{{ row.agg_alarm_status || '-' }}
Main cards
Daughter cards
Optical modules
Type: {{ hardwareFinder.moduleGroup }}
Dashboard ports
Search
Export Excel CSV
{{ hardwareFinderLoadedText }}
Matches
{{ format(hardwareFinder.total) }}
Devices
{{ format(hardwareFinder.stats.devices) }}
Part / Model
{{ format(hardwareFinder.stats.part_numbers) }}
Serials
{{ format(hardwareFinder.stats.serial_numbers) }}
open
All hardware
Main cards
Daughter cards
Optical modules
Apply
Reset
Export analysis CSV
Hardware items
{{ format(hardwareAnalyticsSummary.hardware_items) }}
Devices
{{ format(hardwareAnalyticsSummary.devices) }}
Part / Model
{{ format(hardwareAnalyticsSummary.part_models) }}
Serial coverage
{{ pct(hardwareAnalyticsSummary.serial_coverage) }}
Exact linked services
{{ format(hardwareAnalyticsSummary.exact_services) }}
Services on host devices
{{ format(hardwareAnalyticsSummary.device_services) }}
{{ format(hardwareAnalyticsSummary.exact_mapped_items) }}
hardware items have an exact Physical SAP port mapping.
LAG SAPs are counted only in host-device service coverage because this dataset has no authoritative LAG member inventory.
Top part / model deployment
Click a bar to open matching inventory rows
Hardware mix
Click a segment to filter this analysis
Regional deployment
Inventory quantity by hardware category
Chassis footprint
Top chassis types by installed quantity
Business service footprint
Exact physical-port links versus services present on host devices
Manufacturing profile
Dated inventory only; unknown dates remain in the KPI total
Part / model analysis
Top 30 groups in the current filter
{{ pct(row.serial_coverage) }}
open
{{ siteDetail.site.site_id }}
{{ siteDetail.site.site_name }}
{{ siteDetail.site.chassis_type }}
{{ siteDetail.site.chassis_topology }}
{{ siteDetail.site.software_version }}
{{ siteDetail.site.region }}
{{ siteDetail.site.location || '-' }}
{{ siteDetail.site.mgmt_ip || '-' }}
{{ siteDetail.site.uptime || '-' }}
{{ siteDetail.site.snmp_reachability || '-' }}
Ctrl-comm {{ siteDetail.site.control_comm_status || '-' }}
{{ resyncShort(siteDetail.site.resync_status) }}
{{ siteDetail.site.config_file_status || '-' }}
{{ siteDetail.site.agg_alarm_status || '-' }}
Hardware Slot Utilization
{{ siteDetail.slot_utilization.service_slot_label }}
{{ siteDetail.slot_utilization.service_slots_used }} / {{ siteDetail.slot_utilization.service_slots_total }}
Free service slots
{{ siteDetail.slot_utilization.service_slots_free }}
Service utilization
{{ pct(siteDetail.slot_utilization.service_utilization) }}
Chassis occupancy
{{ siteDetail.slot_utilization.physical_slots_occupied }} / {{ siteDetail.slot_utilization.physical_slots_total }}
{{ pct(siteDetail.slot_utilization.physical_occupancy) }}
Fixed control / fabric
{{ siteDetail.slot_utilization.fixed_slots_occupied }} / {{ siteDetail.slot_utilization.fixed_slots_total }}
XCM carrier bays
{{ siteDetail.slot_utilization.carrier_slots_used }} / {{ siteDetail.slot_utilization.carrier_slots_total }}
{{ slotUtilizationNote(siteDetail.slot_utilization) }}
3D Port Utilization
C: Capacity
{{ format(siteDetail.utilization.C) }}
E: Equipped
{{ format(siteDetail.utilization.E) }}
U: Used
{{ format(siteDetail.utilization.U) }}
E / C
{{ pct(siteDetail.utilization.E_over_C) }}
U / C
{{ pct(siteDetail.utilization.U_over_C) }}
U / E
{{ pct(siteDetail.utilization.U_over_E) }}
Capacity / Equipped / Used by line speed
Export Excel CSV
Link up
Module installed, link down
No module
Faulted / unknown
has breakout sub-port
Nokia
{{ chassisLabel(siteDetail.site.chassis_type) }}
{{ siteDetail.slot_utilization.service_slots_used }}/{{ siteDetail.slot_utilization.service_slots_total }} service slots ·
{{ siteDetail.site.chassis_topology || 'Standalone' }} ·
SW {{ siteDetail.site.software_version || '-' }}
{{ section.label }}
{{ sectionStats(section) }}
{{ p.cli_name }}
{{ p.oper_state }}
{{ p.description || '(no description)' }}
speed: {{ p.speed_mbps || '-' }} ·
class: {{ p.port_class || '-' }} ·
module: {{ (p.effective_has_mda || p.has_mda) ? 'yes' : 'no' }}
connector: {{ portModuleConnector(p) || '-' }}
Nokia model: {{ portModuleModel(p) || '-' }}
vendor PN: {{ portModuleVendorPart(p) || '-' }}
optical type: {{ portModuleOpticalType(p) || '-' }}
serial: {{ portModuleSerial(p) }}
Breakouts ({{ p.breakout_count }}):
{{ c.cli_name }} · {{ c.port_class }} ·
{{ c.link_up ? 'up' : 'down' }}
· {{ c.module_model_number || c.module_vendor_part_number }}
· {{ portModuleOpticalType(c) }}
{{ shortPortNum(p) }}
— bay open, no card installed —
— no faceplate ports —
No cards in this site.
Export CSV
‹
›
{{ filteredPorts.length }} of {{ physicalPortCount }} physical
({{ sitePorts ? sitePorts.length : 0 }} rows incl. breakouts)
{{ row.cli_name }}
+{{ row.breakout_count }}
{{ row.oper_state || '-' }}
yes
—
{{ portModuleOpticalType(row) || '-' }}
{{ neighbors.summary.internal || 0 }} internal links
{{ neighbors.summary.external || 0 }} external links
{{ neighbors.summary.reserved || 0 }} reserved
verified by Base /30 + OSPF evidence
Export Excel CSV
{{ neighborFilterCounts.groups }} of {{ neighborFilterCounts.total }} peers ·
{{ neighborFilterCounts.lags }} LAGs · {{ neighborFilterCounts.ports }} ports
No interconnect descriptions matched on this site.
No matches for "{{ neighborFilter }}".
{{ g.kind }}
{{ g.peer_site_name || g.peer_label_raw }}
{{ g.peer_chassis_type }}
{{ g.lags.length }} LAG{{ g.lags.length === 1 ? '' : 's' }}
{{ g.ports.length }} port{{ g.ports.length === 1 ? '' : 's' }}
open peer →
LAG
{{ row.local_oper_state || '-' }}
↳ Physical members (presumed — LAG membership comes from NSP LAG export, P5.3)
Shelves ({{ siteDetail.shelves.length }})
{{ row.oper_state }}
Cards ({{ siteDetail.cards.length }})
CPM
SFM
XIOM
XMA
IOM/XCM
{{ row.oper_state || '-' }}