Skip to content

Osprey 1.2.1

Choose a tag to compare

@MichelW6667 MichelW6667 released this 30 Jul 23:06
· 3 commits to main since this release

Osprey 1.2.1. Network topology intelligence for OSPF, IS-IS, EIGRP, BGP, MPLS, and EVPN — passive discovery, protocol-accurate modelling, no agents on your routers and no routes injected.

One theme runs through this release: time travel is now trustworthy. Rewinding the clock used to quietly erase things that still existed, and several views simply ignored the clock altogether. Alongside that, a round of correctness work on route labelling, the link-state database and per-interface traffic.

Highlights since 1.2.0

Time travel

  • The past no longer loses data that is still there. Historical reads filtered on a refresh timestamp rather than an end of validity, so a topology from an hour ago could drop most of its inter-area routes and report a working path as unreachable. Reconstruction now asks whether something existed at that moment, which is the question you meant.
  • The LSDB browser, the area-cloud overview and the BGP route table follow the clock instead of silently answering for now. Where a value genuinely is not historised — LSA age, sequence number and checksum — the view says so rather than presenting live numbers as historical.
  • Multi-AS paths survive the clock. A stitched cross-domain path used to vanish the moment time travel was activated; it now rebuilds from recorded session and routing history, and names any evidence that is not historised instead of quietly dropping it.
  • Historical topologies no longer duplicate devices once per area snapshot, and a device keeps its name in a historical view instead of falling back to a bare router ID.

Paths and routing tables

  • The hop table shows each router's own installed route — its route type and the metric that router itself reports — with a mark distinguishing a proven hop from a modelled one, and a flag where the per-hop metric legitimately rises.
  • IS-IS routes are labelled by level. Level-1 and level-2 routes were being described using OSPF's intra/inter-area vocabulary, which does not apply; they now carry their own labels, take part in administrative-distance selection at the correct value, and a prefix a router advertises but is not attached to is identified as an advertisement rather than a forwarding entry.
  • An IPv6 path question gets an IPv6 answer. Selecting a protocol that cannot carry the address family of your question is now refused with an explanation instead of quietly answering in the other family, and the panel switches the protocol for you when the address you pick requires it.
  • The routing table opens for EIGRP-only routers, which previously returned an error, and shows internal and redistributed EIGRP routes alongside everything else.
  • Cross-tenant path segments are drawn on the canvas instead of ending at the edge of the current scope.

Link-state database

  • Live LSA header fields now reach the entries they belong to. Age, sequence number and checksum were missing from every summary, external and NSSA entry because of a key mismatch, and could attach to the wrong entry across areas or address families. Coverage is stated as a count rather than implied.
  • Network-LSAs are reconstructed per segment rather than per subnet mask, so a router that is designated router on several segments no longer collapses them into one fictional entry.
  • OSPFv2 transit interfaces record their designated router, which several views and the dual-stack link merge depend on.
  • External routes survive when the advertising router sits outside the reporting area — the normal case, and previously they were dropped.
  • Corrected an interface-index assignment that could move an OSPFv2 interface onto an OSPFv3 interface's index, leaving one port without an index and mislabelling another. Affected rows repair themselves on the next discovery cycle.

BGP

  • Peer history no longer trusts a missing timestamp. Routers may report "time not available" on the initial session dump; those entries were recorded as beginning in the year 1, so the session answered "up" for any point in the past. New entries use arrival time, and existing poisoned rows are repaired and marked so the correction stays auditable.

Traffic and reports

  • Implausible interface rates are rejected instead of stored. A counter discontinuity on an interface that reports no speed could be recorded as an enormous, permanently stuck traffic figure; the sanity check now covers that case.
  • The IGP Prefixes report shows which area carries each row, and the header states the unique prefix count next to the row count where they differ — the same prefix legitimately appears once per area whose database carries it.

Topology view

  • Node and label size controls in the menu bar shrink or enlarge the drawing in place, keeping positions and zoom, which frees room on the links for cost, interface and address labels. Saved layouts remember the size.
  • Link line width scales with node size, and several link styles that had stopped taking effect work again.

Documentation

  • The user guide is illustrated — 21 screenshots covering sign-in, the hierarchy, the dashboard, the canvas and its menus, device and link details, reports, path analysis, simulation, time travel, alerts, the terminal and administration. They appear in the guide built into the product and in the public wiki.

Install

curl -LO https://github.com/wijnberg-net/osprey/releases/latest/download/osprey_amd64.deb
curl -LO https://github.com/wijnberg-net/osprey/releases/latest/download/SHA256SUMS
sha256sum -c SHA256SUMS
sudo apt install ./osprey_amd64.deb

Debian 12+, Ubuntu 24.04+ (bare metal, Proxmox LXC, or VM). PostgreSQL, NATS, and nginx are pulled in as dependencies; services start under systemd and a self-signed TLS certificate is generated on first install. Open https://your-server/ and log in with the admin account created during setup.

Free evaluation: all features, up to 32 devices, no time limit. Commercial licensing: sales@wijnberg.net.

Full documentation: https://www.wijnberg.net/osprey/docs