From: Hannes Laimer <h.laimer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v1 pve-manager 5/5] out/in-rate in network edit, keep rate to still be able to open old configs
Date: Fri, 11 Sep 2020 12:08:16 +0200 [thread overview]
Message-ID: <20200911100816.80543-6-h.laimer@proxmox.com> (raw)
In-Reply-To: <20200911100816.80543-1-h.laimer@proxmox.com>
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
www/manager6/Parser.js | 18 ++++++++++++++++++
www/manager6/qemu/NetworkEdit.js | 27 ++++++++++++++++++++++++---
2 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/www/manager6/Parser.js b/www/manager6/Parser.js
index b793a28e..eac31f2f 100644
--- a/www/manager6/Parser.js
+++ b/www/manager6/Parser.js
@@ -131,6 +131,10 @@ Ext.define('PVE.Parser', { statics: {
res.bridge = match_res[1];
} else if ((match_res = p.match(/^rate=(\d+(\.\d+)?)$/)) !== null) {
res.rate = match_res[1];
+ } else if ((match_res = p.match(/^outrate=(\d+(\.\d+)?)$/)) !== null) {
+ res.outrate = match_res[1];
+ } else if ((match_res = p.match(/^inrate=(\d+(\.\d+)?)$/)) !== null) {
+ res.inrate = match_res[1];
} else if ((match_res = p.match(/^tag=(\d+(\.\d+)?)$/)) !== null) {
res.tag = match_res[1];
} else if ((match_res = p.match(/^firewall=(\d+)$/)) !== null) {
@@ -146,6 +150,14 @@ Ext.define('PVE.Parser', { statics: {
return false; // break
}
});
+ if (res.rate) {
+ if (!res.inrate) {
+ res.inrate = res.rate;
+ }
+ if (!res.outrate) {
+ res.outrate = res.rate;
+ }
+ }
if (errors || !res.model) {
return;
@@ -172,6 +184,12 @@ Ext.define('PVE.Parser', { statics: {
if (net.rate) {
netstr += ",rate=" + net.rate;
}
+ if (net.outrate) {
+ netstr += ",outrate=" + net.outrate;
+ }
+ if (net.inrate) {
+ netstr += ",inrate=" + net.inrate;
+ }
if (net.queues) {
netstr += ",queues=" + net.queues;
}
diff --git a/www/manager6/qemu/NetworkEdit.js b/www/manager6/qemu/NetworkEdit.js
index 3b093b46..8428a2aa 100644
--- a/www/manager6/qemu/NetworkEdit.js
+++ b/www/manager6/qemu/NetworkEdit.js
@@ -25,7 +25,16 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
} else {
delete me.network.rate;
}
-
+ if (values.outrate) {
+ me.network.outrate = values.outrate;
+ } else {
+ delete me.network.outrate;
+ }
+ if (values.inrate) {
+ me.network.inrate = values.inrate;
+ } else {
+ delete me.network.inrate;
+ }
var params = {};
params[me.confid] = PVE.Parser.printQemuNetwork(me.network);
@@ -111,6 +120,8 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
'model',
'macaddr',
'rate',
+ 'outrate',
+ 'inrate',
'queues'
];
fields.forEach(function(fieldname) {
@@ -144,8 +155,18 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
me.advancedColumn2 = [
{
xtype: 'numberfield',
- name: 'rate',
- fieldLabel: gettext('Rate limit') + ' (MB/s)',
+ name: 'outrate',
+ fieldLabel: gettext('Upload limit') + ' (MB/s)',
+ minValue: 0,
+ maxValue: 10*1024,
+ value: '',
+ emptyText: 'unlimited',
+ allowBlank: true
+ },
+ {
+ xtype: 'numberfield',
+ name: 'inrate',
+ fieldLabel: gettext('Download limit') + ' (MB/s)',
minValue: 0,
maxValue: 10*1024,
value: '',
--
2.20.1
prev parent reply other threads:[~2020-09-11 10:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-11 10:08 [pve-devel] [PATCH v1 series 0/5] limit out and inrate of network device Hannes Laimer
2020-09-11 10:08 ` [pve-devel] [PATCH v1 pve-common 1/5] replace rate with out/in-rate in setup_tc_rate_limit and tap_rate_limit Hannes Laimer
2021-02-06 14:29 ` Thomas Lamprecht
2020-09-11 10:08 ` [pve-devel] [PATCH v1 pve-common 2/5] add out/in-rate parameter to tap_plug sub, keep version with just rate param Hannes Laimer
2021-02-06 14:22 ` Thomas Lamprecht
2021-04-29 14:57 ` Thomas Lamprecht
2020-09-11 10:08 ` [pve-devel] [PATCH v1 pve-network 3/5] " Hannes Laimer
2020-09-11 10:08 ` [pve-devel] [PATCH v1 qemu-server 4/5] add fields inrate and outrate to net_fmt, map rate of old configs to out/inrate Hannes Laimer
2020-09-11 10:08 ` Hannes Laimer [this message]
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=20200911100816.80543-6-h.laimer@proxmox.com \
--to=h.laimer@proxmox.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.