2 <script type=
"text/javascript" src=
"<%=resource%>/cbi.js"></script>
3 <script type=
"text/javascript" src=
"<%=resource%>/bmx7/js/polling.js"></script>
26 #extra-info ul { list-style: none outside none; margin-left:
0em; }
31 <img src=
"<%=resource%>/bmx7/bmx7logo.png" />
34 A mesh routing protocol for Linux devices.
<br />
35 Visit
<a href=
"http://bmx6.net">bmx6.net
</a> for more information.
<br />
39 <div class=
"cbi-map-descr"></div>
41 <fieldset class=
"cbi-section">
42 <legend><%:Node configuration%
></legend>
43 <table class=
"cbi-section-table" id=
"config_table">
44 <tr class=
"cbi-section-table-titles">
45 <th class=
"cbi-section-table-cell"><%:Short ID%
></th>
46 <th class=
"cbi-section-table-cell"><%:Node name%
></th>
47 <th class=
"cbi-section-table-cell"><%:Primary IPv6 address%
></th>
48 <th class=
"cbi-section-table-cell"><%:Node key%
></th>
49 <th class=
"cbi-section-table-cell"><%:BMX7 revision%
></th>
51 <tr class=
"cbi-section-table-row">
52 <td colspan=
"5"><em><br /><%:Collecting data...%
></em></td>
57 <fieldset class=
"cbi-section">
58 <legend><%:Node status%
></legend>
59 <table class=
"cbi-section-table" id=
"status_table">
60 <tr class=
"cbi-section-table-titles">
61 <th class=
"cbi-section-table-cell"><%:Nodes seen%
></th>
62 <th class=
"cbi-section-table-cell"><%:Neighbours%
></th>
63 <th class=
"cbi-section-table-cell"><%:Tunnelled IPv6 address%
></th>
64 <th class=
"cbi-section-table-cell"><%:Tunnelled IPv4 address%
></th>
65 <th class=
"cbi-section-table-cell"><%:Uptime%
></th>
66 <th class=
"cbi-section-table-cell"><%:CPU usage%
></th>
67 <th class=
"cbi-section-table-cell"><%:Memory usage%
></th>
68 <th class=
"cbi-section-table-cell"><%:Tx queue%
></th>
71 <tr class=
"cbi-section-table-row">
72 <td colspan=
"8"><em><br /><%:Collecting data...%
></em></td>
77 <fieldset class=
"cbi-section">
78 <legend><%:Interfaces%
></legend>
79 <table class=
"cbi-section-table" id=
"ifaces_table">
80 <tr class=
"cbi-section-table-titles">
81 <th class=
"cbi-section-table-cell"><%:Interface%
></th>
82 <th class=
"cbi-section-table-cell"><%:State%
></th>
83 <th class=
"cbi-section-table-cell"><%:Type%
></th>
84 <th class=
"cbi-section-table-cell"><%:Max. rate%
></th>
85 <th class=
"cbi-section-table-cell"><%:Link-local IPv6 address%
></th>
86 <th class=
"cbi-section-table-cell"><%:Rx BpP%
></th>
87 <th class=
"cbi-section-table-cell"><%:Tx BpP%
></th>
90 <tr class=
"cbi-section-table-row">
91 <td colspan=
"7"><em><br /><%:Collecting data...%
></em></td>
96 <fieldset class=
"cbi-section">
97 <legend><%:Links%
></legend>
98 <table class=
"cbi-section-table" id=
"links_table">
99 <tr class=
"cbi-section-table-titles">
100 <th class=
"cbi-section-table-cell"><%:Short ID%
></th>
101 <th class=
"cbi-section-table-cell"><%:Name%
></th>
102 <th class=
"cbi-section-table-cell"><%:Link key%
></th>
103 <th class=
"cbi-section-table-cell"><%:Remote link-local IPv6 address%
></th>
104 <th class=
"cbi-section-table-cell"><%:Device%
></th>
105 <th class=
"cbi-section-table-cell"><%:Rx rate%
></th>
106 <th class=
"cbi-section-table-cell"><%:Tx rate%
></th>
107 <th class=
"cbi-section-table-cell"><%:Routes%
></th>
110 <tr class=
"cbi-section-table-row">
111 <td colspan=
"8"><em><br /><%:Collecting data...%
></em></td>
119 <script type=
"text/javascript">//<![CDATA[
120 new TablePooler(
1,
"/cgi-bin/bmx7-info", {'$info':''},
"config_table", function(st){
122 var sta = st.info[
0].status;
123 var ifaces = st.info[
1].interfaces;
125 res.push([sta.shortId, sta.name, sta.primaryIp, sta.nodeKey, sta.revision]);
126 res.push(['','','','',''])
127 res.push(['','','','',''])
133 new TablePooler(
1,
"/cgi-bin/bmx7-info", {'$info':''},
"status_table", function(st){
135 var sta = st.info[
0].status;
136 var mem = st.info[
3].memory;
138 var txQ = sta.txQ.split('/');
141 var ptxQ = '
<p style=
"color:rgb('+parseInt(255*txQ[0]/txQ[1])+','+parseInt(128*(txQ[1]-txQ[0])/txQ[1])+',0)")
>'+sta.txQ+'
</p>';
144 res.push([sta.nodes, sta.nbs, sta.tun6Address, sta.tun4Address, sta.uptime, sta.cpu, mem.bmx7, ptxQ]);
146 res.push(['','','','','','','',''])
147 res.push(['','','','','','','',''])
152 new TablePooler(
1,
"/cgi-bin/bmx7-info", {'$info':''},
"ifaces_table", function(st){
154 var sta = st.info[
0].status;
155 var ifaces = st.info[
1].interfaces;
157 ifaces.forEach(function(iface){
158 res.push([iface.dev, iface.state, iface.type, iface.rateMax, iface.localIp, iface.rxBpP, iface.txBpP]);
160 res.push(['','','','','','',''])
161 if (ifaces.length %
2 ==
0)
163 res.push(['','','','','','',''])
167 new TablePooler(
1,
"/cgi-bin/bmx7-info", {'links':''},
"links_table", function(st){
171 links.forEach(function(link){
172 res.push([link.shortId, link.name, link.linkKey, link.nbLocalIp, link.dev, link.rxRate, link.txRate, link.routes]);
174 res.push(['','','','','','','',''])
175 if (links.length %
2 ==
0)
177 res.push(['','','','','','','',''])