X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fadmin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Froutes.lua;h=4232daf8a926954d26bd701487c4e028704d5cef;hp=d7b8519686de746113df06991923deaace259911;hb=128ba2828a93ae6f5de9573bf48a117ed02c3b6a;hpb=d8b61a53941ce5f0e5139f7c4d776abefad9b466 diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/routes.lua b/modules/admin-full/luasrc/model/cbi/admin_network/routes.lua index d7b851968..4232daf8a 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/routes.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/routes.lua @@ -16,31 +16,62 @@ 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")) + + + local routes6 = luci.sys.net.routes6() + + v = m:section(Table, routes6, translate("a_n_routes_kernel6")) + + net = v:option(DummyValue, "iface", translate("network")) + function net.cfgvalue(self, section) + return luci.tools.webadmin.iface_get_network(routes6[section].device) + or routes6[section].device + end + + target = v:option(DummyValue, "target", translate("target")) + function target.cfgvalue(self, section) + return routes6[section].dst_ip .. "/" .. routes6[section].dst_prefix + end +--[[ + netmask = v:option(DummyValue, "prefix", translate("prefix")) + function netmask.cfgvalue(self, section) + return luci.ip.Hex(routes6[section].Mask, 32):string() + end +]] + gateway = v:option(DummyValue, "gateway", translate("gateway6")) + function gateway.cfgvalue(self, section) + return routes6[section].src_ip .. "/" .. routes6[section].src_prefix + end + metric = v:option(DummyValue, "Metric", translate("metric")) + function metric.cfgvalue(self, section) + return string.format( "%08X", routes6[section].metric ) + end end @@ -48,11 +79,6 @@ s = m:section(TypedSection, "route", translate("a_n_routes_static")) s.addremove = true s.anonymous = true -function s.render(...) - luci.model.uci.load_config("network") - TypedSection.render(...) -end - s.template = "cbi/tblsection" iface = s:option(ListValue, "interface", translate("interface")) @@ -68,4 +94,23 @@ s:option(Value, "netmask", translate("netmask"), translate("a_n_r_netmask1")).rm s:option(Value, "gateway", translate("gateway")) -return m \ No newline at end of file + +s = m:section(TypedSection, "route6", translate("a_n_routes_static6")) +s.addremove = true +s.anonymous = true + +s.template = "cbi/tblsection" + +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("a_n_r_target6")) + +s:option(Value, "gateway", translate("gateway6")).rmempty = true + + +return m