Re: [pve-devel] [PATCH manager 1/1] fix #6311: ui: prevent consent text from showing twice for oidc

2025-04-14 Thread Gabriel Goller
Oof, didn't test with OIDC, my bad. Not an OIDC expert, so would be nice if someone else chimes in, but it works as advertised with a simple keycloak server setup. Consider: Tested-by: Gabriel Goller ___ pve-devel mailing list pve-

[pve-devel] [PATCH proxmox-i18n] Update italian translation

2025-04-08 Thread Gabriel Goller
Typos and errors introduced by previous commit. Fixes: 99c75561ae98 ("update Italian translations") Signed-off-by: Gabriel Goller --- it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/it.po b/it.po index e3128c5ba04b..95997e333272 100644 --- a/it.po +

Re: [pve-devel] [PATCH manager v4 1/3] lxc: show dynamically assigned IPs in network tab

2025-04-08 Thread Gabriel Goller
If you want to take this in with this release, I can send a new version, but I'd like to wait a bit to be honest. The Summary looks currently a bit rough, even with the scrollbar. Also we can't differentiate between a dhcp ip-address or an address set manually on the container itself (and we alwa

Re: [pve-devel] [PATCH manager v4 1/3] lxc: show dynamically assigned IPs in network tab

2025-04-08 Thread Gabriel Goller
On 08.04.2025 12:18, Thomas Lamprecht wrote: Am 08.04.25 um 12:06 schrieb Gabriel Goller: On 07.04.2025 19:46, Thomas Lamprecht wrote: Am 08.01.25 um 15:38 schrieb Gabriel Goller: adds a call to /nodes/{node}/lxc/{vmid}/interfaces and merges the returned data with the existing configuration

Re: [pve-devel] [PATCH manager v4 1/3] lxc: show dynamically assigned IPs in network tab

2025-04-08 Thread Gabriel Goller
On 07.04.2025 19:46, Thomas Lamprecht wrote: Am 08.01.25 um 15:38 schrieb Gabriel Goller: adds a call to /nodes/{node}/lxc/{vmid}/interfaces and merges the returned data with the existing configuration. This will update the IPv4 and IPv6 address, as well as the interface name (in case the

[pve-devel] [PATCH proxmox-firewall 1/1] firewall: nftables: migrate to proxmox-network-types

2025-04-05 Thread Gabriel Goller
From: Stefan Hanreich The fabrics patch series moved some generic network types into its own crate, so they can be reused across crates. Migrate proxmox-firewall to use the new proxmox-network-types crate instead of proxmox_ve_config. Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel

[pve-devel] [PATCH pve-network 11/17] api: add fabrics subfolder

2025-04-05 Thread Gabriel Goller
also need to add a special case in encode_value for the interface key of nodes, since they require special handling when encoding because they are arrays. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN.pm | 7

[pve-devel] [PATCH proxmox-perl-rs 1/7] perl-rs: sdn: initial fabric infrastructure

2025-04-05 Thread Gabriel Goller
Add SDN fabric support with OpenFabric and OSPF configuration parsing. Implements PerlSectionConfig wrapper and Perl module exports for fabric configuration management. Signed-off-by: Gabriel Goller --- pve-rs/Cargo.toml | 6 - pve-rs/Makefile | 1 + pve-rs/src/lib.rs

[pve-devel] [PATCH proxmox-perl-rs 4/7] perl-rs: sdn: implement OSPF interface file configuration generation

2025-04-05 Thread Gabriel Goller
Add function to generate /etc/network/interfaces configuration for OpenFabric nodes: - Auto-create dummy interfaces with proper router-id - Configure interface addresses and IP forwarding - Support for both IPv4 and IPv6 addressing on both dummy and other interfaces Signed-off-by: Gabriel

Re: [pve-devel] [PATCH pve-manager 6/7] fabrics: Add main FabricView

2025-04-05 Thread Gabriel Goller
On 02.04.2025 11:50, Christoph Heiss wrote: Some comments inline - did the review mostly in tandem with testing the UI, to get a better context. On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: [..] diff --git a/www/manager6/dc/Config.js b/www/manager6/dc/Config.js index 74728c8320e9

Re: [pve-devel] [PATCH pve-docs 1/1] fabrics: add initial documentation for sdn fabrics

2025-04-05 Thread Gabriel Goller
On 31.03.2025 10:44, Shannon Sterz wrote: On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: [snip] I agree with everthing above. + +Router-ID Selection +^^^ + +Each node in a fabric needs a unique router ID, which is an IPv4 (or IPv6 in +OpenFabric) address in dotted

[pve-devel] [PATCH pve-manager 7/7] utils: avoid line-break in pending changes message

2025-04-05 Thread Gabriel Goller
Remove line-break on sdn "pending configuration" message on removed sdn objects. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- www/manager6/Utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/manager6/

[pve-devel] [PATCH proxmox-ve-rs 05/17] frr: create proxmox-frr crate

2025-04-04 Thread Gabriel Goller
types. This way we could reuse proxmox-frr on different products, without dragging product-specific types with us. Signed-off-by: Gabriel Goller --- Cargo.toml | 1 + proxmox-frr/Cargo.toml | 22 +++ proxmox-frr/debian/changelog | 5 proxmo

Re: [pve-devel] [PATCH cluster/docs/manager/network/proxmox{, -ve-rs, -firewall, -perl-rs} 00/52] Add SDN Fabrics

2025-04-04 Thread Gabriel Goller
On 03.04.2025 10:30, Friedrich Weber wrote: On 28/03/2025 18:12, Gabriel Goller wrote: This series allows the user to add fabrics such as OpenFabric and OSPF over their clusters. Overview This series allows the user to create routed networks ('fabrics') across their clust

[pve-devel] [PATCH proxmox-ve-rs 11/17] frr: add serializer for all FRR types

2025-04-04 Thread Gabriel Goller
This custom serializer will serialize all the FRR types into a string, which is the FRR config. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs| 2 + proxmox-frr/src/serializer.rs | 192 ++ 2 files changed, 194 insertions(+) create mode 100644

Re: [pve-devel] [PATCH cluster/docs/manager/network/proxmox{, -ve-rs, -firewall, -perl-rs} 00/52] Add SDN Fabrics

2025-04-04 Thread Gabriel Goller
On 04.04.2025 12:55, Hannes Duerr wrote: On 3/28/25 18:12, Gabriel Goller wrote: This series allows the user to add fabrics such as OpenFabric and OSPF over their clusters. Overview This series allows the user to create routed networks ('fabrics') across their clusters, wh

[pve-devel] [PATCH pve-manager v2 11/11] ui: permissions: add ACL paths for fabrics

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/data/PermPathStore.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/www/manager6/data/PermPathStore.js b/www/manager6/data/PermPathStore.js index 72da2e9da4a1..4654d51654c1 100644

[pve-devel] [PATCH pve-network v2 04/19] refactor: controller: move frr methods into helper

2025-04-04 Thread Gabriel Goller
ctive Zone / VNet Plugins, instead of in the EVPN controller, but this was beyond the scope of this already quite large patch series. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN/Controllers/EvpnPlugin.pm

[pve-devel] [PATCH pve-manager v2 01/11] api: use new generalized frr and etc network config helper functions

2025-04-04 Thread Gabriel Goller
ControllerPlugin – that's why the frr generation has also been factored out. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- PVE/API2/Network.pm | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Network.pm b/PVE/API2/Network.pm index 12ee6cc

Re: [pve-devel] [PATCH cluster/docs/manager/network/proxmox{, -ve-rs, -firewall, -perl-rs} 00/52] Add SDN Fabrics

2025-04-04 Thread Gabriel Goller
On 04.04.2025 14:53, Hannes Duerr wrote: On 4/4/25 14:48, Gabriel Goller wrote: On 04.04.2025 12:55, Hannes Duerr wrote: On 3/28/25 18:12, Gabriel Goller wrote: This series allows the user to add fabrics such as OpenFabric and OSPF over their clusters. Overview This series allows

[pve-devel] [PATCH proxmox-ve-rs v2 04/15] frr: add openfabric types

2025-04-04 Thread Gabriel Goller
synchronization frequency), and HelloMultiplier (neighbor failure detection). Added `is_ipv6` flag to support FRR's command prefixing requirements during serialization for IPv6-specific commands (we need to add a 'ipv6' prefix to some commands). Signed-off-by: Gabriel Goller --- pro

[pve-devel] [PATCH pve-network v2 14/19] api: openfabric: add node endpoints

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Add CRUD endpoints for manipulating OpenFabric nodes. They are implemented in proxmox-perl-rs. Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN/Fabrics/Makefile | 2 +- .../Network/SDN/Fabrics/OpenFabricNode.pm | 181

[pve-devel] [PATCH pve-docs v2 1/1] fabrics: add initial documentation for sdn fabrics

2025-04-04 Thread Gabriel Goller
Add initial documentation for the openfabric and ospf options. Signed-off-by: Gabriel Goller --- pvesdn.adoc | 206 1 file changed, 206 insertions(+) diff --git a/pvesdn.adoc b/pvesdn.adoc index 5d5d27bfbc1f..414f39c5109e 100644 --- a

[pve-devel] [PATCH pve-network v2 08/19] test: isis: add test for standalone configuration

2025-04-04 Thread Gabriel Goller
. Add a test that covers that scenario. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- .../expected_controller_config| 22 +++ .../isis_standalone/expected_sdn_interfaces | 1 + .../zones/evpn/isis_standalone

[pve-devel] [PATCH proxmox-perl-rs v2 2/7] perl-rs: sdn: add CRUD helpers for OpenFabric fabric management

2025-04-04 Thread Gabriel Goller
Add functionality for managing OpenFabric fabrics: - Implement Rust-backed Perl module PVE::RS::SDN::Fabrics::OpenFabric - Add CRUD methods for fabric, node, and interface configuration - Support fabric-specific parameters (hello-intervals, router-id, etc.) Signed-off-by: Gabriel Goller --- pve

[pve-devel] [PATCH pve-network v2 18/19] test: fabrics: add test cases for ospf and openfabric + evpn

2025-04-04 Thread Gabriel Goller
Hanreich Signed-off-by: Gabriel Goller --- .../expected_controller_config| 72 .../openfabric_fabric/expected_sdn_interfaces | 56 .../zones/evpn/openfabric_fabric/interfaces | 6 ++ .../zones/evpn/openfabric_fabric/sdn_config | 85

[pve-devel] [PATCH pve-network v2 11/19] fabrics: generate ifupdown configuration

2025-04-04 Thread Gabriel Goller
configuration before writing it to the /etc/network/interfaces.d/sdn file. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 68 -- src/PVE/Network/SDN/Fabrics.pm | 14 +++ src/PVE

[pve-devel] [PATCH proxmox-perl-rs v2 5/7] perl-rs: sdn: add CRUD helpers for OSPF fabric management

2025-04-04 Thread Gabriel Goller
Add CRUD functions for managing OSPF fabrics. Signed-off-by: Gabriel Goller --- pve-rs/Makefile| 1 + pve-rs/src/sdn/mod.rs | 1 + pve-rs/src/sdn/ospf.rs | 217 + 3 files changed, 219 insertions(+) create mode 100644 pve-rs/src/sdn/ospf.rs

[pve-devel] [PATCH proxmox-perl-rs v2 6/7] perl-rs: sdn: OSPF perlmod methods

2025-04-04 Thread Gabriel Goller
CRUD methods for perlmod that call the helper functions defined earlier. Also add a method that returns the FRR daemons to be enabled and a method that generates FRR configuration after validating it. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- pve-rs/src/sdn/ospf.rs

[pve-devel] [PATCH pve-gui-tests v2 1/1] pve: add sdn/fabrics screenshots

2025-04-04 Thread Gabriel Goller
Add a few screenshots for the sdn->fabrics panel: * fabric overview * openfabric fabric creation * ospf fabric creation * openfabric node creation * ospf node creation Signed-off-by: Gabriel Goller --- create_fabrics_screenshots | 197 + 1 file chan

[pve-devel] [PATCH pve-network v2 06/19] controllers: implement new api for frr config generation

2025-04-04 Thread Gabriel Goller
. This requires a few changes in the controller API, so that they now append to a passed perl hash, instead of directly writing their own configuration which is now handled externally by the SDN module. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller

[pve-devel] [PATCH pve-network v2 13/19] api: openfabric: add api endpoints

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Add CRUD endpoints for OpenFabric fabrics. The logic is handled by proxmox-perl-rs itself, the endpoints are just proxying the Rust implementation. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN

[pve-devel] [PATCH pve-network v2 02/19] debian: add dependency to proxmox-perl-rs

2025-04-04 Thread Gabriel Goller
We call perlmod rust functions directly from pve-network. Signed-off-by: Gabriel Goller --- debian/control | 3 +++ 1 file changed, 3 insertions(+) diff --git a/debian/control b/debian/control index 34b736676766..bfa81566a0e4 100644 --- a/debian/control +++ b/debian/control @@ -6,11 +6,13

[pve-devel] [PATCH pve-network v2 09/19] sdn: frr: add daemon status to frr helper

2025-04-04 Thread Gabriel Goller
respective hash of the Frr module. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 18 +- src/PVE/Network/SDN/Fabrics.pm | 17 + src/PVE/Network/SDN/Frr.pm | 64 ++ 3

[pve-devel] [PATCH pve-manager v2 08/11] fabric: add OSPF fabric edit panel

2025-04-04 Thread Gabriel Goller
every node, and to change the name we would need to modify ever node's config as well.) Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile | 1 + www/manager6/sdn/fabrics/ospf/FabricEdit.js | 40 + 2 files change

[pve-devel] [PATCH pve-manager v2 03/11] fabric: add OpenFabric interface properties

2025-04-04 Thread Gabriel Goller
are used mainly for setting interface or node-specific properties, otherwise the global fabric-specific properties should be used. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile | 1 + .../sdn/fabrics/openfabric/InterfacePanel.js

[pve-devel] [PATCH proxmox v2 1/1] serde: add string_as_bool module for boolean string parsing

2025-04-04 Thread Gabriel Goller
. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- proxmox-serde/src/lib.rs | 84 1 file changed, 84 insertions(+) diff --git a/proxmox-serde/src/lib.rs b/proxmox-serde/src/lib.rs index c162834905c2..705ad430c953 100644 --- a/proxmox

[pve-devel] [PATCH proxmox-ve-rs v2 15/15] ve-config: add integrations tests

2025-04-04 Thread Gabriel Goller
Add integration tests for the full cycle from section-config to FRR config file for both openfabric and ospf. Signed-off-by: Gabriel Goller --- proxmox-ve-config/Cargo.toml | 3 + proxmox-ve-config/debian/control | 2 + .../tests/fabric/cfg

[pve-devel] [PATCH pve-manager v2 09/11] fabrics: Add main FabricView

2025-04-04 Thread Gabriel Goller
the interface entries and also moved the protocol to the column (instead of having two root nodes for each protocol). Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- www/manager6/Makefile | 1 + www/manager6/dc/Config.js | 8 + www/manager6/sdn/FabricsView.js

[pve-devel] [PATCH access-control/cluster/docs/gui-tests/manager/network/proxmox{, -ve-rs, -perl-rs} v2 00/57] Add SDN Fabrics

2025-04-04 Thread Gabriel Goller
thanks @Thomas) frr (external) -- * got this one merged: https://github.com/FRRouting/frr/pull/18242, so we *could* automatically add dummy interfaces Big thanks to Stefan Hanreich for his help and support throughout this series! proxmox: Gabriel Goller (1): se

