]> ###&version; - Plugins page description is the short summary. - Settings opens on the FRR notes. ###2026.09.28ab - Settings save include refuses GET (only runs from Unraid update.php POST). ###2026.09.28aa - Package catalog is the manifest.json bundled with the plugin; no lookup on live main. Install drops old .txz by version. ###2026.09.27aa - Plugin payload is a flash .txz from the GitHub Release (not re-fetched from main at boot). ###2026.09.08aa - Install overlays hashed files; do not wipe the live plugin before FILE copy. ###2026.09.06aa–ab - Hashed plugin install (SHA256/MD5); catalog/install URLs pin main. ###2026.08.28aa - Download and Install: Done/Dismiss after packages finish. ### Older releases - Full changelog: https://github.com/ibigsnet/FabricRouting/blob/main/CHANGELOG.md /dev/null || true echo "FabricRouting: ready." ]]> https://github.com/ibigsnet/FabricRouting/releases/download/v&version;/FabricRouting-&version;-x86_64-1.txz d49de5111b1060205015931a5477e6516e1344a1a7eb69c40cb02b8bec6d2d70 69d17eabbc927a3838c9dbee07c923b1 find &configdir; -maxdepth 1 -name "&name;-*-x86_64-1.txz" ! -name "&name;-&version;-x86_64-1.txz" -delete 2>/dev/null || true /dev/null || true chmod 755 /usr/local/emhttp/plugins/FabricRouting/event/started 2>/dev/null || true mkdir -p /boot/config/plugins/FabricRouting/packages if [ ! -f /boot/config/plugins/FabricRouting/FabricRouting.cfg ] \ && [ -f /usr/local/emhttp/plugins/FabricRouting/default.cfg ]; then cp -a /usr/local/emhttp/plugins/FabricRouting/default.cfg /boot/config/plugins/FabricRouting/FabricRouting.cfg fi # Legacy UnraidFRR flash (one-time migrate) if [ -d /boot/config/plugins/UnraidFRR ]; then cp -an /boot/config/plugins/UnraidFRR/. /boot/config/plugins/FabricRouting/ 2>/dev/null || true fi echo "FabricRouting: packages now: $(ls /var/log/packages/FabricRouting-* 2>/dev/null | xargs -n1 basename 2>/dev/null | tr '\n' ' ')" echo "FabricRouting: install complete. Settings → Network Settings → Fabric Routing" echo "FabricRouting: Hard-refresh the browser (Ctrl+Shift+R)." ]]> /dev/null || true pkill -f 'frr_apply|FabricRouting/include/frr-lib' 2>/dev/null || true systemctl stop frr 2>/dev/null || true /usr/sbin/frrinit.sh stop 2>/dev/null || true /usr/lib/frr/frrinit.sh stop 2>/dev/null || true service frr stop 2>/dev/null || true for p in zebra fabricd bgpd ospfd ospf6d isisd staticd bfdd watchfrr mgmtd; do pkill -x "$p" 2>/dev/null || true done sleep 1 for p in zebra fabricd bgpd ospfd ospf6d isisd staticd bfdd watchfrr mgmtd; do pkill -9 -x "$p" 2>/dev/null || true done # FRR packages this plugin installed (manifest + sweep) MAN=/boot/config/plugins/FabricRouting/packages/MANIFEST.txt if [ -f "$MAN" ]; then while IFS= read -r line || [ -n "$line" ]; do line="${line%%#*}" line="$(echo "$line" | tr -d '\r' | xargs)" [ -z "$line" ] && continue base="$(basename "$line")" pkgname="$(echo "$base" | sed -E 's/\.(t[gx]z|tar\.gz)$//')" removepkg "$pkgname" 2>/dev/null || true done < "$MAN" fi for pkgpath in /var/log/packages/frr-* /var/log/packages/libyang-*; do [ -e "$pkgpath" ] || continue removepkg "$(basename "$pkgpath")" 2>/dev/null || true done # Plugin package + emhttp for p in /var/log/packages/FabricRouting-*; do [ -e "$p" ] || continue removepkg "$(basename "$p")" 2>/dev/null || true done rm -rf /var/run/frr /run/frr /etc/frr /var/lib/frr /var/tmp/frr 2>/dev/null || true rm -f /var/log/fabricrouting.log 2>/dev/null || true rm -rf /usr/local/emhttp/plugins/FabricRouting # Legacy product id rm -rf /usr/local/emhttp/plugins/UnraidFRR /boot/config/plugins/UnraidFRR rm -f /boot/config/plugins/unraidfrr.plg /var/log/plugins/unraidfrr.plg 2>/dev/null || true # Flash plugin tree (includes package cache) rm -rf /boot/config/plugins/FabricRouting rm -f /var/log/plugins/fabricrouting.plg 2>/dev/null || true rm -f /tmp/plugins/fabricrouting.txt 2>/dev/null || true # Note: do not delete /tmp/plugins/fabricrouting.plg here — Unraid install working copy # Note: do not touch /boot/config/plugins-removed/ (Unraid-owned) echo "FabricRouting: removed." echo "FabricRouting: did not modify network.cfg, br0, Docker, or Thunderbolt Net." echo "FabricRouting: hard-refresh the browser (Ctrl+Shift+R)." ]]>