From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 586D61FF0DF for ; Fri, 28 Aug 2026 13:33:21 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 984AA215C8; Fri, 28 Aug 2026 13:33:05 +0200 (CEST) From: Gabriel Goller To: pve-devel@lists.proxmox.com Subject: [PATCH docs/gui-tests/manager/network/proxmox{-ve-rs,-perl-rs} v3 00/13] Add IS-IS protocol to fabrics Date: Fri, 28 Aug 2026 13:32:39 +0200 Message-ID: <20260828113255.176546-1-g.goller@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1787916770176 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.489 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 5BGYL3DPDDLHGGFWMKSTWLN7YO77KAS4 X-Message-ID-Hash: 5BGYL3DPDDLHGGFWMKSTWLN7YO77KAS4 X-MailFrom: g.goller@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: As part of our effort to deprecate the existing controllers and transition toward a fabric-based architecture, we are introducing an IS-IS fabric. To centralize all routing protocols, we plan to consolidate them under the "Fabrics" sidebar menu. Additionally, we aim to generate all routing protocol configurations in a unified location using Rust. Following the integration of OpenFabric and OSPF, the next logical step is to migrate the IS-IS controller to the fabrics framework. This patch series adds an IS-IS Fabric option to the "Fabrics" menu while retaining the original IS-IS controller for backward compatibility. Since the two do not interfere, we will include a warning recommending the use of the new IS-IS Fabrics instead. The primary difference between the IS-IS Controller and the IS-IS Fabric is that the Fabric does not automatically redistribute connected routes into the Link State DB. This change is intentional, as we intend to implement a more advanced redistribution and route-map mechanism in the future, rather than relying on a simple checkbox. Users who need to redistribute connected routes with the new IS-IS Fabrics can do so by manually adding the appropriate FRR statement to the /etc/frr/frr.conf.local file. Changelog: v2: * rebase ontop of master v1: * rebase ontop of template series proxmox-ve-rs: Gabriel Goller (5): frr: add fabric properties to ISIS types and rename domain ve-config: add IS-IS fabric config parsing and frr config generation ve-config: add integration tests for IS-IS fabrics ve-config: add IS-IS status deserialization types frr: accept legacy ISIS domain field proxmox-frr-templates/templates/isisd.jinja | 23 +- proxmox-frr/src/de/isis.rs | 103 ++++++++ proxmox-frr/src/de/mod.rs | 1 + proxmox-frr/src/ser/isis.rs | 28 ++- proxmox-frr/src/ser/mod.rs | 11 + proxmox-ve-config/src/sdn/fabric/frr.rs | 224 +++++++++++++++++- proxmox-ve-config/src/sdn/fabric/mod.rs | 109 +++++++++ .../src/sdn/fabric/section_config/fabric.rs | 22 ++ .../src/sdn/fabric/section_config/mod.rs | 19 ++ .../src/sdn/fabric/section_config/node.rs | 21 ++ .../fabric/section_config/protocol/isis.rs | 159 +++++++++++++ .../sdn/fabric/section_config/protocol/mod.rs | 1 + .../tests/fabric/cfg/isis_default/fabrics.cfg | 18 ++ .../fabric/cfg/isis_dualstack/fabrics.cfg | 22 ++ .../fabric/cfg/isis_ipv6_only/fabrics.cfg | 18 ++ proxmox-ve-config/tests/fabric/main.rs | 63 +++++ .../snapshots/fabric__isis_default_pve.snap | 36 +++ .../snapshots/fabric__isis_default_pve1.snap | 35 +++ .../snapshots/fabric__isis_dualstack_pve.snap | 48 ++++ .../snapshots/fabric__isis_ipv6_only_pve.snap | 37 +++ 20 files changed, 992 insertions(+), 6 deletions(-) create mode 100644 proxmox-frr/src/de/isis.rs create mode 100644 proxmox-ve-config/src/sdn/fabric/section_config/protocol/isis.rs create mode 100644 proxmox-ve-config/tests/fabric/cfg/isis_default/fabrics.cfg create mode 100644 proxmox-ve-config/tests/fabric/cfg/isis_dualstack/fabrics.cfg create mode 100644 proxmox-ve-config/tests/fabric/cfg/isis_ipv6_only/fabrics.cfg create mode 100644 proxmox-ve-config/tests/fabric/snapshots/fabric__isis_default_pve.snap create mode 100644 proxmox-ve-config/tests/fabric/snapshots/fabric__isis_default_pve1.snap create mode 100644 proxmox-ve-config/tests/fabric/snapshots/fabric__isis_dualstack_pve.snap create mode 100644 proxmox-ve-config/tests/fabric/snapshots/fabric__isis_ipv6_only_pve.snap proxmox-perl-rs: Gabriel Goller (2): pve-rs: fabrics: add IS-IS protocol ifupdown config generation sdn: add IS-IS fabric status reporting pve-rs/src/bindings/sdn/fabrics.rs | 136 +++++ pve-rs/src/sdn/status.rs | 949 +++++++++++++++++++++++++++-- 2 files changed, 1026 insertions(+), 59 deletions(-) pve-network: Gabriel Goller (2): fabrics: add IS-IS api types sdn: controllers: rename isis domain to fabric_id src/PVE/Network/SDN/Controllers/IsisPlugin.pm | 2 +- src/PVE/Network/SDN/Fabrics.pm | 51 ++++++++++++++++--- src/PVE/Network/SDN/Frr.pm | 1 + 3 files changed, 45 insertions(+), 9 deletions(-) pve-manager: Gabriel Goller (2): fabrics: add IS-IS panels sdn: add warning about IS-IS controller deprecation www/manager6/Makefile | 3 ++ www/manager6/sdn/FabricsView.js | 12 +++++ www/manager6/sdn/controllers/IsisEdit.js | 5 ++ www/manager6/sdn/fabrics/NodeEdit.js | 1 + www/manager6/sdn/fabrics/isis/FabricEdit.js | 48 +++++++++++++++++++ .../sdn/fabrics/isis/InterfacePanel.js | 21 ++++++++ www/manager6/sdn/fabrics/isis/NodeEdit.js | 9 ++++ 7 files changed, 99 insertions(+) create mode 100644 www/manager6/sdn/fabrics/isis/FabricEdit.js create mode 100644 www/manager6/sdn/fabrics/isis/InterfacePanel.js create mode 100644 www/manager6/sdn/fabrics/isis/NodeEdit.js pve-docs: Gabriel Goller (1): sdn: add section about IS-IS fabric pvesdn.adoc | 111 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 105 insertions(+), 6 deletions(-) pve-gui-tests: Gabriel Goller (1): fabrics: add screenshots for IS-IS fabric and nodes pve/fabrics-screenshots | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) Summary over all repositories: 34 files changed, 2314 insertions(+), 80 deletions(-) -- Generated by murpp 0.11.0