Skip to content

Release 2026.6.2

Choose a tag to compare

@byte4geek byte4geek released this 08 Jun 12:12
· 12 commits to main since this release
d66f0e6

Release 2026.6.2: Network Topology, Virtual Switches (OVS), Custom Device Types, & UI Refinements 🕸️🔌🎛️

Welcome to Release 2026.6.2 of the Switch Dashboard! This release introduces advanced network virtualization support for Open vSwitch (OVS) and Proxmox VE hosts, customizable device type icons, port graphic wrap styling, resizable MAC table columns, and structural unmanaged switch groupings on the live network topology map.


🌟 What's New in v2026.6.2

1. 🎛️ Open vSwitch (OVS) & Proxmox VE Integration

  • OVS Telemetry Scraper: Native support for virtual switches running on Proxmox VE hosts, scraping interfaces, active ports, packet statistics, and the FDB forwarding database via SSH.
  • Port Speed Formatting: Optimized speed calculations to correctly parse and format fractional ports, displaying virtual/physical speeds (like 2500 Mbps) as 2.5G instead of rounding issues.
  • Proxmox OVS Setup Documentation: Added a comprehensive, step-by-step setup guide to the main README.md covering system packages (openvswitch-switch), Proxmox Web GUI network configurations, and setting up the restricted ovs-monitor SSH system user with safe passwordless sudo permissions.

2. 🕸️ Interactive Network Map & Structural Topology

  • Unmanaged & Virtual Switch Grouping: Support for mapping unmanaged switches to physical parent switch ports. Downstream clients are automatically branched under the unmanaged switch node.
  • Node Alignment & Badge Routing: Implemented Bezier curve equations to route network cables, anchoring port badges precisely along lines during node drags.
  • Auto-expanded Node Cards: Dynamically scales card dimensions based on active client names and sublabels on the map.
  • Disabled Switch Filter: Disabled switches (and their child nodes) are hidden from the map and index dashboard, skipping telemetry polling threads.

3. 🔌 Dynamic Client Device Types & Custom Icons

  • Iconify & SVG Path Support: Device types defined in device_types.yaml support both Iconify classes (e.g. icon: "mdi:cellphone") and custom inline SVG paths (e.g. path: "M10 20 L30 40 Z").
  • Batch Loading & Fallbacks: Iconify icons are requested in parallel batch requests to reduce frontend page loading times, with automatic fallbacks for unrecognized types.
  • Editable via Settings: Manage your custom device types configuration dynamically.

4. 🎨 UI Wrap Layouts & Resizable MAC Tables

  • Port Graphic Wrapping: Added a configurable Ports Row Wrap Threshold general setting. Switch port indicators wrap into multiple stacked rows if their count exceeds this limit (highly useful for OVS virtual bridges with large numbers of interfaces).
  • Resizable MAC Table Columns: MAC Address table columns are now fully resizable by dragging header borders. Sizing configurations are saved persistently on the server.
  • Adaptive Inputs: Host/Nickname text boxes scale to width: 100% of the column, adjusting dynamically when column margins are resized.

💾 Installation & Upgrading

Using the Automated Installer (Debian/Ubuntu/RHEL)

To pull the latest release and run the auto-installer:

cd switch-dashboard
git pull
sudo bash install.sh

Using Docker Compose

Simply pull the updated image and recreate the containers:

docker compose pull
docker compose up -d --force-recreate

🛠️ Detailed Changelog

  • [app.py]: Bumped VERSION to "2026.6.2".
  • [app.py]: Implemented ports_wrap_threshold parameters routing, validation, and serialization.
  • [scraper.py]: Modified OVS speed parsing for fractional speeds (2500 Mbps -> 2.5G).
  • [templates/index.html]: Added .mac-table layout fixed styles, resizer handles, and layout resize event handlers.
  • [templates/index.html]: Implemented port graphic wrapping math inside renderSwitch.
  • [templates/config.html]: Added General Settings input for Ports Row Wrap Threshold.
  • [README.md]: Documented Proxmox OVS installation steps and user setups.