[pve-devel] [PATCH pve-network v2 15/19] api: ospf: add fabric endpoints

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Add CRUD endpoints for the ospf fabric and node section types. They are implemented in proxmox-perl-rs. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN/Fabrics/Makefile | 2 +- src/PVE/API2

[pve-devel] [PATCH pve-network v2 16/19] api: ospf: add node endpoints

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Add CRUD endpoints for OSPF nodes. They are implemented in proxmox-perl-rs. Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN/Fabrics/Makefile| 2 +- src/PVE/API2/Network/SDN/Fabrics/OSPFNode.pm | 163 +++ 2

[pve-devel] [PATCH pve-manager v2 04/11] fabric: add OSPF interface properties

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Extends PVE.sdn.Fabric.InterfacePanel to add OSPF-specific interface properties including passive mode and unnumbered network-type. Passive is hidden by default to reduce UI complexity, as it's rarely used. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel G

[pve-devel] [PATCH pve-network v2 10/19] sdn: commit fabrics config to running configuration

2025-04-04 Thread Gabriel Goller
-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 7 ++- src/PVE/Network/SDN/Fabrics.pm | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/PVE/Network/SDN.pm b/src/PVE/Network/SDN.pm index

[pve-devel] [PATCH proxmox-ve-rs v2 13/15] ve-config: add validation for section-config

