[pve-devel] [PATCH pve-manager v5 10/18] fabric: add OpenFabric fabric edit panel

Gabriel Goller g.goller at proxmox.com
Wed Jul 16 15:08:27 CEST 2025


From: Stefan Hanreich <s.hanreich at proxmox.com>

Add a component that extends the common FabricEdit component and adds
the OpenFabric-specific items to it. Those are currently the Hello
Interval and CSNP interval, which can be configured globally for all
members of the fabric.

Since OSPF currently does not provide IPv6 support (yet), we also move
the IPv6 prefix to the Openfabric edit panel, to avoid showing the
IPv6 prefix input field in the OSPF fabric edit panel.

As we don't enable IPv6 forwarding globally if a IPv6 fabric is created, show
a big warning that a use has to enable it manually.

Co-authored-by: Stefan Hanreich <s.hanreich at proxmox.com>
Signed-off-by: Gabriel Goller <g.goller at proxmox.com>
---
 www/manager6/Makefile                         |  1 +
 .../sdn/fabrics/openfabric/FabricEdit.js      | 67 +++++++++++++++++++
 2 files changed, 68 insertions(+)
 create mode 100644 www/manager6/sdn/fabrics/openfabric/FabricEdit.js

diff --git a/www/manager6/Makefile b/www/manager6/Makefile
index 37d4bcc16d01..79a902d61bc4 100644
--- a/www/manager6/Makefile
+++ b/www/manager6/Makefile
@@ -313,6 +313,7 @@ JSSRC= 							\
 	sdn/fabrics/FabricEdit.js				\
 	sdn/fabrics/openfabric/InterfacePanel.js				\
 	sdn/fabrics/openfabric/NodeEdit.js				\
+	sdn/fabrics/openfabric/FabricEdit.js				\
 	sdn/fabrics/ospf/InterfacePanel.js	\
 	sdn/fabrics/ospf/NodeEdit.js	\
 	storage/ContentView.js				\
diff --git a/www/manager6/sdn/fabrics/openfabric/FabricEdit.js b/www/manager6/sdn/fabrics/openfabric/FabricEdit.js
new file mode 100644
index 000000000000..9da624190bc6
--- /dev/null
+++ b/www/manager6/sdn/fabrics/openfabric/FabricEdit.js
@@ -0,0 +1,67 @@
+Ext.define('PVE.sdn.Fabric.OpenFabric.Fabric.Edit', {
+    extend: 'PVE.sdn.Fabric.Fabric.Edit',
+
+    subject: 'OpenFabric',
+    onlineHelp: 'pvesdn_openfabric_fabric',
+
+    viewModel: {
+        data: {
+            showIpv6ForwardingHint: false,
+        },
+    },
+
+    extraRequestParams: {
+        protocol: 'openfabric',
+    },
+
+    additionalItems: [
+        {
+            xtype: 'displayfield',
+            value: 'To make IPv6 fabrics work, enable global IPv6 forwarding on all nodes. Click on the Help button for more details.',
+            bind: {
+                hidden: '{!showIpv6ForwardingHint}',
+            },
+            userCls: 'pmx-hint',
+        },
+        {
+            xtype: 'proxmoxtextfield',
+            fieldLabel: gettext('IPv6 Prefix'),
+            labelWidth: 120,
+            name: 'ip6_prefix',
+            allowBlank: true,
+            skipEmptyText: true,
+            cbind: {
+                disabled: '{!isCreate}',
+                deleteEmpty: '{!isCreate}',
+            },
+            listeners: {
+                change: function (textbox, value) {
+                    let vm = textbox.up('window').getViewModel();
+                    vm.set('showIpv6ForwardingHint', !!value);
+                },
+            },
+        },
+        {
+            xtype: 'proxmoxintegerfield',
+            fieldLabel: gettext('Hello Interval'),
+            labelWidth: 120,
+            name: 'hello_interval',
+            allowBlank: true,
+            skipEmptyText: true,
+            cbind: {
+                deleteEmpty: '{!isCreate}',
+            },
+        },
+        {
+            xtype: 'proxmoxintegerfield',
+            fieldLabel: gettext('CSNP Interval'),
+            labelWidth: 120,
+            name: 'csnp_interval',
+            allowBlank: true,
+            skipEmptyText: true,
+            cbind: {
+                deleteEmpty: '{!isCreate}',
+            },
+        },
+    ],
+});
-- 
2.39.5





More information about the pve-devel mailing list