1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
<%#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
Licensed to the public under the Apache License 2.0.
-%>
<%
local i = 1
if luci.http.formvalue("status") == "1" then
local rv = {}
for k, hna in ipairs(hna) do
rv[#rv+1] = {
proto = hna["proto"],
destination = hna["destination"],
genmask = hna["genmask"],
gateway = hna["gateway"],
hostname = hna["hostname"],
validityTime = hna["validityTime"]
}
end
luci.http.prepare_content("application/json")
luci.http.write_json(rv)
return
end
%>
<%+header%>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">//<![CDATA[
XHR.poll(10, '<%=REQUEST_URI%>', { status: 1 },
function(x, info)
{
var hnadiv = document.getElementById('olsrd_hna');
if (hnadiv)
{
var s = '';
for (var idx = 0; idx < info.length; idx++)
{
var hna = info[idx];
var linkgw = ''
s += '<tr class="cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+' proto-' + hna.proto + '">'
if (hna.proto == '6') {
linkgw = '<a href="http://[' + hna.gateway + ']/cgi-bin-status.html">' + hna.gateway + '</a>'
} else {
linkgw = '<a href="http://' + hna.gateway + '/cgi-bin-status.html">' + hna.gateway + '</a>'
}
if (hna.validityTime != undefined) {
validity = hna.validityTime + 's'
} else {
validity = '-'
}
if (hna.hostname != undefined) {
hostname = ' / <a href="http://' + hna.hostname + '/cgi-bin-status.html">' + hna.hostname + '</a>'
} else {
hostname = ''
}
s += String.format(
'<td class="cbi-section-table-cell">%s</td>' +
'<td class="cbi-section-table-cell">%s</td>' +
'<td class="cbi-section-table-cell">%s</td>', hna.destination + '/' + hna.genmask, linkgw + hostname, validity
)
s += '</tr>'
}
hnadiv.innerHTML = s;
}
}
);
//]]></script>
<h2 name="content"><%:Active host net announcements%></h2>
<div id="togglebuttons"></div>
<fieldset class="cbi-section">
<legend><%:Overview of currently active OLSR host net announcements%></legend>
<table class="cbi-section-table">
<thead>
<tr class="cbi-section-table-titles">
<th class="cbi-section-table-cell"><%:Announced network%></th>
<th class="cbi-section-table-cell"><%:OLSR gateway%></th>
<th class="cbi-section-table-cell"><%:Validity Time%></th>
</tr>
</thead>
<tbody id="olsrd_hna">
<% for k, route in ipairs(hna) do %>
<tr class="cbi-section-table-row cbi-rowstyle-<%=i%> proto-<%=hna[k].proto%>">
<td class="cbi-section-table-cell"><%=hna[k].destination%>/<%=hna[k].genmask%> </td>
<td class="cbi-section-table-cell">
<% if hna[k].proto == '6' then %>
<a href="http://[<%=hna[k].gateway%>]/cgi-bin-status.html"><%=hna[k].gateway%></a>
<% else %>
<a href="http://<%=hna[k].gateway%>/cgi-bin-status.html"><%=hna[k].gateway%></a>
<% end %>
<% if hna[k].hostname then %>
/ <a href="http://<%=hna[k].hostname%>/cgi-bin-status.html"><%=hna[k].hostname%></a>
<% end %>
</td>
<% if hna[k].validityTime then
validity = hna[k].validityTime .. 's'
else
validity = '-'
end %>
<td class="cbi-section-table-cell"><%=validity%></td>
</tr>
<% i = ((i % 2) + 1)
end %>
</tbody>
</table>
</fieldset>
<%+status-olsr/common_js%>
<%+footer%>
|