modules/admin-full: only offer hwmodes actually supported by the wiphy
[project/luci.git] / modules / admin-full / luasrc / model / cbi / admin_network / routes.lua
index aa32324..cd9be57 100644 (file)
@@ -11,56 +11,42 @@ You may obtain a copy of the License at
 
 $Id$
 ]]--
+
 require("luci.tools.webadmin")
-m = Map("network", translate("a_n_routes"), translate("a_n_routes1"))
-
-if not arg or not arg[1] then
-       local routes = luci.sys.net.routes()
-       
-       v = m:section(Table, routes, translate("a_n_routes_kernel4"))
-       
-       net = v:option(DummyValue, "iface", translate("network"))
-       function net.cfgvalue(self, section)
-               return luci.tools.webadmin.iface_get_network(routes[section].Iface)
-                or routes[section].Iface
-       end
-       
-       target  = v:option(DummyValue, "target", translate("target"))
-       function target.cfgvalue(self, section)
-               return luci.ip.Hex(routes[section].Destination, 32):string()
-       end
-       
-       netmask = v:option(DummyValue, "netmask", translate("netmask"))
-       function netmask.cfgvalue(self, section)
-               return luci.ip.Hex(routes[section].Mask, 32):string()
-       end
-       
-       gateway = v:option(DummyValue, "gateway", translate("gateway"))
-       function gateway.cfgvalue(self, section)
-               return luci.ip.Hex(routes[section].Gateway, 32):string()
-       end
-       
-       metric = v:option(DummyValue, "Metric", translate("metric"))
-end
+m = Map("network",
+       translate("Routes"),
+       translate("Routes specify over which interface and gateway a certain host or network " ..
+               "can be reached."))
 
+local routes6 = luci.sys.net.routes6()
+local bit = require "bit"
 
-s = m:section(TypedSection, "route", translate("a_n_routes_static"))
+s = m:section(TypedSection, "route", translate("Static IPv4 Routes"))
 s.addremove = true
 s.anonymous = true
 
 s.template  = "cbi/tblsection"
 
-iface = s:option(ListValue, "interface", translate("interface"))
+iface = s:option(ListValue, "interface", translate("Interface"))
 luci.tools.webadmin.cbi_add_networks(iface)
 
-if not arg or not arg[1] then
-       net.titleref = iface.titleref
-end
+s:option(Value, "target", translate("Target"), translate("Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"))
+s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"), translate("if target is a network")).rmemepty = true
+s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
 
-s:option(Value, "target", translate("target"), translate("a_n_r_target1"))
+if routes6 then
+       s = m:section(TypedSection, "route6", translate("Static IPv6 Routes"))
+       s.addremove = true
+       s.anonymous = true
 
-s:option(Value, "netmask", translate("netmask"), translate("a_n_r_netmask1")).rmemepty = true
+       s.template  = "cbi/tblsection"
+
+       iface = s:option(ListValue, "interface", translate("Interface"))
+       luci.tools.webadmin.cbi_add_networks(iface)
+
+       s:option(Value, "target", translate("Target"), translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network (CIDR)"))
+       s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway")).rmempty = true
+end
 
-s:option(Value, "gateway", translate("gateway"))
 
-return m
\ No newline at end of file
+return m