X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fluci-mod-admin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Froutes.lua;h=1970f36a28f0abbf82317eb764104ffa631f9f2f;hp=469748c87a9dafdda55ff6584c703ad56ff6b91d;hb=348a6fde90863f003c7735593a29bf8eb2d2086a;hpb=1bb4822dca6113f73e3bc89e2acf15935e6f8e92 diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/routes.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/routes.lua index 469748c87..1970f36a2 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/routes.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/routes.lua @@ -1,26 +1,14 @@ ---[[ -LuCI - Lua Configuration Interface +-- Copyright 2008 Steven Barth +-- Licensed to the public under the Apache License 2.0. -Copyright 2008 Steven Barth +local wa = require "luci.tools.webadmin" +local fs = require "nixio.fs" -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -$Id$ -]]-- - -require("luci.tools.webadmin") 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("Static IPv4 Routes")) s.addremove = true s.anonymous = true @@ -28,7 +16,7 @@ s.anonymous = true s.template = "cbi/tblsection" iface = s:option(ListValue, "interface", translate("Interface")) -luci.tools.webadmin.cbi_add_networks(iface) +wa.cbi_add_networks(iface) t = s:option(Value, "target", translate("Target"), translate("Host-IP or Network")) t.datatype = "ip4addr" @@ -46,14 +34,28 @@ g.rmempty = true metric = s:option(Value, "metric", translate("Metric")) metric.placeholder = 0 metric.datatype = "range(0,255)" +metric.size = 5 metric.rmempty = true mtu = s:option(Value, "mtu", translate("MTU")) mtu.placeholder = 1500 mtu.datatype = "range(64,9000)" +mtu.size = 5 mtu.rmempty = true -if routes6 then +routetype = s:option(Value, "type", translate("Route type")) +routetype:value("", "unicast") +routetype:value("local", "local") +routetype:value("broadcast", "broadcast") +routetype:value("multicast", "multicast") +routetype:value("unreachable", "unreachable") +routetype:value("prohibit", "prohibit") +routetype:value("blackhole", "blackhole") +routetype:value("anycast", "anycast") +routetype.default = "" +routetype.rmempty = true + +if fs.access("/proc/net/ipv6_route") then s = m:section(TypedSection, "route6", translate("Static IPv6 Routes")) s.addremove = true s.anonymous = true @@ -61,7 +63,7 @@ if routes6 then s.template = "cbi/tblsection" iface = s:option(ListValue, "interface", translate("Interface")) - luci.tools.webadmin.cbi_add_networks(iface) + wa.cbi_add_networks(iface) t = s:option(Value, "target", translate("Target"), translate("IPv6-Address or Network (CIDR)")) t.datatype = "ip6addr" @@ -74,12 +76,26 @@ if routes6 then metric = s:option(Value, "metric", translate("Metric")) metric.placeholder = 0 metric.datatype = "range(0,65535)" -- XXX: not sure + metric.size = 5 metric.rmempty = true mtu = s:option(Value, "mtu", translate("MTU")) mtu.placeholder = 1500 mtu.datatype = "range(64,9000)" + mtu.size = 5 mtu.rmempty = true + + routetype = s:option(Value, "type", translate("Route type")) + routetype:value("", "unicast") + routetype:value("local", "local") + routetype:value("broadcast", "broadcast") + routetype:value("multicast", "multicast") + routetype:value("unreachable", "unreachable") + routetype:value("prohibit", "prohibit") + routetype:value("blackhole", "blackhole") + routetype:value("anycast", "anycast") + routetype.default = "" + routetype.rmempty = true end