modules/freifunk: Make display of ipv4 default route in public status work with freifunk-policyrouting enabled

This commit is contained in:
Manuel Munz 2011-10-10 16:04:27 +00:00
parent bb5986cf13
commit 61778a3239
2 changed files with 27 additions and 4 deletions

View file

@ -292,6 +292,17 @@ function public_status_json()
dest = dr4.dest:string(),
dev = dr4.device,
metr = dr4.metric }
else
local dr = sys.exec("ip r s t olsr-default")
if dr then
local dest, gateway, dev, metr = dr:match("^(%w+) via (%d+.%d+.%d+.%d+) dev (%w+) +metric (%d+)")
def4 = {
dest = dest,
gateway = gateway,
dev = dev,
metr = metr
}
end
end
rv[#rv+1] = {

View file

@ -49,6 +49,18 @@ local has_iwinfo = pcall(require, "iwinfo")
local defroutev4 = sys.net.defaultroute()
local defroutev6 = sys.net.defaultroute6()
if defroutev4 then
defroutev4.dest = defroutev4.dest:string()
defroutev4.gateway = defroutev4.gateway:string()
else
local dr4 = sys.exec("ip r s t olsr-default")
if dr4 then
defroutev4 = { }
defroutev4.dest, defroutev4.gateway, defroutev4.device, defroutev4.metric = dr4:match("^(%w+) via (%d+.%d+.%d+.%d+) dev (%w+) +metric (%d+)$
end
end
-%>
<%+header%>
@ -283,9 +295,9 @@ local defroutev6 = sys.net.defaultroute6()
<% if defroutev4 then %>
<tr class="cbi-section-table-row cbi-rowstyle-1">
<td class="cbi-value-field" id="v4dst"><%=defroutev4.dest:string()%></td>
<td class="cbi-value-field" id="v4dst"><%=defroutev4.dest%></td>
<td class="cbi-value-field" id="v4dev"><%=defroutev4.device%></td>
<td class="cbi-value-field" id="v4gw"><%=defroutev4.gateway:string()%></td>
<td class="cbi-value-field" id="v4gw"><%=defroutev4.gateway%></td>
<td class="cbi-value-field" id="v4metr"><%=defroutev4.metric%></td>
</tr>