Skip to content

Commit

Permalink
luci-base: add luci.sys.net.host_hints() and regenerate documentation
Browse files Browse the repository at this point in the history
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
  • Loading branch information
jow- committed Jan 20, 2016
1 parent e0988b0 commit c23885f
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 3 deletions.
8 changes: 5 additions & 3 deletions documentation/api/modules/luci.model.uci.html
Original file line number Diff line number Diff line change
Expand Up @@ -903,7 +903,8 @@ <h3>Parameters</h3>


<h3>Return value:</h3>
UCI value
table. If the option was not found, you will simply get
an empty table.



Expand Down Expand Up @@ -1200,7 +1201,8 @@ <h3>Return value:</h3>
<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.



Expand All @@ -1220,7 +1222,7 @@ <h3>Parameters</h3>
</li>

<li>
value: UCI value
value: value or table. Raw values will become a single item table.
</li>

</ul>
Expand Down
32 changes: 32 additions & 0 deletions documentation/api/modules/luci.sys.net.html
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,13 @@ <h2>Functions</h2>
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">
Expand Down Expand Up @@ -393,6 +400,31 @@ <h3>Return value:</h3>



<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>

Expand Down
22 changes: 22 additions & 0 deletions modules/luci-base/luasrc/sys.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 10 additions & 0 deletions modules/luci-base/luasrc/sys.luadoc
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,16 @@ Returns a two-dimensional table of IPv6 address hints.
[ "ip", "name" ]
]]

---[[
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

Expand Down

0 comments on commit c23885f

Please sign in to comment.