From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 840541FF0AE for ; Tue, 13 Oct 2026 14:33:48 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id A532921403; Tue, 13 Oct 2026 14:32:52 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.10.3 smtp.infra.comaite.com 8CE3362C14 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comaite.com; s=377A38C6-3A8D-11E5-A0EC-E97757B27CB3; t=1791893674; bh=vtFKtSkDvYUaeg86RhNzZP9auYaXagORGW+KPuR66y8=; h=From:To:Date:Message-ID:MIME-Version; b=PaH4toZYYGE6LEAejXHExCfBueC+D/EOni9P7HC2Oks2+qS80aqkA33HS7I5A4cTQ 93JeF1bDzGWI0w2MWyy57JWRyUJOuNZNGjAfu9pxqhxGEkVtNgyNBrNSd9HdRaiKqq AsiPhZM7Rea0cDI4qDhLtR+nDo9fH7uPl+CONajLY5h4gbEKlwBcJEjWUKF1gK5joa dX4JgsyUIVTankM5PuHae430s0chVUmugpchNSXVm2b0y6Zr4Tt3GzWgKv5WeS3L8J kVTd5ubF051KFK+Iz5V1hdimruoMePt/j0rLLTCDfDachf5ouRY0gREcgMsl8rGqdr 1ZI0piTDTTAFA== From: =?UTF-8?q?R=C3=A9mi=20PAETA?= To: pve-devel@lists.proxmox.com Subject: [RFC PATCH manager 13/16] ui: sdn: add ovn zone Date: Tue, 13 Oct 2026 14:14:29 +0200 Message-ID: <20261013121432.2642979-14-remi.paeta@comaite.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261013121432.2642979-1-remi.paeta@comaite.com> References: <1116090294.1714263.1791537779868.JavaMail.zimbra@comaite.com> <20261013121432.2642979-1-remi.paeta@comaite.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.500 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy 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: ASZWET2MHQUMPVFZBIZ6Z5FEEE7XWAIM X-Message-ID-Hash: ASZWET2MHQUMPVFZBIZ6Z5FEEE7XWAIM X-MailFrom: remi.paeta@comaite.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: Allow creating and editing OVN zones, with the port security level of the guest ports. Only OVN controllers can be selected for them. Vnets of OVN zones support neither VLAN tags nor VLAN awareness, so disable these fields, as the tag would otherwise be required. Signed-off-by: Rémi PAETA --- www/manager6/Makefile | 1 + www/manager6/Utils.js | 5 +++++ www/manager6/sdn/VnetEdit.js | 4 ++-- www/manager6/sdn/zones/OvnEdit.js | 34 +++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 www/manager6/sdn/zones/OvnEdit.js diff --git a/www/manager6/Makefile b/www/manager6/Makefile index 3007e5e9..cc179208 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -335,6 +335,7 @@ JSSRC= \ sdn/dns/PowerdnsEdit.js \ sdn/zones/Base.js \ sdn/zones/EvpnEdit.js \ + sdn/zones/OvnEdit.js \ sdn/zones/QinQEdit.js \ sdn/zones/SimpleEdit.js \ sdn/zones/VlanEdit.js \ diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 4321682b..c9ce1479 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -942,6 +942,11 @@ Ext.define('PVE.Utils', { ipanel: 'EvpnInputPanel', faIcon: 'th', }, + ovn: { + name: 'OVN', + ipanel: 'OvnInputPanel', + faIcon: 'th', + }, }, sdncontrollerSchema: { diff --git a/www/manager6/sdn/VnetEdit.js b/www/manager6/sdn/VnetEdit.js index 1c2f5293..2c2b454a 100644 --- a/www/manager6/sdn/VnetEdit.js +++ b/www/manager6/sdn/VnetEdit.js @@ -124,7 +124,7 @@ Ext.define('PVE.sdn.VnetInputPanel', { let me = this; let tagField = me.down('#sdnVnetTagField'); - if (!zoneType || zoneType === 'simple') { + if (!zoneType || zoneType === 'simple' || zoneType === 'ovn') { tagField.setDisabled(true); tagField.setValue(''); tagField.allowBlank = true; @@ -136,7 +136,7 @@ Ext.define('PVE.sdn.VnetInputPanel', { tagField.validate(); let vlanField = me.down('#sdnVnetVlanAwareField'); - if (!zoneType || zoneType === 'evpn') { + if (!zoneType || zoneType === 'evpn' || zoneType === 'ovn') { vlanField.setDisabled(true); vlanField.setValue(''); } else { diff --git a/www/manager6/sdn/zones/OvnEdit.js b/www/manager6/sdn/zones/OvnEdit.js new file mode 100644 index 00000000..0633b3c1 --- /dev/null +++ b/www/manager6/sdn/zones/OvnEdit.js @@ -0,0 +1,34 @@ +Ext.define('PVE.sdn.zones.OvnInputPanel', { + extend: 'PVE.panel.SDNZoneBase', + + initComponent: function () { + let me = this; + + me.items = [ + { + xtype: 'pveSDNControllerSelector', + fieldLabel: gettext('Controller'), + name: 'controller', + controllerType: 'ovn', + value: '', + allowBlank: false, + }, + { + xtype: 'proxmoxKVComboBox', + name: 'port-security', + value: '', + emptyText: Proxmox.Utils.defaultText + ' (' + gettext('Off') + ')', + comboItems: [ + ['off', gettext('Off')], + ['mac', 'MAC'], + ['mac-ip', 'MAC + IP'], + ], + fieldLabel: gettext('Port Security'), + allowBlank: true, + deleteEmpty: !me.isCreate, + }, + ]; + + me.callParent(); + }, +}); -- 2.47.3