summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--documentation/api/modules/luci.model.uci.html8
-rw-r--r--documentation/api/modules/luci.sys.net.html32
-rw-r--r--modules/luci-base/luasrc/sys.lua22
-rw-r--r--modules/luci-base/luasrc/sys.luadoc10
4 files changed, 69 insertions, 3 deletions
diff --git a/documentation/api/modules/luci.model.uci.html b/documentation/api/modules/luci.model.uci.html
index cf75aebccb..c84d1eb0eb 100644
--- a/documentation/api/modules/luci.model.uci.html
+++ b/documentation/api/modules/luci.model.uci.html
@@ -903,7 +903,8 @@ Get an option or list and return values as table.
<h3>Return value:</h3>
-UCI value
+table. If the option was not found, you will simply get
+ an empty table.
@@ -1200,7 +1201,8 @@ Boolean whether operation succeeded
<dd>
-Set given values as list.
+Set given values as list. Setting a list option to an empty list
+has the same effect as deleting the option.
@@ -1220,7 +1222,7 @@ Set given values as list.
</li>
<li>
- value: UCI value
+ value: value or table. Raw values will become a single item table.
</li>
</ul>
diff --git a/documentation/api/modules/luci.sys.net.html b/documentation/api/modules/luci.sys.net.html
index 4a049e2307..09cef175f9 100644
--- a/documentation/api/modules/luci.sys.net.html
+++ b/documentation/api/modules/luci.sys.net.html
@@ -242,6 +242,13 @@ Determine the names of available network interfaces.</td>
</tr>
<tr>
+ <td class="name" nowrap><a href="#net.host_hints">host_hints</a>&nbsp;()</td>
+ <td class="summary">
+
+Returns a two-dimensional table of host hints.</td>
+ </tr>
+
+ <tr>
<td class="name" nowrap><a href="#net.ipv4_hints">ipv4_hints</a>&nbsp;()</td>
<td class="summary">
@@ -393,6 +400,31 @@ Table containing all current interface names
+<dt><a name="net.host_hints"></a><strong>host_hints</strong>&nbsp;()</dt>
+<dd>
+
+
+Returns a two-dimensional table of host hints.
+
+
+
+
+
+
+
+
+<h3>Return value:</h3>
+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".
+
+
+
+</dd>
+
+
+
+
<dt><a name="net.ipv4_hints"></a><strong>ipv4_hints</strong>&nbsp;()</dt>
<dd>
diff --git a/modules/luci-base/luasrc/sys.lua b/modules/luci-base/luasrc/sys.lua
index 31c3e12095..5d203aa8f8 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 54be34958a..1c1fa92602 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