X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=modules%2Fluci-mod-admin-full%2Fluasrc%2Fview%2Fadmin_status%2Froutes.htm;h=82dd3a7dfe24c924cbe708b50c9958835ca568e0;hb=ec170d62821579dea84e9333a7c7561dd7d59157;hp=4e7287b70524e04b297c4538594345a8165d377c;hpb=1bb4822dca6113f73e3bc89e2acf15935e6f8e92;p=project%2Fluci.git diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm index 4e7287b70..82dd3a7df 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm @@ -1,25 +1,33 @@ <%# -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$ - + Copyright 2008-2009 Steven Barth + Copyright 2008-2015 Jo-Philipp Wich + Licensed to the public under the Apache License 2.0. -%> <%- - require "bit" - require "luci.sys" require "luci.tools.webadmin" require "nixio.fs" + local ip = require "luci.ip" local style = true + local _, v + + local rtn = { + [255] = "local", + [254] = "main", + [253] = "default", + [0] = "unspec" + } + + if nixio.fs.access("/etc/iproute2/rt_tables") then + local ln + for ln in io.lines("/etc/iproute2/rt_tables") do + local i, n = ln:match("^(%d+)%s+(%S+)") + if i and n then + rtn[tonumber(i)] = n + end + end + end -%> <%+header%> @@ -28,7 +36,7 @@ $Id$

<%:Routes%>

<%:The following rules are currently active on this system.%>
-
+
ARP
@@ -38,19 +46,26 @@ $Id$ - <% luci.sys.net.arptable(function(e) %> + <% + for _, v in ipairs(ip.neighbors({ family = 4 })) do + if v.mac then + %> - - - + + + - <% style = not style; end) %> + <% + style = not style + end + end + %>
<%:Interface%>
<%=e["IP address"]%><%=e["HW address"]%><%=e["Device"]%><%=v.dest%><%=v.mac%><%=v.dev%>

-
+
<%_Active IPv4-Routes%>
@@ -60,25 +75,27 @@ $Id$ <%:Target%> <%_IPv4-Gateway%> <%:Metric%> + <%:Table%> - <% luci.sys.net.routes(function(rt) %> + <% for _, v in ipairs(ip.routes({ family = 4, type = 1 })) do %> - <%=luci.tools.webadmin.iface_get_network(rt.device) or rt.device%> - <%=rt.dest:string()%> - <%=rt.gateway:string()%> - <%=rt.metric%> + <%=luci.tools.webadmin.iface_get_network(v.dev) or v.dev%> + <%=v.dest%> + <%=v.gw%> + <%=v.metric or 0%> + <%=rtn[v.table] or v.table%> - <% style = not style; end) %> + <% style = not style end %>

- <% if nixio.fs.access("/proc/net/ipv6_route") then - style = true - fe80 = luci.ip.IPv6("fe80::/10") + <% + if nixio.fs.access("/proc/net/ipv6_route") then + style = true %> -
+
<%_Active IPv6-Routes%>
@@ -86,17 +103,55 @@ $Id$ <%:Network%> <%:Target%> - <%_IPv6-Gateway%> + <%:Source%> <%:Metric%> + <%:Table%> + + <% + for _, v in ipairs(ip.routes({ family = 6, type = 1 })) do + if v.dest and not v.dest:is6linklocal() then + %> + + <%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%> + <%=v.dest%> + <%=v.from%> + <%=v.metric or 0%> + <%=rtn[v.table] or v.table%> + + <% + style = not style + end + end + %> + +
+
+
+ +
+ <%:IPv6 Neighbours%> + +
+ + + + + - <% luci.sys.net.routes6(function(rt) if fe80:contains(rt.dest) then return end %> + <% + for _, v in ipairs(ip.neighbors({ family = 6 })) do + if v.dest and not v.dest:is6linklocal() and v.mac then + %> - - - - + + + - <% style = not style; end) %> + <% + style = not style + end + end + %>
<%:IPv6-Address%><%:MAC-Address%><%:Interface%>
<%=luci.tools.webadmin.iface_get_network(rt.device) or '(' .. rt.device .. ')'%><%=rt.dest:string()%><%=rt.source:string()%><%=rt.metric_raw:upper()%><%=v.dest%><%=v.mac%><%=luci.tools.webadmin.iface_get_network(v.dev) or '(' .. v.dev .. ')'%>