Topolograph · routing analysis for network operations
Topolograph is a routing analysis tool for OSPF, OSPFv3, IS-IS and BGP/EVPN networks. It builds a model of the network from what its routing protocols report: the LSDB of one router per area or level is enough, because OSPF and IS-IS flood the same topology to every router in it. BGP sessions and IPv4/IPv6, VPNv4/VPNv6 and EVPN routes arrive over BMP and sit on top of the IGP graph, so a BGP next hop resolves down to the IGP or MPLS path that carries it. On that model Topolograph computes primary and backup paths, finds links and nodes with no backup, searches network elements (prefixes, MAC addresses and more), simulates link or node failures and cost changes before maintenance starts, and compares snapshots to show what changed.
Interactive demo · Self-host with Docker · Docs
Run the commands for your vendor on one router per area or level, save the output to one text file and upload it.
| Vendor | OSPFv2 | OSPFv3 | IS-IS |
|---|---|---|---|
| Allied Telesis | show ip ospf database {router|network|external} |
||
| Arista | show ip ospf database detail |
show ipv6 ospf database detail |
show isis database traffic-engineering |
| Bird | show ospf state all |
||
| Cisco | show ip ospf database {router|network|external} |
show isis database detail |
|
| Cisco NX-OS | show ip ospf database {router|network|external} detail |
||
| Ericsson | show ospf database {router|network|external} detail |
||
| Extreme | show ospf lsdb detail lstype {router|network|as-external} |
||
| Fortinet | get router info ospf database {router|network|external} lsa |
get router info6 ospf database router, network, external, intra-prefix |
get router info isis database detail |
| FRRouting | show ip ospf database {router|network|external} |
show isis database detail |
|
| Huawei | display ospf lsdb {router|network|ase} |
display isis lsdb verbose |
|
| IP Infusion OcNOS | show ip ospf database {router|network|external} |
show ipv6 ospf database router, network, external, intra-prefix |
show isis database verbose |
| Juniper | show ospf database {router|network|external} extensive | no-more |
show isis database extensive |
|
| MikroTik | /routing ospf lsa print detail file=lsa.txt |
/routing/ospf/lsa/print detail without-paging where instance=v3 |
/routing/isis/lsp/print detail without-paging |
| Nokia | show router ospf database type {router|network|external} detail |
show router isis database detail |
|
| Palo Alto | show routing protocol ospf dumplsdb |
||
| Quagga | show ip ospf database {router|network|external} |
||
| Ruckus | show ip ospf database link-state router, show ip ospf database link-state network, show ip ospf database external-link-state |
||
| Ubiquiti | show ip ospf database {router|network|external} |
||
| ZTE | show isis database verbose |
For TE attributes (bandwidth, TE metric, admin groups), append show ip ospf database opaque-area (OSPF) or use the detail/verbose IS-IS output. Notes per vendor, TE attributes and supported RFCs: supported vendors.
Upload the file in the UI (Add, LSDB), pick the vendor and the protocol, or send it through the API. The snapshot is analysed offline, without access to the routers.
In the demo network (13 routers, 26 links) the pe15 to pe30 path has cost 41 and four equal-cost paths.
Switching off the core10 to core30 link on the model recalculates SPF: traffic moves to core11 to core31, the cost goes from 41 to 50, and there are still four paths. The real network is not touched.
Paths mode: Fail on a link of the path recalculates SPF without it. The failed link is red dashed.
Failure mode on the same link: how many paths changed, which pairs moved to a backup and how the load on each link changed.
The collector (watcher) receives routing protocol updates and passes on events about topology changes. It joins the network through an IGP adjacency over GRE, or through BGP-LS (OSPF and IS-IS), or through BMP (BGP). Each event arrives in Topolograph with a timestamp, and the timeline replays the state of the network at any moment: the T0 snapshot and any later state can be compared.
| Watcher | Protocols | Modes | Available in |
|---|---|---|---|
| ospfwatcher | OSPF | GRE adjacency, BGP-LS | Online |
| isiswatcher | IS-IS | GRE adjacency, BGP-LS | Online |
| bmpwatcher | BGP, EVPN | BMP, Topology only | Self-hosted, Online |
| bmpwatcher | BGP, EVPN | BMP, Topology + events | Online |
The 13-router demo network with the BGP sessions layer on (Highlight, BGP sessions): dashed green lines are iBGP sessions learned over BMP, the ringed rr1 and rr2 are route reflectors, grey lines are OSPF links.
A watcher is added from the Topolograph UI (Add, Watcher): pick the type and the mode, and the wizard issues a watcher token and one install command. The command downloads install.sh pinned to a release, checks its SHA-256 and installs.
The engineer asks a question in natural language. Agent 1.0 calls the Topolograph MCP server tools for events and failure calculation and answers with a reference to the data. Agent 2.0 runs incident diagnostics by a runbook agreed in advance, with read-only device commands, started manually or automatically from a ticket. See the AI agent docs.
| Question | How it is answered | Available in |
|---|---|---|
| Why did a prefix disappear? | Comparing the graph at different moments shows when the prefix left the network. | Self-hosted, Online |
| Can a link or a device be taken out of service? | Simulating the failure on the graph shows where the traffic goes and which segments are left without a backup, before the work starts. | Self-hosted, Online |
| Where will a new MPLS TE LSP with the required bandwidth go? | CSPF over the TE attributes from the LSDB shows the LSP path for the requested bandwidth and how it behaves when a link fails. | Self-hosted, Online |
| What changed before the incident? | The collector event history and the graph at the time of the incident show what changed and in which order. | Online |
| Where is the virtual machine with this MAC address now? | An EVPN MAC lookup shows which VTEP or PE advertises it and which path the traffic takes to it. | Online (BMP collector) |
| The interface is up, so why is the adjacency not Full? | The protocol shows that there is no adjacency, and Agent 2.0 checks the cause, for example MTU, with read-only commands from an approved runbook. | Agent |
- Try it: open the interactive demo, or paste an LSDB on topolograph.com.
- Self-hosted: run topolograph-docker in your infrastructure; the routing data stays under your control.
- Online: watchers and event history on topolograph.com: sign in and add a watcher from the UI. Events are kept for a limited time.
| Self-hosted (topolograph-docker) | Online (topolograph.com) | |
|---|---|---|
| LSDB upload, graph, path calculation, failure scenarios | Yes | Yes |
| API, SDK, MCP server | Yes | Yes |
| BGP and EVPN over BMP: peers, sessions, routes | Yes, current state from bmpwatcher in Topology only mode; no events | Yes, with change events |
| Watchers (OSPF / IS-IS) | No, static topology from the LSDB only; demo graph | Yes, added from the UI and installed with one command |
| Network event history | No, demo graph only | Yes, kept for a limited time |
Zabbix, Prometheus, Cacti, etc. watch devices and interfaces. Topolograph shows how the network routes traffic and works alongside them.
| Capability | Classic monitoring (SNMP/NMS) | Topolograph |
|---|---|---|
| Interface and device state | The main task | Outside the scope: the data stays in the existing monitoring |
| OSPF / BGP neighbor status | Through SNMP or exporters, device by device | From the protocol, for the whole network at once (Online, collector) |
| Topology from the routing protocol | Needs integration or extra development | From the LSDB or the collector (Self-hosted / Online) |
| SPF and ECMP paths | Needs separate development | Built in (Self-hosted, Online) |
| What-if failures and links with no backup | Usually not available | Built in, on the model (Self-hosted, Online) |
| Routing changes over time | Logs and traps of single devices | Events and the topology at the time of the event (Online) |
- REST API: the schema is at topolograph.com/api/ui; examples are in the docs.
- Python SDK: topolograph-sdk (docs).
- MCP server: topolograph-mcp-server exposes the API to LLM agents (docs).
- AI agent: ospf-isis-ai-agent (docs).
from topolograph import Topolograph
topo = Topolograph(url="topolograph-url", token="your-api-token")
with open('cisco_lsdb_output.txt') as f:
graph = topo.graphs.upload(lsdb_data=f.read(), vendor="Cisco", protocol="ospf")
path = graph.paths.shortest("192.168.100.100", "10.1.123.23")
print(path.cost, path.paths)- Documentation: docs.topolograph.com, including analysis reports (heatmap, asymmetric paths, ECMP backup paths), YAML topologies, BMP/EVPN and contribution guides.
- Telegram: t.me/topolograph
- Issues: GitHub issues
- Site: topolograph.com









