1 -- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
2 -- Licensed to the public under the Apache License 2.0.
6 local devices = luci.sys.net.devices()
9 m = Map("luci_statistics",
10 translate("Netlink Plugin Configuration"),
12 "The netlink plugin collects extended informations like " ..
13 "qdisc-, class- and filter-statistics for selected interfaces."
16 -- collectd_netlink config section
17 s = m:section( NamedSection, "collectd_netlink", "luci_statistics" )
19 -- collectd_netlink.enable
20 enable = s:option( Flag, "enable", translate("Enable this plugin") )
23 -- collectd_netlink.interfaces (Interface)
24 interfaces = s:option( MultiValue, "Interfaces", translate("Basic monitoring") )
25 interfaces.widget = "select"
26 interfaces.optional = true
27 interfaces.size = #devices + 1
28 interfaces:depends( "enable", 1 )
30 for i, v in ipairs(devices) do
34 -- collectd_netlink.verboseinterfaces (VerboseInterface)
35 verboseinterfaces = s:option( MultiValue, "VerboseInterfaces", translate("Verbose monitoring") )
36 verboseinterfaces.widget = "select"
37 verboseinterfaces.optional = true
38 verboseinterfaces.size = #devices + 1
39 verboseinterfaces:depends( "enable", 1 )
40 verboseinterfaces:value("")
41 for i, v in ipairs(devices) do
42 verboseinterfaces:value(v)
45 -- collectd_netlink.qdiscs (QDisc)
46 qdiscs = s:option( MultiValue, "QDiscs", translate("Qdisc monitoring") )
47 qdiscs.widget = "select"
48 qdiscs.optional = true
49 qdiscs.size = #devices + 1
50 qdiscs:depends( "enable", 1 )
52 for i, v in ipairs(devices) do
56 -- collectd_netlink.classes (Class)
57 classes = s:option( MultiValue, "Classes", translate("Shaping class monitoring") )
58 classes.widget = "select"
59 classes.optional = true
60 classes.size = #devices + 1
61 classes:depends( "enable", 1 )
63 for i, v in ipairs(devices) do
67 -- collectd_netlink.filters (Filter)
68 filters = s:option( MultiValue, "Filters", translate("Filter class monitoring") )
69 filters.widget = "select"
70 filters.optional = true
71 filters.size = #devices + 1
72 filters:depends( "enable", 1 )
74 for i, v in ipairs(devices) do
78 -- collectd_netlink.ignoreselected (IgnoreSelected)
79 ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") )
80 ignoreselected.default = 0
81 ignoreselected:depends( "enable", 1 )