The zone dhcp property is now common to all zone types with two backends, so the simple-zone automatic-DHCP checkbox hardcoding dnsmasq becomes a selector on the common zone panel, offering dnsmasq only where the backend is supported. The subnet gains fields for the dns-server option, which so far was settable through the API only and is the only way guests get a resolver with the ebpf backend, and for the new lease-time knob, which bounds how long an edited mapping takes to reach a leased guest.
Signed-off-by: Hannes Laimer <[email protected]> --- www/manager6/sdn/SubnetEdit.js | 24 ++++++++++++++++++++++++ www/manager6/sdn/zones/Base.js | 17 +++++++++++++++++ www/manager6/sdn/zones/SimpleEdit.js | 11 ----------- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/www/manager6/sdn/SubnetEdit.js b/www/manager6/sdn/SubnetEdit.js index a3608428..f98f65af 100644 --- a/www/manager6/sdn/SubnetEdit.js +++ b/www/manager6/sdn/SubnetEdit.js @@ -56,6 +56,30 @@ Ext.define('PVE.sdn.SubnetInputPanel', { deleteEmpty: '{!isCreate}', }, }, + { + xtype: 'proxmoxtextfield', + name: 'dhcp-dns-server', + vtype: 'IP64Address', + fieldLabel: gettext('DHCP DNS Server'), + allowBlank: true, + skipEmptyText: true, + cbind: { + deleteEmpty: '{!isCreate}', + }, + }, + { + xtype: 'proxmoxintegerfield', + // TRANSLATORS: 's' is the SI abbreviation for seconds, the unit of the value + fieldLabel: gettext('DHCP Lease Time') + ' (s)', + emptyText: gettext('default'), + name: 'dhcp-lease-time', + minValue: 60, + allowBlank: true, + skipEmptyText: true, + cbind: { + deleteEmpty: '{!isCreate}', + }, + }, ], }); diff --git a/www/manager6/sdn/zones/Base.js b/www/manager6/sdn/zones/Base.js index 66f93de0..3039b99f 100644 --- a/www/manager6/sdn/zones/Base.js +++ b/www/manager6/sdn/zones/Base.js @@ -82,6 +82,23 @@ Ext.define('PVE.panel.SDNZoneBase', { }, ); + let dhcpBackends = [ + ['__default__', Proxmox.Utils.NoneText], + ['ebpf', 'eBPF'], + ]; + if (me.type === 'simple') { + dhcpBackends.splice(1, 0, ['dnsmasq', 'dnsmasq']); + } + + me.advancedItems.push({ + xtype: 'proxmoxKVComboBox', + name: 'dhcp', + fieldLabel: gettext('Automatic DHCP'), + comboItems: dhcpBackends, + value: '__default__', + deleteEmpty: !me.isCreate, + }); + me.callParent(); }, }); diff --git a/www/manager6/sdn/zones/SimpleEdit.js b/www/manager6/sdn/zones/SimpleEdit.js index ba10bb36..aeb076ae 100644 --- a/www/manager6/sdn/zones/SimpleEdit.js +++ b/www/manager6/sdn/zones/SimpleEdit.js @@ -19,17 +19,6 @@ Ext.define('PVE.sdn.zones.SimpleInputPanel', { var me = this; me.items = []; - me.advancedItems = [ - { - xtype: 'proxmoxcheckbox', - name: 'dhcp', - inputValue: 'dnsmasq', - uncheckedValue: null, - checked: false, - fieldLabel: gettext('Automatic DHCP'), - deleteEmpty: !me.isCreate, - }, - ]; me.callParent(); }, -- 2.47.3
