You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Routed view: networks-as-lanes layout (default; the vertical rails
chip turns the same drawing on its side). VLANs are horizontal lanes
reading edge → internet, left to right: lane labels with subnets in a
left gutter, loose single-homed chips at the edge, one logical wireless container holding every AP's clients (per-AP attribution in
tooltips), hypervisor slabs spanning their lanes with tenants inside,
the router spanning everything it routes, and the internet cloud plus
tunnels at the far right. Height is fixed by network count, width grows
with devices — landscape-native, made to read at a distance.
Routed view: one virtualization box. All hypervisors fold into a
single box — the wireless container's sibling — named after the vSphere
server when the guest-aware collector owns a hypervisor row. The routed
view is logical, so which physical host a VM runs on becomes tooltip
detail, and a router that runs as a guest draws inside the box.
Routed view: one renderer, two axes. The vertical-rails view is the
lanes drawing turned upright — same containers, boxes, chips, and
rules, edge at the bottom and the internet at the top — instead of the
earlier tiered layout. Lanes sit tighter, multi-homed
hosts share a column when their spans don't overlap, and VPN tunnels
sit beside the internet cloud so the transport leaves the router
straight from its edge. The viewBox hugs the drawing, so fit means
the whole map.
Routed view: click focuses, a page is the secondary action. A plain
click on a network, host, box, or router now focuses it in place —
highlight what's attached, dim the rest, focus= in the URL — and a
second click or a click on the background clears it. Double-click opens
the thing's page; ⌘/Ctrl-click or middle-click opens it in a new tab.
Navigating away on a plain click felt like falling through the map.
Routed view: the shell's last-polled indicator and auto-refresh, which
every other page already had.
Routed view: Evidence mode, and with it the segmented view control
from ADR-0002 Decision 3. Each lane takes the color of its strongest
reporter — a firewall interface (it routes it), a switch carrying the
VLAN, the controller, a hypervisor port group, IPAM alone (dashed:
documented, nothing carries it), a route learned through a tunnel —
the tag carries a badge per reporter, and everything attached goes
quiet. view=evidence in the URL. Load, Protocol, multi-router sites,
and snapshot embedding are tracked in #50; ADR-0002 carries an
amendment recording the lanes-era decisions. The "still settling"
banner is gone.
Fixed
Powered-off VMs and down devices no longer count on the routed view.
A VM that is off still has legs on paper (its port group VLAN, a
documented address, a cached guest IP) and was counted in the VM chips;
now only active devices count, unknown status still counts, and the
virtualization box lists the sleeping guests in its tooltip. The
builder gained scenario tests for typical sites — ARP-only flat
networks, IPv6-only sightings, ARP plus learned-VLAN fusion without
IPAM, mixed-case MACs, addresses outside every network, wireless
clients across APs, an empty database, and a router with no addresses.
Merging a re-duplicated device no longer drops its addresses. A
device LibreNMS re-creates under its FQDN every poll merged into the
fresher row, and colliding port rows on the older duplicate were
discarded wholesale — so the firewall's interface addresses (which only
the firewall collector writes) vanished whenever that collector was
skipped or failed, and with them the routed view's gateway exclusion,
which let dnsmasq's "gateway" ARP rows draw as a phantom host spanning
every network. Identity facts (ip, ip6, mac, description, ifindex) now
fill the primary's gaps whatever their age; liveness (status, speed,
rates) still follows the fresher row. Separately, an ARP or IPAM row
carrying a MAC some device's interface owns is that device, never a
host, whatever name the address wears.
Changed
IPAM is identity, never liveness. phpIPAM no longer writes endpoint
rows (it re-stamped last_seen every poll, so documented-but-gone
hosts never aged out and ghost hosts haunted the routed view); it now
only lends hostnames to endpoints real observers saw, and legacy
doc-rows are retired on the next poll. On the routed view, IPAM
addresses matching an observed host add "ipam" legs — including
networks nothing can observe, like an isolated storage VLAN — but IPAM
alone never draws a host. UniFi clears stale AP attribution for
clients gone from the controller's station list, so ex-wireless hosts
stop counting as clients. A tunnel route whose destination contains
local networks (WireGuard allowed-ips for the home supernet) is the
tunnel's source side: named on hover, never drawn as a network.
Switch MAC tables discover hosts, but a bare MAC is not a host. A
MAC learned on a pure access port counts as a sighting on that port's
VLAN (trunks and mirror destinations excluded), named by its hostname
or, failing that, its address from any endpoint or IPAM row — a
WAN-side neighbor with an address outside every documented subnet
shows as that address. A MAC with neither is usually a bond member or
kernel port of a host already drawn, so it is counted in the lane's
tooltip and never listed as a host.
The switch MAC table keeps the VLAN a MAC was learned in. LibreNMS
reports it per entry (platforms that don't leave it 0), and fdb rows
are now keyed by it, so a trunked host — a storage box with a VLAN
interface per network on one 10G port — is placed on every network it
talks in, from real switch evidence, no alias needed. Legs name the
address that belongs on that network, and a second address on the
same network (bond plus trunk sub-interface on mgmt) rides the leg in
the tooltip. Databases from before the change migrate in place.
Guests are placed by what ARP saw their NICs do. A VM's collector
reports NIC MACs but no guest addresses, and an untagged port group
never reaches the VLAN tags, so a two-NIC guest drew as single-homed.
A device's NIC seen by ARP (or documented in IPAM) with an address is
now a leg on that address's network; mgmt_ip is the last resort.
Routers still claim networks from their own interface config only.
phpIPAM lends names by exact address first, MAC second. One NIC can
carry several documented addresses; matching by MAC alone handed the
wrong row's name to whichever came first. Names an earlier MAC-only
lend got wrong are corrected on the next poll.