478560f9732974f9b34de093c738912f39b74802
[project/luci.git] / applications / luci-statistics / src / model / cbi / admin_statistics / netlink.lua
1 --[[
2
3 Luci configuration model for statistics - collectd netlink plugin configuration
4 (c) 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10         http://www.apache.org/licenses/LICENSE-2.0
11
12 $Id$
13
14 ]]--
15
16 require("ffluci.sys")
17
18
19 m = Map("luci_statistics", "Interface Plugin",
20 [[Das Netlink-Plugin sammelt erweiterte Informationen wie Qdisc-, Class- und Filter-Werten auf einzelnen Schnittstellen.]])
21
22 -- collectd_netlink config section
23 s = m:section( NamedSection, "collectd_netlink", "luci_statistics", "Pluginkonfiguration" )
24
25 -- collectd_netlink.enable
26 enable = s:option( Flag, "enable", "Plugin aktivieren" )
27 enable.default = 0
28
29 -- collectd_netlink.interfaces (Interface)
30 interfaces = s:option( MultiValue, "Interfaces", "einfach Überwachte Schnittstellen", "mehrere Einträge mit Strg selektieren" )
31 interfaces.widget   = "select"
32 interfaces.optional = true
33 interfaces:depends( "enable", 1 )
34 interfaces:value("")
35 for i, v in ipairs(ffluci.sys.net.devices()) do
36         interfaces:value(v)
37 end
38
39 -- collectd_netlink.verboseinterfaces (VerboseInterface)
40 verboseinterfaces = s:option( MultiValue, "VerboseInterfaces", "detailliert Überwachte Schnittstellen", "mehrere Einträge mit Strg selektieren" )
41 verboseinterfaces.widget   = "select"
42 verboseinterfaces.optional = true
43 verboseinterfaces:depends( "enable", 1 )
44 verboseinterfaces:value("")
45 for i, v in ipairs(ffluci.sys.net.devices()) do
46         verboseinterfaces:value(v)
47 end
48
49 -- collectd_netlink.qdiscs (QDisc)
50 qdiscs = s:option( MultiValue, "QDiscs", "Queue Discipline auf Schnittstellen Überwachen", "mehrere Einträge mit Strg selektieren" )
51 qdiscs.widget   = "select"
52 qdiscs.optional = true
53 qdiscs:depends( "enable", 1 )
54 qdiscs:value("")
55 for i, v in ipairs(ffluci.sys.net.devices()) do
56         qdiscs:value(v)
57 end
58
59 -- collectd_netlink.classes (Class)
60 classs = s:option( MultiValue, "Classes", "Shapingklassen auf Schnittstellen Überwachen", "mehrere Einträge mit Strg selektieren" )
61 classs.widget   = "select"
62 classs.optional = true
63 classs:depends( "enable", 1 )
64 classs:value("")
65 for i, v in ipairs(ffluci.sys.net.devices()) do
66         classs:value(v)
67 end
68
69 -- collectd_netlink.filters (Filter)
70 filters = s:option( MultiValue, "Filters", "Filterklassen auf Schnittstellen Überwachen", "mehrere Einträge mit Strg selektieren" )
71 filters.widget   = "select"
72 filters.optional = true
73 filters:depends( "enable", 1 )
74 filters:value("")
75 for i, v in ipairs(ffluci.sys.net.devices()) do
76         filters:value(v)
77 end
78
79 -- collectd_netlink.ignoreselected (IgnoreSelected)
80 ignoreselected = s:option( Flag, "IgnoreSelected", "Alle Schnittstellen außer ausgewählte überwachen" )
81 ignoreselected.default = 0
82 ignoreselected:depends( "enable", 1 )
83
84 return m