summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm
blob: ebdd64ad486d3cd96c1ddb5a5cc08b631de9ec29 (plain)
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
<%#
 Copyright 2008-2009 Steven Barth <steven@midlink.org>
 Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org>
 Licensed to the public under the Apache License 2.0.
-%>

<%-
	require "luci.sys"
	require "luci.tools.webadmin"
	require "nixio.fs"

	local style = true
-%>

<%+header%>

<div class="cbi-map" id="cbi-network">
	<h2><a id="content" name="content"><%:Routes%></a></h2>
	<div class="cbi-map-descr"><%:The following rules are currently active on this system.%></div>

	<fieldset class="cbi-section" id="cbi-table-table">
		<legend>ARP</legend>
		<div class="cbi-section-node">
			<table class="cbi-section-table">
				<tr class="cbi-section-table-titles">
					<th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Address%></th>
					<th class="cbi-section-table-cell"><%_<abbr title="Media Access Control">MAC</abbr>-Address%></th>
					<th class="cbi-section-table-cell"><%:Interface%></th>
				</tr>

				<% luci.sys.net.arptable(function(e) %>
				<tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
					<td class="cbi-value-field"><%=e["IP address"]%></td>
					<td class="cbi-value-field"><%=e["HW address"]%></td>
					<td class="cbi-value-field"><%=e["Device"]%></td>
				</tr>
				<% style = not style; end) %>
			</table>
		</div>
	</fieldset>
	<br />

	<fieldset class="cbi-section" id="cbi-table-table">
		<legend><%_Active <abbr title="Internet Protocol Version 4">IPv4</abbr>-Routes%></legend>

		<div class="cbi-section-node">
			<table class="cbi-section-table">
				<tr class="cbi-section-table-titles">
					<th class="cbi-section-table-cell"><%:Network%></th>
					<th class="cbi-section-table-cell"><%:Target%></th>
					<th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Gateway%></th>
					<th class="cbi-section-table-cell"><%:Metric%></th>
				</tr>
				<% luci.sys.net.routes(function(rt) %>
				<tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
					<td class="cbi-value-field"><%=luci.tools.webadmin.iface_get_network(rt.device) or rt.device%></td>
					<td class="cbi-value-field"><%=rt.dest:string()%></td>
					<td class="cbi-value-field"><%=rt.gateway:string()%></td>
					<td class="cbi-value-field"><%=rt.metric%></td>
				</tr>
				<% style = not style; end) %>
			</table>
		</div>
	</fieldset>
	<br />

	<% if nixio.fs.access("/proc/net/ipv6_route") then
		style = true
		fe80 = luci.ip.IPv6("fe80::/10")
	%>
	<fieldset class="cbi-section" id="cbi-table-table">
		<legend><%_Active <abbr title="Internet Protocol Version 6">IPv6</abbr>-Routes%></legend>

		<div class="cbi-section-node">
			<table class="cbi-section-table">
				<tr class="cbi-section-table-titles">
					<th class="cbi-section-table-cell"><%:Network%></th>
					<th class="cbi-section-table-cell"><%:Target%></th>
					<th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 6">IPv6</abbr>-Gateway%></th>
					<th class="cbi-section-table-cell"><%:Metric%></th>
				</tr>
				<% luci.sys.net.routes6(function(rt) if fe80:contains(rt.dest) then return end %>
				<tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
					<td class="cbi-value-field"><%=luci.tools.webadmin.iface_get_network(rt.device) or '(' .. rt.device .. ')'%></td>
					<td class="cbi-value-field"><%=rt.dest:string()%></td>
					<td class="cbi-value-field"><%=rt.source:string()%></td>
					<td class="cbi-value-field"><%=rt.metric_raw:upper()%></td>
				</tr>
				<% style = not style; end) %>
			</table>
		</div>
	</fieldset>
	<br />
	<% end %>
</div>

<%+footer%>