* luci/libs/uvl: completed network scheme, add "uint" and "ipaddr" datatypes
This commit is contained in:
parent
c842b668b0
commit
2b767fc45c
2 changed files with 143 additions and 0 deletions
|
@ -31,6 +31,15 @@ function boolean( val )
|
|||
return false
|
||||
end
|
||||
|
||||
function uint( val )
|
||||
local n = tonumber(val)
|
||||
if n ~= nil and math.floor(n) == n and n >= 0 then
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
function integer( val )
|
||||
local n = tonumber(val)
|
||||
if n ~= nil and math.floor(n) == n then
|
||||
|
@ -44,6 +53,10 @@ function float( val )
|
|||
return ( tonumber(val) ~= nil )
|
||||
end
|
||||
|
||||
function ipaddr( val )
|
||||
return ip4addr(val) or ip6addr(val)
|
||||
end
|
||||
|
||||
function ip4addr( val )
|
||||
if val then
|
||||
return luci.ip.IPv4(val) and true or false
|
||||
|
|
|
@ -8,6 +8,7 @@ config section
|
|||
option title 'Network interface definition'
|
||||
option package 'network'
|
||||
list depends 'proto=static, ipaddr, netmask'
|
||||
list depends 'proto=static, ip6addr'
|
||||
list depends 'proto=pppoe, username, password'
|
||||
list depends 'proto=pptp, username, password, server'
|
||||
list depends 'proto=dhcp'
|
||||
|
@ -20,6 +21,12 @@ config variable
|
|||
option section 'network.interface'
|
||||
option required true
|
||||
|
||||
config variable
|
||||
option name 'macaddr'
|
||||
option title 'Interface MAC address'
|
||||
option section 'network.interface'
|
||||
option datatype 'macaddr'
|
||||
|
||||
config variable
|
||||
option name 'ipaddr'
|
||||
option title 'IPv4 host address'
|
||||
|
@ -32,6 +39,54 @@ config variable
|
|||
option section 'network.interface'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'gateway'
|
||||
option title 'IPv4 gateway'
|
||||
option section 'network.interface'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'bcast'
|
||||
option title 'IPv4 broadcast address'
|
||||
option section 'network.interface'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'ip6addr'
|
||||
option title 'IPv6 address (CIDR)'
|
||||
option section 'network.interface'
|
||||
option datatype 'ip6addr'
|
||||
|
||||
config variable
|
||||
option name 'ip6gw'
|
||||
option title 'IPv6 gateway'
|
||||
option section 'network.interface'
|
||||
option datatype 'ip6addr'
|
||||
|
||||
config variable
|
||||
option name 'dns'
|
||||
option title 'DNS server (IPv4 or IPv6)'
|
||||
option section 'network.interface'
|
||||
option datatype 'ipaddr'
|
||||
|
||||
config variable
|
||||
option name 'mtu'
|
||||
option title 'MTU'
|
||||
option section 'network.interface'
|
||||
option datatype 'uint'
|
||||
|
||||
config variable
|
||||
option name 'keepalive'
|
||||
option title 'Number of connection failures before reconnect (PPTP)'
|
||||
option section 'network.interface'
|
||||
option datatype 'uint'
|
||||
|
||||
config variable
|
||||
option name 'demand'
|
||||
option title 'Number of seconds to wait before closing the connection due to inactivity (PPTP)'
|
||||
option section 'network.interface'
|
||||
option datatype 'uint'
|
||||
|
||||
config variable
|
||||
option name 'proto'
|
||||
option title 'Option proto'
|
||||
|
@ -71,6 +126,81 @@ config enum
|
|||
option title 'This is a bridge interface'
|
||||
|
||||
|
||||
|
||||
config section
|
||||
option name 'alias'
|
||||
option title 'Alias interface definition'
|
||||
option package 'network'
|
||||
list depends 'proto=static, ipaddr, netmask'
|
||||
list depends 'proto=static, ip6addr'
|
||||
list depends 'proto=pppoe, username, password'
|
||||
list depends 'proto=pptp, username, password, server'
|
||||
list depends 'proto=dhcp'
|
||||
option named true
|
||||
|
||||
config variable
|
||||
option name 'interface'
|
||||
option title 'Parent interface name'
|
||||
option section 'network.alias'
|
||||
option valueof 'network.interface'
|
||||
option required true
|
||||
|
||||
config variable
|
||||
option name 'ipaddr'
|
||||
option title 'IPv4 host address'
|
||||
option section 'network.alias'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'netmask'
|
||||
option title 'IPv4 network mask'
|
||||
option section 'network.alias'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'gateway'
|
||||
option title 'IPv4 gateway'
|
||||
option section 'network.alias'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'bcast'
|
||||
option title 'IPv4 broadcast address'
|
||||
option section 'network.alias'
|
||||
option datatype 'ip4addr'
|
||||
|
||||
config variable
|
||||
option name 'ip6addr'
|
||||
option title 'IPv6 address (CIDR)'
|
||||
option section 'network.alias'
|
||||
option datatype 'ip6addr'
|
||||
|
||||
config variable
|
||||
option name 'ip6gw'
|
||||
option title 'IPv6 gateway'
|
||||
option section 'network.alias'
|
||||
option datatype 'ip6addr'
|
||||
|
||||
config variable
|
||||
option name 'dns'
|
||||
option title 'DNS server (IPv4 or IPv6)'
|
||||
option section 'network.alias'
|
||||
option datatype 'ipaddr'
|
||||
|
||||
config variable
|
||||
option name 'proto'
|
||||
option title 'Alias interface protocol'
|
||||
option section 'network.alias'
|
||||
option type 'enum'
|
||||
option required true
|
||||
|
||||
config enum
|
||||
option variable 'network.alias.proto'
|
||||
option value 'static'
|
||||
option title 'Interface has static network configuration'
|
||||
|
||||
|
||||
|
||||
config section
|
||||
option name 'switch'
|
||||
option title 'Section switch'
|
||||
|
|
Loading…
Reference in a new issue