2025-04-04 Thread Gabriel Goller
he key to the node section is called the `NodeId` and consist of two parts: `test`, which is the fabric, and `pve0`, which is the nodename. The validation checks if the `test` fabric exists. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- proxmox-ve-config/src/sdn/fabric/

[pve-devel] [PATCH proxmox-ve-rs v2 10/15] ve-config: add openfabric section-config

2025-04-04 Thread Gabriel Goller
This is the main openfabric configuration. It is used to parse from the section-config file (`/etc/pve/sdn/fabrics/openfabric.cfg`) and is also returned from the api. Signed-off-by: Gabriel Goller --- Cargo.toml| 4 +- proxmox-ve-config/Cargo.toml

[pve-devel] [PATCH pve-network v2 01/19] sdn: fix value returned by pending_config

2025-04-04 Thread Gabriel Goller
-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PVE/Network/SDN.pm b/src/PVE/Network/SDN.pm index 68f9e0fffbfe..c9c45b1c07ea 100644 --- a/src/PVE/Network/SDN.pm

[pve-devel] [PATCH proxmox-perl-rs v2 7/7] perl-rs: sdn: implement OSPF interface file configuration generation

2025-04-04 Thread Gabriel Goller
configurations Note that the `ospfd` daemon only supports IPv4 so we only have IPv4 addresses for OSPF. In a follow-up we could also support the `ospf6d` daemon, which supports IPv6. Signed-off-by: Gabriel Goller --- pve-rs/src/sdn/ospf.rs | 56 +- 1 file

