summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-coovachilli/luasrc/model/cbi/coovachilli_network.lua
blob: e3351ab0008964380c311319f0b4c1ee70111d15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
--[[
LuCI - Lua Configuration Interface

Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>

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.sys")
require("luci.ip")

m = Map("coovachilli")

-- tun
s1 = m:section(TypedSection, "tun")
s1.anonymous = true

s1:option( Flag, "usetap" )
s1:option( Value, "tundev" ).optional = true
s1:option( Value, "txqlen" ).optional = true

net = s1:option( Value, "net" )
for _, route in ipairs(luci.sys.net.routes()) do
	if route.Iface ~= "lo" and route.Mask ~= "FFFFFFFF" then
		local netmask = luci.ip.IPv4(route.Mask)
		if netmask then
			local netaddr = luci.ip.IPv4(route.Destination, netmask)
			if netaddr then
				net:value( netaddr:string() )
			end
		end
	end
end

s1:option( Value, "dynip" ).optional = true
s1:option( Value, "statip" ).optional = true

s1:option( Value, "dns1" ).optional = true
s1:option( Value, "dns2" ).optional = true
s1:option( Value, "domain" ).optional = true

s1:option( Value, "ipup" ).optional = true
s1:option( Value, "ipdown" ).optional = true

s1:option( Value, "conup" ).optional = true
s1:option( Value, "condown" ).optional = true


-- dhcp config
s2 = m:section(TypedSection, "dhcp")
s2.anonymous = true

dif = s2:option( Value, "dhcpif" )
for _, nif in ipairs(luci.sys.net.devices()) do
	if nif ~= "lo" then dif:value(nif) end
end

s2:option( Value, "dhcpmac" ).optional = true
s2:option( Value, "lease" ).optional = true
s2:option( Value, "dhcpstart" ).optional = true
s2:option( Value, "dhcpend" ).optional = true

s2:option( Flag, "eapolenable" )


return m