<%# LuCI - Lua Configuration Interface Copyright 2008-2009 Steven Barth Copyright 2008-2009 Jo-Philipp Wich Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 $Id$ -%> <%- local fs = require "nixio.fs" local bit = require "nixio".bit local sys = require "luci.sys" local uci = require "luci.model.uci" local inst = uci.inst local state = uci.inst_state local http = require "luci.http" local style = true local ifc = {__index = function(self, key) local net = key state:foreach("network", "interface", function(s) if s.ifname == key then net = s[".name"] end end) rawset(self, key, net) return net end} setmetatable(ifc, ifc) if http.formvalue("toggle_rtable") then local cursor = uci.cursor() local rt = cursor:get("network", "lan", "_showrtable") or "1" cursor:set("network", "lan", "_showrtable", rt == "1" and "0" or "1") cursor:save("network") cursor:unload("network") inst:unload("network") end -%>
> <%:Toggle display of Routing Information%> <

<% if inst:get("network", "lan", "_showrtable") ~= "0" then %>
<%_Active IPv4-Routes%>
<% luci.sys.net.routes(function(rt) %> <% style = not style; end) %>
<%:Network%> <%:Target%> <%_IPv4-Netmask%> <%_IPv4-Gateway%> <%:Metric%>
<%=ifc[rt.device]%> <%=rt.dest:network():string()%> <%=rt.dest:mask():string()%> <%=rt.gateway:string()%> <%=rt.metric%>

<% if fs.access("/proc/net/ipv6_route") then style = true %>
<%_Active IPv6-Routes%>
<% luci.sys.net.routes6(function(rt) %> <% style = not style; end) %>
<%:Network%> <%:Target%> <%_IPv6-Gateway%> <%:Metric%>
<%=ifc[rt.device]%> <%=rt.dest:string()%> <%=rt.source:string()%> <%- local metr = rt.metric local lower = bit.band(metr, 0xffff) local higher = bit.rshift(bit.band(metr, 0xffff0000), 16) write(string.format("%04X%04X", higher, lower)) -%>

<% end %>
<% end %>