modules/admin-full: add option for RTL8366 jumbo frame passthrough to vlan page
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 25 Apr 2011 19:11:42 +0000 (19:11 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 25 Apr 2011 19:11:42 +0000 (19:11 +0000)
modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua

index 7e9db5e..2a45e60 100644 (file)
@@ -20,6 +20,7 @@ m.uci:foreach("network", "switch",
                local switch_name = x.name or x['.name']
                local has_vlan4k  = nil
                local has_ptpvid  = nil
                local switch_name = x.name or x['.name']
                local has_vlan4k  = nil
                local has_ptpvid  = nil
+               local has_jumbo3  = nil
                local max_vid     = 16
                local num_vlans   = 16
                local num_ports   = 5
                local max_vid     = 16
                local num_vlans   = 16
                local num_ports   = 5
@@ -49,9 +50,9 @@ m.uci:foreach("network", "switch",
                                        num_ports, cpu_port, num_vlans =
                                                line:match("ports: (%d+) %(cpu @ (%d+)%), vlans: (%d+)")
 
                                        num_ports, cpu_port, num_vlans =
                                                line:match("ports: (%d+) %(cpu @ (%d+)%), vlans: (%d+)")
 
-                                       num_ports = tonumber(num_ports or  5)
-                                       num_vlans = tonumber(num_vlans or 16)
-                                       cpu_port  = tonumber(cpu_port  or  5)
+                                       num_ports = tonumber(num_ports) or  5
+                                       num_vlans = tonumber(num_vlans) or 16
+                                       cpu_port  = tonumber(cpu_port)  or  5
 
                                elseif line:match(": pvid") or line:match(": tag") or line:match(": vid") then
                                        if is_vlan_attr then has_vlan4k = line:match(": (%w+)") end
 
                                elseif line:match(": pvid") or line:match(": tag") or line:match(": vid") then
                                        if is_vlan_attr then has_vlan4k = line:match(": (%w+)") end
@@ -60,6 +61,8 @@ m.uci:foreach("network", "switch",
                                elseif line:match(": enable_vlan4k") then
                                        enable_vlan4k = true
 
                                elseif line:match(": enable_vlan4k") then
                                        enable_vlan4k = true
 
+                               elseif line:match(": max_length") then
+                                       has_jumbo3 = true
                                end
                        end
 
                                end
                        end
 
@@ -105,6 +108,12 @@ m.uci:foreach("network", "switch",
                        s:option(Flag, "enable_vlan4k", translate("Enable 4K VLANs"))
                end
 
                        s:option(Flag, "enable_vlan4k", translate("Enable 4K VLANs"))
                end
 
+               if has_jumbo3 then
+                       j = s:option(Flag, "max_length", translate("Enable Jumbo Frame passthrough"))
+                       j.enabled = "3"
+                       j.rmempty = true
+               end
+
                s:option(Flag, "reset", translate("Reset switch during setup")).default = "1"
 
                -- VLAN table
                s:option(Flag, "reset", translate("Reset switch during setup")).default = "1"
 
                -- VLAN table