diff options
author | Jo-Philipp Wich <jo@mein.io> | 2021-06-01 14:35:31 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2021-06-01 15:34:11 +0200 |
commit | 671c94b034db9d7470d5f1e681b919158de205f6 (patch) | |
tree | 111842e38be72b69d111b3c6d3a3380e1743798e /modules | |
parent | 69608199973651baf585d24a095edf8c0c42e21f (diff) |
luci-mod-network: don't accidentally reset macvlan device names
Fixes: #5081
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js b/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js index 199cd0f152..80b4b2b343 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js @@ -423,17 +423,19 @@ return baseclass.extend({ o.default = (dev ? dev.getName() : '').match(/^.+\.\d+$/) ? dev.getName().replace(/\.\d+$/, '') : ''; o.ucioption = 'ifname'; o.validate = function(section_id, value) { - var type = this.section.formvalue(section_id, 'type'), - name = this.section.getUIElement(section_id, 'name_complex'); + if (isNew) { + var type = this.section.formvalue(section_id, 'type'), + name = this.section.getUIElement(section_id, 'name_complex'); - if (type == 'macvlan' && value && name && !name.isChanged()) { - var i = 0; + if (type == 'macvlan' && value && name && !name.isChanged()) { + var i = 0; - while (deviceSectionExists(section_id, '%smac%d'.format(value, i))) - i++; + while (deviceSectionExists(section_id, '%smac%d'.format(value, i))) + i++; - name.setValue('%smac%d'.format(value, i)); - name.triggerValidation(); + name.setValue('%smac%d'.format(value, i)); + name.triggerValidation(); + } } return true; |