[pve-devel] [PATCH proxmox-perl-rs v2 4/7] perl-rs: sdn: implement Openfabric interface file generation

2025-04-04 Thread Gabriel Goller
Add function to generate /etc/network/interfaces configuration for OpenFabric nodes: - Auto-create dummy interfaces with proper router-id - Configure interface addresses and IP forwarding - Support for both IPv4 and IPv6 addressing on both dummy and other interfaces Signed-off-by: Gabriel

[pve-devel] [PATCH pve-access-control v2 1/1] permissions: add ACL paths for SDN fabrics

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- src/PVE/AccessControl.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PVE/AccessControl.pm b/src/PVE/AccessControl.pm index 47f2d38b09c7..7b2dae35448d 100644 --- a/src/PVE/AccessControl.pm

[pve-devel] [PATCH proxmox-ve-rs v2 11/15] ve-config: add ospf section-config

2025-04-04 Thread Gabriel Goller
This is the main configuration for OSPF. It is used to parse the section config file and is returned from the api. Signed-off-by: Gabriel Goller --- proxmox-ve-config/src/sdn/fabric/ospf/mod.rs | 219 +++ 1 file changed, 219 insertions(+) create mode 100644 proxmox-ve-config

[pve-devel] [PATCH proxmox-ve-rs v2 08/15] frr: add serializer for all FRR types

