2015-01-16 22:38:38 +00:00
|
|
|
-- Copyright 2008 Steven Barth <steven@midlink.org>
|
|
|
|
-- Licensed to the public under the Apache License 2.0.
|
2009-05-13 23:46:56 +00:00
|
|
|
|
2015-01-22 14:53:16 +00:00
|
|
|
local wa = require "luci.tools.webadmin"
|
|
|
|
local fs = require "nixio.fs"
|
|
|
|
|
2009-10-31 22:33:52 +00:00
|
|
|
m = Map("network",
|
|
|
|
translate("Routes"),
|
|
|
|
translate("Routes specify over which interface and gateway a certain host or network " ..
|
|
|
|
"can be reached."))
|
2008-04-11 19:03:30 +00:00
|
|
|
|
2009-10-31 15:54:11 +00:00
|
|
|
s = m:section(TypedSection, "route", translate("Static IPv4 Routes"))
|
2008-04-11 19:03:30 +00:00
|
|
|
s.addremove = true
|
|
|
|
s.anonymous = true
|
2008-08-22 22:38:14 +00:00
|
|
|
|
2008-05-14 12:10:44 +00:00
|
|
|
s.template = "cbi/tblsection"
|
2008-04-11 19:03:30 +00:00
|
|
|
|
2009-10-31 15:54:11 +00:00
|
|
|
iface = s:option(ListValue, "interface", translate("Interface"))
|
2015-01-22 14:53:16 +00:00
|
|
|
wa.cbi_add_networks(iface)
|
2008-08-14 20:33:30 +00:00
|
|
|
|
2010-11-16 19:06:51 +00:00
|
|
|
t = s:option(Value, "target", translate("Target"), translate("Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"))
|
|
|
|
t.datatype = "ip4addr"
|
|
|
|
t.rmempty = false
|
|
|
|
|
|
|
|
n = s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"), translate("if target is a network"))
|
|
|
|
n.placeholder = "255.255.255.255"
|
|
|
|
n.datatype = "ip4addr"
|
|
|
|
n.rmempty = true
|
|
|
|
|
|
|
|
g = s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
|
|
|
|
g.datatype = "ip4addr"
|
|
|
|
g.rmempty = true
|
|
|
|
|
|
|
|
metric = s:option(Value, "metric", translate("Metric"))
|
|
|
|
metric.placeholder = 0
|
|
|
|
metric.datatype = "range(0,255)"
|
|
|
|
metric.rmempty = true
|
|
|
|
|
|
|
|
mtu = s:option(Value, "mtu", translate("MTU"))
|
|
|
|
mtu.placeholder = 1500
|
|
|
|
mtu.datatype = "range(64,9000)"
|
|
|
|
mtu.rmempty = true
|
2008-04-11 19:03:30 +00:00
|
|
|
|
2015-01-22 14:53:16 +00:00
|
|
|
if fs.access("/proc/net/ipv6_route") then
|
2009-10-31 15:54:11 +00:00
|
|
|
s = m:section(TypedSection, "route6", translate("Static IPv6 Routes"))
|
2008-11-30 18:43:10 +00:00
|
|
|
s.addremove = true
|
|
|
|
s.anonymous = true
|
2008-11-26 23:38:30 +00:00
|
|
|
|
2008-11-30 18:43:10 +00:00
|
|
|
s.template = "cbi/tblsection"
|
2008-11-26 23:38:30 +00:00
|
|
|
|
2009-10-31 15:54:11 +00:00
|
|
|
iface = s:option(ListValue, "interface", translate("Interface"))
|
2015-01-22 14:53:16 +00:00
|
|
|
wa.cbi_add_networks(iface)
|
2008-11-26 23:38:30 +00:00
|
|
|
|
2010-11-16 19:06:51 +00:00
|
|
|
t = s:option(Value, "target", translate("Target"), translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network (CIDR)"))
|
|
|
|
t.datatype = "ip6addr"
|
|
|
|
t.rmempty = false
|
|
|
|
|
|
|
|
g = s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
|
|
|
|
g.datatype = "ip6addr"
|
|
|
|
g.rmempty = true
|
|
|
|
|
|
|
|
metric = s:option(Value, "metric", translate("Metric"))
|
|
|
|
metric.placeholder = 0
|
|
|
|
metric.datatype = "range(0,65535)" -- XXX: not sure
|
|
|
|
metric.rmempty = true
|
|
|
|
|
|
|
|
mtu = s:option(Value, "mtu", translate("MTU"))
|
|
|
|
mtu.placeholder = 1500
|
|
|
|
mtu.datatype = "range(64,9000)"
|
|
|
|
mtu.rmempty = true
|
2008-11-30 18:43:10 +00:00
|
|
|
end
|
2008-11-26 23:38:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
return m
|