[pve-devel] superseded: [PATCH manager/network/proxmox{-ve-rs, -perl-rs} v4 00/13] Add fabric status view
Stefan Hanreich
s.hanreich at proxmox.com
Thu Oct 30 16:53:10 CET 2025
https://lore.proxmox.com/pve-devel/20251030154851.540408-1-s.hanreich@proxmox.com/T/#t
On 9/4/25 1:42 PM, Gabriel Goller wrote:
> This patch series adds fabric status monitoring to the UI by adding the fabric
> status into pvestatd, making it visible in the SDN view and node resources.
>
> There is also a new FabricContentView visible when clicking on the fabrics in
> the node resource tree. There you can see the routes distributed by the fabric
> and the neighbors of the current node. These statistics are retrieved using
> separate api calls and are not stored in pvestatd.
>
> The fabric status is "ok" when at least one route exists.
>
> Route and neighbor data comes from FRR via `vtysh` commands. Since routes and
> neighbors often lack fabric association, we match them by the interface name:
> we retrieve interfaces configured for the fabric on the current node (by
> reading and parsing the running-config), then match against e.g. a routes
> outgoing interface.
>
> Changelog:
> v3, thanks @Stefan:
> * read running-config instead of written config
> * rebase
>
> v2, thanks @Wobu:
> * moved the conversion functions and return types to another module
> * removed some allocations
>
> v1, thanks @Stefan:
> * moved the frr deserialization structs to proxmox-frr
> * fixed typo in documentation
>
> proxmox-ve-rs:
>
> Gabriel Goller (3):
> frr: make room for deserialization structs
> frr: add deserialization types for openfabric and ospf
> ve-config: add helper function to iterate over all nodes in all
> fabrics
>
> proxmox-frr/Cargo.toml | 1 +
> proxmox-frr/debian/control | 4 +
> proxmox-frr/src/de/mod.rs | 104 ++++++++++
> proxmox-frr/src/de/openfabric.rs | 42 ++++
> proxmox-frr/src/de/ospf.rs | 57 ++++++
> proxmox-frr/src/lib.rs | 243 +-----------------------
> proxmox-frr/src/ser/mod.rs | 241 +++++++++++++++++++++++
> proxmox-frr/src/{ => ser}/openfabric.rs | 4 +-
> proxmox-frr/src/{ => ser}/ospf.rs | 2 +-
> proxmox-frr/src/{ => ser}/route_map.rs | 0
> proxmox-frr/src/{ => ser}/serializer.rs | 2 +-
> proxmox-ve-config/src/sdn/fabric/frr.rs | 170 +++++++++--------
> proxmox-ve-config/src/sdn/fabric/mod.rs | 5 +
> proxmox-ve-config/src/sdn/frr.rs | 2 +-
> proxmox-ve-config/tests/fabric/main.rs | 2 +-
> 15 files changed, 554 insertions(+), 325 deletions(-)
> create mode 100644 proxmox-frr/src/de/mod.rs
> create mode 100644 proxmox-frr/src/de/openfabric.rs
> create mode 100644 proxmox-frr/src/de/ospf.rs
> create mode 100644 proxmox-frr/src/ser/mod.rs
> rename proxmox-frr/src/{ => ser}/openfabric.rs (97%)
> rename proxmox-frr/src/{ => ser}/ospf.rs (99%)
> rename proxmox-frr/src/{ => ser}/route_map.rs (100%)
> rename proxmox-frr/src/{ => ser}/serializer.rs (99%)
>
>
> proxmox-perl-rs:
>
> Gabriel Goller (4):
> pve: fabrics: update proxmox-frr import path
> fabrics: add function to get status of fabric
> fabrics: add function to get all routes distributed by the fabrics
> fabrics: add function to get all neighbors of the fabric
>
> pve-rs/src/bindings/sdn/fabrics.rs | 163 +++++++++++++-
> pve-rs/src/lib.rs | 2 +
> pve-rs/src/sdn/mod.rs | 3 +
> pve-rs/src/sdn/status.rs | 339 +++++++++++++++++++++++++++++
> 4 files changed, 506 insertions(+), 1 deletion(-)
> create mode 100644 pve-rs/src/sdn/mod.rs
> create mode 100644 pve-rs/src/sdn/status.rs
>
>
> pve-network:
>
> Gabriel Goller (3):
> fabrics: add fabrics status to SDN::status function
> fabrics: add api endpoint to return fabrics routes
> fabrics: add api endpoint to return fabric neighbors
>
> src/PVE/API2/Network/SDN/Fabrics.pm | 117 +++++++++++++++++++++-
> src/PVE/API2/Network/SDN/Zones/Content.pm | 2 +-
> src/PVE/API2/Network/SDN/Zones/Status.pm | 2 +-
> src/PVE/Network/SDN.pm | 6 +-
> src/test/debug/statuscheck.pl | 3 +-
> 5 files changed, 124 insertions(+), 6 deletions(-)
>
>
> pve-manager:
>
> Gabriel Goller (3):
> pvestatd: add fabrics status to pvestatd
> fabrics: add resource view for fabrics
> permissions: differentiate between zone and fabric paths
>
> PVE/API2/Cluster.pm | 73 ++++++++++++---
> PVE/Service/pvestatd.pm | 12 ++-
> www/manager6/Makefile | 1 +
> www/manager6/data/PermPathStore.js | 9 +-
> www/manager6/sdn/Browser.js | 120 ++++++++++++++++++++-----
> www/manager6/sdn/FabricsContentView.js | 91 +++++++++++++++++++
> www/manager6/sdn/StatusView.js | 2 +-
> 7 files changed, 267 insertions(+), 41 deletions(-)
> create mode 100644 www/manager6/sdn/FabricsContentView.js
>
>
> Summary over all repositories:
> 31 files changed, 1451 insertions(+), 373 deletions(-)
>
More information about the pve-devel
mailing list