version updated to 1.4-2 (mwan3 1.6 compatible) 1046/head
authorAedan Renner <chipdankly@gmail.com>
Mon, 9 Mar 2015 22:53:57 +0000 (15:53 -0700)
committerAedan Renner <chipdankly@gmail.com>
Mon, 9 Mar 2015 22:53:57 +0000 (15:53 -0700)
new mwan3 1.6 rule options added:
-sticky
-timeout
-ipset

net/mwan3-luci/Makefile
net/mwan3-luci/files/usr/lib/lua/luci/model/cbi/mwan/rule.lua
net/mwan3-luci/files/usr/lib/lua/luci/model/cbi/mwan/ruleconfig.lua

index eed2348752f8384e11e6fa955f51f8bd9c2a196e..6656806b5a32e1b70d43d8aeddaa6a41d59539ad 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=luci-app-mwan3
-PKG_VERSION:=1.3
-PKG_RELEASE:=5
+PKG_VERSION:=1.4
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Aedan Renner <chipdankly@gmail.com>
 PKG_LICENSE:=GPLv2
 
index bf524d1df7579ff17f8caa5f93d6a9033e4adba9..cbd8bdd03ed2b2d97e46e678914e040cef3b7677 100644 (file)
@@ -88,6 +88,39 @@ proto = mwan_rule:option(DummyValue, "proto", translate("Protocol"))
                return self.map:get(s, "proto") or "all"
        end
 
+sticky = mwan_rule:option(DummyValue, "sticky", translate("Sticky"))
+       sticky.rawhtml = true
+       function sticky.cfgvalue(self, s)
+               if self.map:get(s, "sticky") == "1" then
+                       stickied = 1
+                       return "Yes"
+               else
+                       stickied = nil
+                       return "No"
+               end
+       end
+
+timeout = mwan_rule:option(DummyValue, "timeout", translate("Sticky timeout"))
+       timeout.rawhtml = true
+       function timeout.cfgvalue(self, s)
+               if stickied then
+                       local timeoutValue = self.map:get(s, "timeout")
+                       if timeoutValue then
+                               return timeoutValue .. "s"
+                       else
+                               return "600s"
+                       end
+               else
+                       return "&#8212;"
+               end
+       end
+
+ipset = mwan_rule:option(DummyValue, "ipset", translate("IPset"))
+       ipset.rawhtml = true
+       function ipset.cfgvalue(self, s)
+               return self.map:get(s, "ipset") or "&#8212;"
+       end
+
 use_policy = mwan_rule:option(DummyValue, "use_policy", translate("Policy assigned"))
        use_policy.rawhtml = true
        function use_policy.cfgvalue(self, s)
index 831ab35b91b3bbadb2ab9af7cb6982b43130dad9..d880a72e2979eb18e715481ffcb027a722ffef7a 100644 (file)
@@ -81,6 +81,19 @@ proto = mwan_rule:option(Value, "proto", translate("Protocol"),
        proto:value("esp")
        cbiAddProtocol(proto)
 
+sticky = mwan_rule:option(ListValue, "sticky", translate("Sticky"),
+       translate("Traffic from the same source IP address that previously matched this rule within the sticky timeout period will use the same WAN interface"))
+       sticky.default = "0"
+       sticky:value("1", translate("Yes"))
+       sticky:value("0", translate("No"))
+
+timeout = mwan_rule:option(Value, "timeout", translate("Sticky timeout"),
+       translate("Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set"))
+       timeout.datatype = "range(1, 1000000)"
+
+ipset = mwan_rule:option(Value, "ipset", translate("IPset"),
+       translate("Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/youtube.com/youtube\")"))
+
 use_policy = mwan_rule:option(Value, "use_policy", translate("Policy assigned"))
        cbiAddPolicy(use_policy)
        use_policy:value("unreachable", translate("unreachable (reject)"))