summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua b/modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua
index 2a45e60022..e58ac9e991 100644
--- a/modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua
+++ b/modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua
@@ -21,6 +21,7 @@ m.uci:foreach("network", "switch",
local has_vlan4k = nil
local has_ptpvid = nil
local has_jumbo3 = nil
+ local min_vid = 1
local max_vid = 16
local num_vlans = 16
local num_ports = 5
@@ -67,6 +68,10 @@ m.uci:foreach("network", "switch",
end
swc:close()
+
+ -- We have no swconfig, assume /proc/switch
+ else
+ min_vid = 0
end
@@ -219,11 +224,11 @@ m.uci:foreach("network", "switch",
vid.validate = function(self, value, section)
local v = tonumber(value)
local m = has_vlan4k and 4094 or (num_vlans - 1)
- if v ~= nil and v > 0 and v <= m then
+ if v ~= nil and v >= min_vid and v <= m then
return value
else
return nil,
- translatef("Invalid VLAN ID given! Only IDs between %d and %d are allowed.", 1, m)
+ translatef("Invalid VLAN ID given! Only IDs between %d and %d are allowed.", min_vid, m)
end
end