summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--core/src/ffluci/menu.lua4
-rw-r--r--module/admin-core/src/model/cbi/admin_network/qos.lua56
-rw-r--r--module/admin-core/src/model/menu/00admin.lua8
3 files changed, 66 insertions, 2 deletions
diff --git a/core/src/ffluci/menu.lua b/core/src/ffluci/menu.lua
index ff4c547f5..c153ef533 100644
--- a/core/src/ffluci/menu.lua
+++ b/core/src/ffluci/menu.lua
@@ -30,6 +30,7 @@ require("ffluci.util")
require("ffluci.template")
require("ffluci.i18n")
require("ffluci.config")
+require("ffluci.model.ipkg")
-- Default modelpath
modelpath = ffluci.config.path .. "/model/menu/"
@@ -37,7 +38,8 @@ modelpath = ffluci.config.path .. "/model/menu/"
-- Menu definition extra scope
scope = {
translate = ffluci.i18n.translate,
- loadtrans = ffluci.i18n.loadc
+ loadtrans = ffluci.i18n.loadc,
+ isfile = ffluci.fs.mtime
}
-- Local menu database
diff --git a/module/admin-core/src/model/cbi/admin_network/qos.lua b/module/admin-core/src/model/cbi/admin_network/qos.lua
new file mode 100644
index 000000000..d58130f10
--- /dev/null
+++ b/module/admin-core/src/model/cbi/admin_network/qos.lua
@@ -0,0 +1,56 @@
+-- ToDo: Translate, Add descriptions and help texts
+m = Map("qos", "Quality of Service", [[Mit Hilfe von QoS kann einzelnen Rechnern oder Netzwerkdiensten
+eine höhere oder niedrigere Priorität zugewiesen werden.]])
+
+s = m:section(TypedSection, "interface", "Schnittstellen")
+s.addremove = true
+
+s:option(Flag, "enabled", "aktiviert")
+
+c = s:option(ListValue, "classgroup", "Klassifizierung")
+c:value("Default", "standard")
+c.default = "Default"
+
+s:option(Flag, "overhead", "Overheadberechnung")
+
+s:option(Value, "download", "Downlink", "kb/s")
+
+s:option(Value, "upload", "Uplink", "kb/s")
+
+s = m:section(TypedSection, "classify", "Klassifizierung")
+
+s.anonymous = true
+s.addremove = true
+
+t = s:option(ListValue, "target", "Klasse")
+t:value("Priority")
+t:value("Express")
+t:value("Normal")
+t:value("Bulk")
+t.default = "Normal"
+
+s:option(Value, "srchost", "Quelladresse", "Quellhost / Quellnetz").optional = true
+s:option(Value, "dsthost", "Zieladresse", "Zielhost / Zielnetz").optional = true
+s:option(Value, "layer7", "Layer 7").optional = true
+
+p2p = s:option(ListValue, "ipp2p", "P2P")
+p2p:value("")
+p2p:value("all", "Alle")
+p2p:value("bit", "Bittorrent")
+p2p:value("dc", "DirectConnect")
+p2p:value("edk", "eDonkey")
+p2p:value("gnu", "Gnutella")
+p2p:value("kazaa", "Kazaa")
+p2p.optional = true
+
+p = s:option(ListValue, "proto", "Protokoll")
+p:value("")
+p:value("tcp", "TCP")
+p:value("udp", "UDP")
+p:value("icmp", "ICMP")
+p.optional = true
+
+s:option(Value, "ports", "Port").optional = true
+s:option(Value, "portrange", "Portbereich").optional = true
+
+return m \ No newline at end of file
diff --git a/module/admin-core/src/model/menu/00admin.lua b/module/admin-core/src/model/menu/00admin.lua
index 4d33b4498..3a6ee1d6a 100644
--- a/module/admin-core/src/model/menu/00admin.lua
+++ b/module/admin-core/src/model/menu/00admin.lua
@@ -12,7 +12,9 @@ act("upgrade", "Firmwareupgrade")
act("reboot", "Neu starten")
add("admin", "services", "Dienste", 40)
-act("olsrd", "OLSR")
+if isfile("/etc/config/olsr") then
+ act("olsrd", "OLSR")
+end
act("httpd", "HTTP-Server")
act("dropbear", "SSH-Server")
act("dnsmasq", "Dnsmasq")
@@ -26,6 +28,10 @@ act("routes", "Statische Routen")
act("portfw", "Portweiterleitung")
act("firewall", "Firewall")
+if isfile("/etc/config/qos") then
+ act("qos", "Quality of Service")
+end
+
add("admin", "wifi", "Drahtlos", 60)
act("devices", "Geräte")
act("networks", "Netze") \ No newline at end of file