2025-04-04 Thread Gabriel Goller
This custom serializer will serialize all the FRR types into a string, which is the FRR config. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs| 2 + proxmox-frr/src/serializer.rs | 192 ++ 2 files changed, 194 insertions(+) create mode 100644

[pve-devel] [PATCH proxmox-ve-rs v2 05/15] frr: add ospf types

2025-04-04 Thread Gabriel Goller
int". The other options are also not that interesting. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs | 20 ++ proxmox-frr/src/ospf.rs | 135 2 files changed, 155 insertions(+) create mode 100644 proxmox-frr/src/ospf.rs diff --git a/pr

[pve-devel] [PATCH proxmox-ve-rs v2 06/15] frr: add route-map types

2025-04-04 Thread Gabriel Goller
route-ids will be distibuted, but won't be pingable, because because the source address is wrong. By rewriting the source we guarantee that a ping will always find it's way back to the source router-id. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs | 1 + proxm

[pve-devel] [PATCH proxmox-ve-rs v2 14/15] ve-config: add section-config to frr types conversion

2025-04-04 Thread Gabriel Goller
the local dummy_interface. * ip-protocol statements These add the route-map to the protocol and all the routes from the protocol are going through the route-map. Signed-off-by: Gabriel Goller --- proxmox-ve-config/Cargo.toml| 5 + proxmox-ve-config/debian/control

[pve-devel] [PATCH pve-network v2 19/19] frr: bump frr config version to 10.2.1

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich With the package bumped to 10.2.1 we need to generate the configuration with the matching version, otherwise frr-reload.py fails to create a delta of the configuration because of the version mismatch. Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- src

[pve-devel] [PATCH pve-manager v2 05/11] fabric: add generic node edit panel

2025-04-04 Thread Gabriel Goller
: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile| 1 + www/manager6/sdn/fabrics/NodeEdit.js | 224 +++ 2 files changed, 225 insertions(+) create mode 100644 www/manager6/sdn/fabrics/NodeEdit.js diff --git a/www/manager6/Makefile b/www

[pve-devel] [PATCH pve-network v2 12/19] api: fabrics: add common helpers

2025-04-04 Thread Gabriel Goller
fabrics, that will be used by the upcoming fabric API modules. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN/Fabrics/Common.pm | 126 + src/PVE/API2/Network/SDN/Fabrics/Makefile | 9 ++ 2 files

[pve-devel] [PATCH pve-manager v2 02/11] fabric: add common interface panel

2025-04-04 Thread Gabriel Goller
warning without disabling the field, allowing users to remove the SDN interface configuration while preserving the underlying one Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- www/manager6/Makefile | 1 + www/manager6/sdn/fabrics/Common.js | 292

[pve-devel] [PATCH pve-manager v2 07/11] fabric: add OpenFabric fabric edit panel

2025-04-04 Thread Gabriel Goller
check the loopback_ip of every node, and for the Name we would need to modify the config of every node). Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile | 1 + .../sdn/fabrics/openfabric/FabricEdit.js | 37

[pve-devel] [PATCH pve-network v2 17/19] api: fabrics: add module / subfolder

2025-04-04 Thread Gabriel Goller
also need to add a special case in encode_value for the interfaces key of nodes, since they require special handling when encoding because they are arrays. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN.pm | 7

[pve-devel] [PATCH pve-manager v2 06/11] fabric: add generic fabric edit panel

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich Add generic component to add and edit Fabrics. The Properties for every protocol are stored in different components and each extend this one. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile | 1 + www/manager6

[pve-devel] [PATCH pve-manager v2 10/11] utils: avoid line-break in pending changes message

2025-04-04 Thread Gabriel Goller
Remove line-break on sdn "pending configuration" message on removed sdn objects. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- www/manager6/Utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/manager6/

[pve-devel] [PATCH proxmox-ve-rs v2 01/15] sdn-types: initial commit

