[PATCH pve-manager 14/16] sdn: evpn: zone: controller: add new advanced fields

Stefan Hanreich
2026-04-14T16:34:02Z

Several new fields for configuring additional aspects of the EVPN
controller/zone have been added to the backend. Expose them here
additionally as advanced fields. For more information on the
functionality of the fields, see the respective commits in
pve-network.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
www/manager6/sdn/controllers/EvpnEdit.js | 39 ++++++++++++++++++++++++
www/manager6/sdn/zones/EvpnEdit.js | 14 ++++++++-
2 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/www/manager6/sdn/controllers/EvpnEdit.js b/www/manager6/sdn/controllers/EvpnEdit.js
index 67c41f476..75e544540 100644
--- a/www/manager6/sdn/controllers/EvpnEdit.js
+++ b/www/manager6/sdn/controllers/EvpnEdit.js
@@ -63,6 +63,45 @@ Ext.define('PVE.sdn.controllers.EvpnInputPanel', {
},
];

+ me.advancedItems = [
+ {
+ xtype: 'textfield',
+ name: 'peer-group-name',
+ fieldLabel: gettext('Peer Group Name'),
+ allowBlank: true,
+ deleteEmpty: !me.isCreate,
+ },
+ {
+ xtype: 'pveNodeSelector',
+ name: 'nodes',
+ fieldLabel: gettext('Nodes'),
+ multiSelect: true,
+ autoSelect: false,
+ allowBlank: true,
+ deleteEmpty: !me.isCreate,
+ skipEmptyText: true,
+ },
+ {
+ xtype: 'proxmoxKVComboBox',
+ name: 'bgp-mode',
+ value: '',
+ emptyText: 'Legacy',
+ comboItems: [['legacy', gettext('Legacy')], ['external', gettext('eBGP')], ['internal', gettext('iBGP')]],
+ fieldLabel: gettext('BGP mode'),
+ allowBlank: true,
+ deleteEmpty: !me.isCreate,
+ },
+ {
+ xtype: 'proxmoxintegerfield',
+ name: 'ebgp-multihop',
+ minValue: 1,
+ maxValue: 100,
+ fieldLabel: 'ebgp-multihop',
+ allowBlank: true,
+ deleteEmpty: !me.isCreate,
+ },
+ ];
+
me.callParent();
},
});
diff --git a/www/manager6/sdn/zones/EvpnEdit.js b/www/manager6/sdn/zones/EvpnEdit.js
index 63acb8811..511eda329 100644
--- a/www/manager6/sdn/zones/EvpnEdit.js
+++ b/www/manager6/sdn/zones/EvpnEdit.js
@@ -19,7 +19,7 @@ Ext.define('PVE.sdn.zones.EvpnInputPanel', {
me.items = [
{
xtype: 'pveSDNControllerSelector',
- fieldLabel: gettext('Controller'),
+ fieldLabel: gettext('Primary Controller'),
name: 'controller',
value: '',
allowBlank: false,
@@ -90,6 +90,18 @@ Ext.define('PVE.sdn.zones.EvpnInputPanel', {
},
];

+ me.advancedItems = [
+ {
+ xtype: 'pveSDNControllerSelector',
+ fieldLabel: gettext('additional Controllers'),
+ name: 'secondary-controllers',
+ allowBlank: true,
+ multiSelect: true,
+ skipEmptyText: true,
+ deleteEmpty: !me.isCreate,
+ },
+ ];
+
me.callParent();
},
});
--
2.47.3