Paste a router's show bgp summary and show ip bgp output and press
Render. This router and its BGP neighbors are drawn, and the engine shows the session
(tunnel when Established) and the prefixes it has learned. Click "Open the router" to look
inside (BGP processor + the routes in the table).
π Runs entirely in your browser β your config never leaves the page (no upload, no server).
Supported here: FRR show bgp summary + show ip bgp,
small eBGP from one router's view. iBGP / route-reflectors / large tables / multipath aren't fully
reconstructed β feed the engine state directly (see
DATA-CONTRACT.md) or fork bgp-parse.js.
r1; neighbors become r2, r3, …
// bgp-parse.js turns the pasted text into the engine's config/stateβ¦ var r = BGPFRR.build(summaryText, bgpTableText, 'r1'); // β¦and xrayCore draws it β the topology, the session, and the BGP table: var view = xrayCore.renderTopology('#topo', r.config, { topology: r.topo, trace: r.trace }); view.setBgpTable(r.bgpRows); // Seam C: the learned routes, inside the cylinder view.applyState(r.state); // zoom into this router's internals (the cylinder): view.openDeepDive();
DATA-CONTRACT.md. The engine renders BGP as a binary
(is_established β purple session tunnel) and installs the learned prefix from
route_resolution; it is descriptive, not a simulator. Topology is inferred from one
router's view (self + its eBGP neighbors); next-hops are matched to neighbors to place the links.
DATA-CONTRACT.md.