diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2016-01-20 16:55:15 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2016-01-20 16:56:25 +0100 |
commit | c23885f6a776db74aa728b1efcd1bf644dde626d (patch) | |
tree | 6df0b0a71a3bc9e694ef382c1d7b92b7b161b892 /modules/luci-base/luasrc | |
parent | e0988b089be0e33d64c62339cfdd90755b6dbd79 (diff) |
luci-base: add luci.sys.net.host_hints() and regenerate documentation
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'modules/luci-base/luasrc')
-rw-r--r-- | modules/luci-base/luasrc/sys.lua | 22 | ||||
-rw-r--r-- | modules/luci-base/luasrc/sys.luadoc | 10 |
2 files changed, 32 insertions, 0 deletions
diff --git a/modules/luci-base/luasrc/sys.lua b/modules/luci-base/luasrc/sys.lua index 31c3e1209..5d203aa8f 100644 --- a/modules/luci-base/luasrc/sys.lua +++ b/modules/luci-base/luasrc/sys.lua @@ -292,6 +292,28 @@ function net.ipv6_hints(callback) end end +function net.host_hints(callback) + if callback then + _nethints(1, function(mac, v4, v6, name) + if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then + callback(mac, v4, v6, name) + end + end) + else + local rv = { } + _nethints(1, function(mac, v4, v6, name) + if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then + local e = { } + if v4 then e.ipv4 = v4 end + if v6 then e.ipv6 = v6 end + if name then e.name = name end + rv[mac] = e + end + end) + return rv + end +end + function net.conntrack(callback) local ok, nfct = pcall(io.lines, "/proc/net/nf_conntrack") if not ok or not nfct then diff --git a/modules/luci-base/luasrc/sys.luadoc b/modules/luci-base/luasrc/sys.luadoc index 54be34958..1c1fa9260 100644 --- a/modules/luci-base/luasrc/sys.luadoc +++ b/modules/luci-base/luasrc/sys.luadoc @@ -151,6 +151,16 @@ Returns a two-dimensional table of IPv6 address hints. ]] ---[[ +Returns a two-dimensional table of host hints. + +@class function +@name net.host_hints +@return Table of table containing known hosts from various sources, + indexed by mac address. Each subtable contains at least one + of the fields "name", "ipv4" or "ipv6". +]] + +---[[ Returns conntrack information @class function |