2025-04-04 Thread Gabriel Goller
and CSNP Interval * Network Entity Title (used as Router IDs in IS-IS / OpenFabric) Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- Cargo.toml | 4 + proxmox-sdn-types/Cargo.toml | 14 + proxmox-sdn-types/debian/changelog | 5

[pve-devel] [PATCH pve-network v2 07/19] sdn: add frr config generation helper

2025-04-04 Thread Gabriel Goller
generating the configuration in the controller directly. It can also reload the FRR daemon. Change the tests to use this new API as well, so they use the new methods for generating the frr configuration. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller

[pve-devel] [PATCH pve-network v2 03/19] fabrics: add fabrics module

2025-04-04 Thread Gabriel Goller
From: Stefan Hanreich This module adds the basic functionality required for the sdn fabrics feature. It includes helpers for reading and writing the configuration files via perlmod. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE

[pve-devel] [PATCH proxmox-ve-rs v2 07/15] frr: add generic types over openfabric and ospf

2025-04-04 Thread Gabriel Goller
Add generic FRR types that contain openfabric and ospf variants. Also add the FrrConfig, which holds the whole FRR configuration in a single struct, which will then be serialized. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs | 82 +- 1 file

[pve-devel] [PATCH pve-network v2 05/19] frr: add new helpers for reloading frr configuration

2025-04-04 Thread Gabriel Goller
, so they are included in the task log for debugging purposes. Signed-off-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN/Frr.pm | 62 ++ 1 file changed, 62 insertions(+) diff --git a/src/PVE/Network/SDN/Frr.pm b/src/PVE/Network/SDN

[pve-devel] [PATCH proxmox-perl-rs v2 3/7] perl-rs: sdn: OpenFabric perlmod methods

2025-04-04 Thread Gabriel Goller
Add perlmod methods that call the previously introduced CRUD helpers. Also add a method that returns the FRR daemons to be enabled by pve-network and a method to validate and generate the FRR config. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- pve-rs/src/sdn/openfabric.rs

[pve-devel] [PATCH pve-cluster v2 1/1] cluster: add sdn fabrics config files

2025-04-04 Thread Gabriel Goller
Add the sdn fabrics config files. These are split into two, as we currently support two fabric types: ospf and openfabric. They hold the whole configuration for the respective protocols. They are read and written by pve-network. Signed-off-by: Gabriel Goller --- src/PVE/Cluster.pm | 2 ++ src

[pve-devel] [PATCH proxmox-perl-rs v2 1/7] perl-rs: sdn: initial fabric infrastructure

2025-04-04 Thread Gabriel Goller
Add SDN fabric support with OpenFabric and OSPF configuration parsing. Implements PerlSectionConfig wrapper and Perl module exports for fabric configuration management. Signed-off-by: Gabriel Goller --- pve-rs/Cargo.toml | 6 - pve-rs/Makefile | 1 + pve-rs/debian

[pve-devel] [PATCH proxmox-ve-rs v2 12/15] ve-config: add FRR conversion helpers for openfabric and ospf

2025-04-04 Thread Gabriel Goller
Add conversion helpers for FRR interfaces. We can't put these in eg. `TryInto` implementations, as we need a tupel and tupels are foreign types. Create a simple conversion function that converts the OpenFabric and OSPF interfaces to FRR interfaces. Signed-off-by: Gabriel Goller --- .../sr

[pve-devel] [PATCH proxmox-ve-rs v2 09/15] ve-config: add common section-config types for OpenFabric and OSPF

2025-04-04 Thread Gabriel Goller
, automatically added as a "type" property These allow us to be somewhat generic over the protocol type (in e.g. permissions). Signed-off-by: Gabriel Goller --- proxmox-ve-config/src/sdn/fabric/mod.rs | 111 1 file changed, 111 insertions(+) create mode 100644 proxmox

[pve-devel] [PATCH proxmox-ve-rs v2 02/15] frr: create proxmox-frr crate

2025-04-04 Thread Gabriel Goller
types. This way we could reuse proxmox-frr on different products, without dragging product-specific types with us. Signed-off-by: Gabriel Goller --- Cargo.toml | 3 ++ proxmox-frr/Cargo.toml | 23 proxmox-frr/debian/changelog | 5 proxmo

[pve-devel] [PATCH proxmox-ve-rs v2 03/15] frr: add common frr types

2025-04-04 Thread Gabriel Goller
d-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs | 114 + 1 file changed, 114 insertions(+) diff --git a/proxmox-frr/src/lib.rs b/proxmox-frr/src/lib.rs index e69de29bb2d1..e3986d6f2046 100644 --- a/proxmox-frr/src/lib.rs +++ b/proxmox-frr/src/lib.rs @@

Re: [pve-devel] [PATCH pve-manager 5/7] fabrics: add NodeEdit components

