From: "Rémi PAETA" <remi.paeta@comaite.com>
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 [thread overview]
Message-ID: <20261013121432.2642979-14-remi.paeta@comaite.com> (raw)
In-Reply-To: <20261013121432.2642979-1-remi.paeta@comaite.com>
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 <remi.paeta@comaite.com>
---
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
next prev parent reply other threads:[~2026-10-13 12:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-09 9:22 [RFC] sdn: OVN zone and controller plugins Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH ve-rs/network/manager/docs 00/16] sdn: add " Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH ve-rs 01/16] ve-config: sdn: add ovn zone type Rémi PAETA
2026-10-13 12:14 ` SPAM: [RFC PATCH network 02/16] sdn: controllers: add ovn plugin Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 03/16] sdn: zones: " Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 04/16] sdn: ovn: sync the northbound database on reload Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 05/16] sdn: ovn: configure the chassis on boot and on network reload Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 06/16] sdn: ovn: add port security Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 07/16] sdn: ovn: allow overriding the port security per vnet Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 08/16] sdn: subnets: refuse gateway, snat and dhcp on ovn zones Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 09/16] sdn: ovn: support ssl connections to the databases Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH network 10/16] sdn: ovn: bind guest ports to the chassis of their node Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH manager 11/16] ui: sdn: controller selector: allow filtering by controller type Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH manager 12/16] ui: sdn: add ovn controller Rémi PAETA
2026-10-13 12:14 ` Rémi PAETA [this message]
2026-10-13 12:14 ` [RFC PATCH manager 14/16] ui: sdn: vnet: add port security for ovn zones Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH manager 15/16] ui: sdn: vnet: disable isolate ports " Rémi PAETA
2026-10-13 12:14 ` [RFC PATCH docs 16/16] sdn: document ovn zones and controllers Rémi PAETA
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261013121432.2642979-14-remi.paeta@comaite.com \
--to=remi.paeta@comaite.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox