From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 07DDA61C54 for ; Thu, 10 Feb 2022 14:53:22 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id F222B1DC83 for ; Thu, 10 Feb 2022 14:53:21 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id F07481DC78 for ; Thu, 10 Feb 2022 14:53:20 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id C5B0246DCF for ; Thu, 10 Feb 2022 14:53:20 +0100 (CET) Message-ID: Date: Thu, 10 Feb 2022 14:53:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 Content-Language: en-US To: Proxmox VE development discussion , Oguz Bektas References: <20220210112836.616619-1-o.bektas@proxmox.com> From: Aaron Lauterer In-Reply-To: <20220210112836.616619-1-o.bektas@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.011 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.001 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH v2 manager] ui: vm network: allow to override MTU for virtio devices X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2022 13:53:22 -0000 Looks good AFAICT and does what we want. We could improve it further by adding a small validator. Otherwise the user will only notice their error once they get the error msg from the API. A quick way that I came up with that could potentially be done better: diff --git a/www/manager6/qemu/NetworkEdit.js b/www/manager6/qemu/NetworkEdit.js index 1e34ad1c..2566d1a8 100644 --- a/www/manager6/qemu/NetworkEdit.js +++ b/www/manager6/qemu/NetworkEdit.js @@ -184,6 +184,13 @@ Ext.define('PVE.qemu.NetworkInputPanel', { bind: { disabled: '{!isVirtio}', }, + validator: function(value) { + if (value === "" || (value > 0 && value <= 65520)) { + return true; + } else { + return gettext("must be between 0 and 65520"); + } + }, allowBlank: true, }, ]; Besides this last improvement: Reviewed-By: Aaron Lauterer Tested-By: Aaron Lauterer On 2/10/22 12:28, Oguz Bektas wrote: > we already have the 'mtu' option inside the API, so we can just expose > that option inside the 'Advanced' menu for virtio network interfaces. > > Signed-off-by: Oguz Bektas > --- > v1->v2: > * add viewmodel formula 'isVirtio', we use it to set the MTU field > enabled only for virtio interfaces > > www/manager6/qemu/NetworkEdit.js | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/www/manager6/qemu/NetworkEdit.js b/www/manager6/qemu/NetworkEdit.js > index b39cffdc..1e34ad1c 100644 > --- a/www/manager6/qemu/NetworkEdit.js > +++ b/www/manager6/qemu/NetworkEdit.js > @@ -19,6 +19,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', { > me.network.macaddr = values.macaddr; > me.network.disconnect = values.disconnect; > me.network.queues = values.queues; > + me.network.mtu = values.mtu; > > if (values.rate) { > me.network.rate = values.rate; > @@ -33,6 +34,16 @@ Ext.define('PVE.qemu.NetworkInputPanel', { > return params; > }, > > + viewModel: { > + data: { > + network_model: '', > + }, > + formulas: { > + isVirtio: (get) => get('network_model') === 'virtio', > + }, > + }, > + > + > setNetwork: function(confid, data) { > var me = this; > > @@ -55,6 +66,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', { > me.bridgesel.setNodename(nodename); > }, > > + > initComponent: function() { > var me = this; > > @@ -112,6 +124,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', { > 'macaddr', > 'rate', > 'queues', > + 'mtu', > ]; > fields.forEach(function(fieldname) { > me.down('field[name='+fieldname+']').setDisabled(value); > @@ -125,11 +138,13 @@ Ext.define('PVE.qemu.NetworkInputPanel', { > }); > } > > + > me.column2.push( > { > xtype: 'pveNetworkCardSelector', > name: 'model', > fieldLabel: gettext('Model'), > + bind: '{network_model}', > value: PVE.qemu.OSDefaults.generic.networkCard, > allowBlank: false, > }, > @@ -161,6 +176,16 @@ Ext.define('PVE.qemu.NetworkInputPanel', { > value: '', > allowBlank: true, > }, > + { > + xtype: 'proxmoxintegerfield', > + name: 'mtu', > + fieldLabel: 'MTU', > + value: '', > + bind: { > + disabled: '{!isVirtio}', > + }, > + allowBlank: true, > + }, > ]; > > me.callParent();