ui: vm network: allow to override MTU for virtio devices

we already have the 'mtu' option in the API, so we can just expose
that option inside the 'Advanced' menu for virtio network interfaces.

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>

Moved the message tooltip below the advanced columns to avoid the line
break and make it more visually pleasing.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
This commit is contained in:
Oguz Bektas 2022-11-09 16:37:09 +01:00 committed by Thomas Lamprecht
parent e46b90149b
commit c8f2cf4c1a

View File

@ -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,17 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
return params;
},
viewModel: {
data: {
networkModel: '',
mtu: '',
},
formulas: {
isVirtio: get => get('networkModel') === 'virtio',
showMtuHint: get => get('mtu') === 1,
},
},
setNetwork: function(confid, data) {
var me = this;
@ -93,6 +105,18 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
fieldLabel: gettext('Disconnect'),
name: 'disconnect',
},
{
xtype: 'proxmoxintegerfield',
name: 'mtu',
fieldLabel: 'MTU',
bind: {
disabled: '{!isVirtio}',
value: '{mtu}',
},
minValue: 1,
maxValue: 65520,
allowBlank: true,
},
];
if (me.insideWizard) {
@ -112,6 +136,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
'macaddr',
'rate',
'queues',
'mtu',
];
fields.forEach(function(fieldname) {
me.down('field[name='+fieldname+']').setDisabled(value);
@ -130,6 +155,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
xtype: 'pveNetworkCardSelector',
name: 'model',
fieldLabel: gettext('Model'),
bind: '{networkModel}',
value: PVE.qemu.OSDefaults.generic.networkCard,
allowBlank: false,
},
@ -162,6 +188,16 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
allowBlank: true,
},
];
me.advancedColumnB = [
{
xtype: 'displayfield',
userCls: 'pmx-hint',
value: gettext("Use the special value '1' to inherit the MTU value from the underlying bridge"),
bind: {
hidden: '{!showMtuHint}',
},
},
];
me.callParent();
},