summaryrefslogtreecommitdiffstats
path: root/interfaces-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces-model.lua')
-rw-r--r--interfaces-model.lua71
1 files changed, 7 insertions, 64 deletions
diff --git a/interfaces-model.lua b/interfaces-model.lua
index 59e16ba..1e86b8c 100644
--- a/interfaces-model.lua
+++ b/interfaces-model.lua
@@ -14,67 +14,7 @@ local array
-- iface is a local table with cfes for the various parts of interface definitions
-- Depending on the address family and corresponding method, different options are valid
-local iface = {
- required = {
- comment = {type="longtext", label="Comments", seq=2},
- auto = {type="boolean", value=false, label="Auto bring-up", seq=3},
- name = {label="Interface Name", seq=1},
- family = {type="select", label="Address Family", option={"inet", "ipx", "inet6"}, seq=4},
- method = {type="select", label="Method", option={"loopback", "static", "manual", "dhcp", "bootp", "ppp", "wvdial", "dynamic", "v4tunnel"}, seq=5},
- ['pre-up'] = {type="longtext", label="'pre-up' actions", seq=100},
- up = {type="longtext", label="'up' actions", seq=101},
- down = {type="longtext", label="'down' actions", seq=102},
- ['post-down'] = {type="longtext", label="'post-down' actions", seq=103},
- },
- family_methods = {
- inet = {"loopback", "static", "manual", "dhcp", "bootp", "ppp", "wvdial"},
- ipx = {"static", "dynamic"},
- inet6 = {"loopback", "static", "manual", "v4tunnel"},
- },
- method_options = {
- inet = {
- static = {"address", "netmask", "broadcast", "network", "metric", "gateway", "pointopoint", "media", "hwaddress", "mtu"},
- dhcp = {"hostname", "leasehours", "leasetime", "vendor", "client", "hwaddress"},
- bootp = {"bootfile", "server", "hwaddr"},
- ppp = {"provider"},
- wvdial = {"provider"},
- },
- ipx = {
- static = {"frame", "netnum"},
- dynamic = {"frame"},
- },
- inet6 ={
- static = {"address", "netmask", "gateway", "media", "hwaddress", "mtu"},
- v4tunnel = {"address", "netmask", "endpoint", "local", "gateway", "ttl"},
- },
- },
- optional = {
- address = {label="Address", seq=6},
- netmask = {label="Netmask", seq=7},
- endpoint = {label="Endpoint address", seq=8},
- ['local'] = {label="Local address", seq=9},
- broadcast = {label="Broadcast address", seq=10},
- network = {label="Network address", seq=11},
- metric = {label="Routing metric", seq=12},
- gateway = {label="Default gateway", seq=13},
- pointopoint = {label="Point-to-point address", seq=14},
- media = {label="Medium type", seq=15},
- hostname = {label="Hostname", seq=16},
- leasehours = {label="Preferred lease time (hours)", seq=17},
- leasetime = {label="Preferred lease time (seconds)", seq=18},
- vendor = {label="Vendor class identifier", seq=19},
- client = {label="Client identifier", seq=20},
- hwaddress = {label="Hardware address", seq=21},
- mtu = {label="MTU size", seq=22},
- bootfile = {label="Boot file", seq=23},
- server = {label="Server address", seq=24},
- hwaddr = {label="Hardware address", seq=25},
- provider = {label="Provider name", seq=26},
- frame = {label="Ethernet frame type", seq=27},
- netnum = {label="Network number", seq=28},
- ttl = {label="TTL setting", seq=29},
- },
-}
+local iface = require("alpine-baselayout/interfaces-definitions")
-- Create an interface structure with all options
local get_blank_iface = function ()
@@ -297,15 +237,18 @@ end
get_iface_by_name = function(self, clientdata)
-- if the name is blank, then return a blank iface with error
+ local ret
unpack_interfaces()
local rc, idx = arrayindex(clientdata.name or "")
if rc == false then
- local ret = get_blank_iface()
+ ret = get_blank_iface()
ret.value.name.value = name
ret.value.name.errtxt = "Interface does not exist"
- return ret
+ else
+ ret = array[idx]
end
- return array[idx]
+ ret.value.name.readonly = true
+ return ret
end
get_iface = function(self, clientdata)