2025-04-04 Thread Gabriel Goller
On 03.04.2025 11:16, Christoph Heiss wrote: On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: [..] diff --git a/www/manager6/sdn/fabrics/openfabric/NodeEdit.js b/www/manager6/sdn/fabrics/openfabric/NodeEdit.js new file mode 100644 index ..f2d204c22542 --- /dev/null +++ b

Re: [pve-devel] [PATCH pve-manager 2/7] fabrics: add common interface panel

2025-04-02 Thread Gabriel Goller
On 02.04.2025 11:26, Friedrich Weber wrote: +commonColumns: [ + { + text: gettext('Status'), + dataIndex: 'status', + width: 30, + renderer: function(value, metaData, record) { + let icon = record.data.statusIcon || ''; +

Re: [pve-devel] [PATCH pve-docs 1/1] fabrics: add initial documentation for sdn fabrics

2025-04-02 Thread Gabriel Goller
[snip] +Name:: This is the name of the OpenFabric fabric and can be at most 8 characters long. + +Loopback Prefix:: CIDR (IPv4 or IPv6) network range (e.g., 10.0.0.0/24) used to verify that +all router-IDs in the fabric are contained within this prefix. + +Hello Interval:: Controls how frequentl

Re: [pve-devel] [PATCH pve-docs 1/1] fabrics: add initial documentation for sdn fabrics

2025-04-02 Thread Gabriel Goller
On 02.04.2025 10:49, Christoph Heiss wrote: On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: [..] + +Installation + + +We use the FRR implementations of OpenFabric and OSPF, so first you need to +install `frr` and the `frr-pythontools` package: Rather try to avoid first

Re: [pve-devel] [PATCH proxmox-ve-rs 1/1] clippy: elided lifetime has a name

2025-03-31 Thread Gabriel Goller
bump, still applies ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Re: [pve-devel] [PATCH proxmox-ve-rs 12/17] ve-config: add openfabric section-config

2025-03-31 Thread Gabriel Goller
On 31.03.2025 15:48, Christoph Heiss wrote: On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: This is the main openfabric configuration. It is used to parse from the section-config file (`/etc/pve/sdn/fabrics/openfabric.cfg`) and is also returned from the api. Signed-off-by: Gabriel

[pve-devel] [PATCH proxmox-ve-rs] clippy: elide some lifetimes

2025-03-31 Thread Gabriel Goller
> serde::de::IntoDeserializer<'de, E> for SomeString | ^^^ ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 468

[pve-devel] [PATCH proxmox-ve-rs 03/17] network-types: add openfabric NET type

2025-03-28 Thread Gabriel Goller
ere: https://datatracker.ietf.org/doc/html/rfc1142#section-7.1.1 Signed-off-by: Gabriel Goller --- proxmox-network-types/src/lib.rs | 1 + proxmox-network-types/src/net.rs | 382 +++ 2 files changed, 383 insertions(+) create mode 100644 proxmox-network-types/src/net.rs diff --git

[pve-devel] [PATCH pve-manager 1/7] api: use new generalized frr and etc network config helper functions

2025-03-28 Thread Gabriel Goller
ControllerPlugin – that's why the frr generation has also been factored out. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- PVE/API2/Network.pm | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Network.pm b/PVE/API2/Network.pm index 12ee6cc

[pve-devel] [PATCH pve-manager 5/7] fabrics: add NodeEdit components

2025-03-28 Thread Gabriel Goller
-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- www/manager6/Makefile | 2 + .../sdn/fabrics/openfabric/NodeEdit.js| 205 + www/manager6/sdn/fabrics/ospf/NodeEdit.js | 207 ++ 3 files changed, 414 insertions

[pve-devel] [PATCH pve-network 04/17] refactor: controller: move frr methods into helper

2025-03-28 Thread Gabriel Goller
ctive Zone / VNet Plugins, instead of in the EVPN controller, but this was beyond the scope of this already quite large patch series. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 289 --

[pve-devel] [PATCH proxmox-ve-rs 06/17] frr: add common frr types

2025-03-28 Thread Gabriel Goller
d-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs | 114 + 1 file changed, 114 insertions(+) diff --git a/proxmox-frr/src/lib.rs b/proxmox-frr/src/lib.rs index e69de29bb2d1..926ca42917a9 100644 --- a/proxmox-frr/src/lib.rs +++ b/proxmox-frr/src/lib.rs @@

[pve-devel] [PATCH proxmox-perl-rs 6/7] perl-rs: sdn: OSPF perlmod methods

2025-03-28 Thread Gabriel Goller
CRUD methods for perlmod that call the helper functions defined earlier. Also add a method that returns the FRR daemons to be enabled and a method that generates FRR configuration after validating it. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- pve-rs/src/sdn/ospf.rs

[pve-devel] [PATCH proxmox-ve-rs 02/17] network-types: add common hostname and openfabric types

2025-03-28 Thread Gabriel Goller
synchronize link-state databases between OpenFabric neighbors. - HelloMultiplier: Factor (range 2-100) applied to HelloInterval to determine how long to wait before declaring a neighbor down when no Hello packets are received. Signed-off-by: Gabriel Goller --- proxmox-network-types/src

[pve-devel] [PATCH proxmox-ve-rs 04/17] network-types: move Ipv4Cidr and Ipv6Cidr types

2025-03-28 Thread Gabriel Goller
following patch. Signed-off-by: Gabriel Goller --- .../src}/address.rs | 14 +- proxmox-network-types/src/lib.rs | 1 + proxmox-ve-config/Cargo.toml | 1 + proxmox-ve-config/src/firewall/cluster.rs | 3 +-- proxmox-ve-config

[pve-devel] [PATCH pve-network 14/17] fabric: ospf: add api endpoints

2025-03-28 Thread Gabriel Goller
From: Stefan Hanreich Add CRUD endpoints for the ospf fabric and node section types. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN/Fabrics/Makefile | 2 +- src/PVE/API2/Network/SDN/Fabrics/Ospf.pm | 345

[pve-devel] [PATCH proxmox-ve-rs 17/17] ve-config: add integrations tests

2025-03-28 Thread Gabriel Goller
Add integration tests for the full cycle from section-config to FRR config file for both openfabric and ospf. Signed-off-by: Gabriel Goller --- proxmox-ve-config/tests/fabric/helper.rs | 44 ++ proxmox-ve-config/tests/fabric/main.rs| 80 +++ .../resources

[pve-devel] [PATCH pve-cluster 1/1] cluster: add sdn fabrics config files

2025-03-28 Thread Gabriel Goller
Add the sdn fabrics config files. These are split into two, as we currently support two fabric types: ospf and openfabric. They hold the whole configuration for the respective protocols. They are read and written by pve-network. Signed-off-by: Gabriel Goller --- src/PVE/Cluster.pm | 2 ++ src

[pve-devel] [PATCH proxmox-perl-rs 5/7] perl-rs: sdn: add CRUD helpers for OSPF fabric management

2025-03-28 Thread Gabriel Goller
Add CRUD functions for managing OSPF fabrics. Signed-off-by: Gabriel Goller --- pve-rs/Makefile| 1 + pve-rs/src/sdn/mod.rs | 1 + pve-rs/src/sdn/ospf.rs | 208 + 3 files changed, 210 insertions(+) create mode 100644 pve-rs/src/sdn/ospf.rs

[pve-devel] [PATCH pve-network 05/17] controllers: implement new api for frr config generation

2025-03-28 Thread Gabriel Goller
. This requires a few changes in the controller API, so that they now append to a passed perl hash, instead of directly writing their own configuration which is now handled externally by the SDN module. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller

[pve-devel] [PATCH proxmox-ve-rs 07/17] frr: add openfabric types

2025-03-28 Thread Gabriel Goller
synchronization frequency), and HelloMultiplier (neighbor failure detection). Added `is_ipv6` flag to support FRR's command prefixing requirements during serialization for IPv6-specific commands (we need to add a 'ipv6' prefix to some commands). Signed-off-by: Gabriel Goller --- proxmox

[pve-devel] [PATCH pve-network 01/17] sdn: fix value returned by pending_config

2025-03-28 Thread Gabriel Goller
-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PVE/Network/SDN.pm b/src/PVE/Network/SDN.pm index 68f9e0fffbfe..c9c45b1c07ea 100644 --- a/src/PVE/Network/SDN.pm

[pve-devel] [PATCH pve-manager 4/7] fabrics: add FabricEdit components

2025-03-28 Thread Gabriel Goller
er to delete the fabrics, or revalidate stuff). Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- www/manager6/Makefile | 2 + .../sdn/fabrics/openfabric/FabricEdit.js | 71 +++ www/manager6/sdn/fabrics/ospf/FabricEdit.js

[pve-devel] [PATCH pve-network 08/17] sdn: frr: add daemon status to frr helper

2025-03-28 Thread Gabriel Goller
respective hash of the Frr module. Signed-off-by: Stefan Hanreich Co-authored-by: Gabriel Goller Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 15 +++ src/PVE/Network/SDN/Fabrics.pm | 18 + src/PVE/Network/SDN/Frr.pm | 49 ++ 3

[pve-devel] [PATCH pve-manager 2/7] fabrics: add common interface panel

2025-03-28 Thread Gabriel Goller
warning without disabling the field, allowing users to remove the SDN interface configuration while preserving the underlying one Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- www/manager6/Makefile | 1 + www/manager6/sdn/fabrics/Common.js | 285

  1   2   3   >