Merge pull request #1094 from TDT-GmbH/luci-app-mwan3-update
[project/luci.git] / applications / luci-app-mwan3 / luasrc / model / cbi / mwan / interfaceconfig.lua
index 387ff01..e81ef74 100644 (file)
@@ -102,6 +102,11 @@ enabled = mwan_interface:option(ListValue, "enabled", translate("Enabled"))
        enabled:value("1", translate("Yes"))
        enabled:value("0", translate("No"))
 
+family = mwan_interface:option(ListValue, "family", translate("Internet Protocol"))
+       family.default = "ipv4"
+       family:value("ipv4", translate("IPv4"))
+       family:value("ipv6", translate("IPv6"))
+
 track_ip = mwan_interface:option(DynamicList, "track_ip", translate("Tracking IP"),
        translate("This IP address will be pinged to dermine if the link is up or down. Leave blank to assume interface is always online"))
        track_ip.datatype = "ipaddr"
@@ -119,33 +124,80 @@ count = mwan_interface:option(ListValue, "count", translate("Ping count"))
        count:value("4")
        count:value("5")
 
+size = mwan_interface:option(Value, "size", translate("Ping size"))
+       size.default = "56"
+       size:value("8")
+       size:value("24")
+       size:value("56")
+       size:value("120")
+       size:value("248")
+       size:value("504")
+       size:value("1016")
+       size:value("1472")
+       size:value("2040")
+       size.datatype = "range(1, 65507)"
+       size.rmempty = false
+       size.optional = false
+
 timeout = mwan_interface:option(ListValue, "timeout", translate("Ping timeout"))
        timeout.default = "2"
-       timeout:value("1", translate("1 second"))
-       timeout:value("2", translate("2 seconds"))
-       timeout:value("3", translate("3 seconds"))
-       timeout:value("4", translate("4 seconds"))
-       timeout:value("5", translate("5 seconds"))
-       timeout:value("6", translate("6 seconds"))
-       timeout:value("7", translate("7 seconds"))
-       timeout:value("8", translate("8 seconds"))
-       timeout:value("9", translate("9 seconds"))
-       timeout:value("10", translate("10 seconds"))
+       timeout:value("1", translatef("%d second", 1))
+       timeout:value("2", translatef("%d seconds", 2))
+       timeout:value("3", translatef("%d seconds", 3))
+       timeout:value("4", translatef("%d seconds", 4))
+       timeout:value("5", translatef("%d seconds", 5))
+       timeout:value("6", translatef("%d seconds", 6))
+       timeout:value("7", translatef("%d seconds", 7))
+       timeout:value("8", translatef("%d seconds", 8))
+       timeout:value("9", translatef("%d seconds", 9))
+       timeout:value("10", translatef("%d seconds", 10))
 
 interval = mwan_interface:option(ListValue, "interval", translate("Ping interval"))
        interval.default = "5"
-       interval:value("1", translate("1 second"))
-       interval:value("3", translate("3 seconds"))
-       interval:value("5", translate("5 seconds"))
-       interval:value("10", translate("10 seconds"))
-       interval:value("20", translate("20 seconds"))
-       interval:value("30", translate("30 seconds"))
-       interval:value("60", translate("1 minute"))
-       interval:value("300", translate("5 minutes"))
-       interval:value("600", translate("10 minutes"))
-       interval:value("900", translate("15 minutes"))
-       interval:value("1800", translate("30 minutes"))
-       interval:value("3600", translate("1 hour"))
+       interval:value("1", translatef("%d second", 1))
+       interval:value("3", translatef("%d seconds", 3))
+       interval:value("5", translatef("%d seconds", 5))
+       interval:value("10", translatef("%d seconds", 10))
+       interval:value("20", translatef("%d seconds", 20))
+       interval:value("30", translatef("%d seconds", 30))
+       interval:value("60", translatef("%d minute", 1))
+       interval:value("300", translatef("%d minutes", 5))
+       interval:value("600", translatef("%d minutes", 10))
+       interval:value("900", translatef("%d minutes", 15))
+       interval:value("1800", translatef("%d minutes", 30))
+       interval:value("3600", translatef("%d hour", 1))
+
+failure = mwan_interface:option(Value, "failure_interval", translate("Failure interval"),
+       translate("Ping interval during failure detection"))
+       failure.default = "5"
+       failure:value("1", translatef("%d second", 1))
+       failure:value("3", translatef("%d seconds", 3))
+       failure:value("5", translatef("%d seconds", 5))
+       failure:value("10", translatef("%d seconds", 10))
+       failure:value("20", translatef("%d seconds", 20))
+       failure:value("30", translatef("%d seconds", 30))
+       failure:value("60", translatef("%d minute", 1))
+       failure:value("300", translatef("%d minutes", 5))
+       failure:value("600", translatef("%d minutes", 10))
+       failure:value("900", translatef("%d minutes", 15))
+       failure:value("1800", translatef("%d minutes", 30))
+       failure:value("3600", translatef("%d hour", 1))
+
+recovery = mwan_interface:option(Value, "recovery_interval", translate("Recovery interval"),
+       translate("Ping interval during failure recovering"))
+       recovery.default = "5"
+       recovery:value("1", translatef("%d second", 1))
+       recovery:value("3", translatef("%d seconds", 3))
+       recovery:value("5", translatef("%d seconds", 5))
+       recovery:value("10", translatef("%d seconds", 10))
+       recovery:value("20", translatef("%d seconds", 20))
+       recovery:value("30", translatef("%d seconds", 30))
+       recovery:value("60", translatef("%d minute", 1))
+       recovery:value("300", translatef("%d minutes", 5))
+       recovery:value("600", translatef("%d minutes", 10))
+       recovery:value("900", translatef("%d minutes", 15))
+       recovery:value("1800", translatef("%d minutes", 30))
+       recovery:value("3600", translatef("%d hour", 1))
 
 down = mwan_interface:option(ListValue, "down", translate("Interface down"),
        translate("Interface will be deemed down after this many failed ping tests"))
@@ -175,6 +227,14 @@ up = mwan_interface:option(ListValue, "up", translate("Interface up"),
        up:value("9")
        up:value("10")
 
+flush = mwan_interface:option(ListValue, "flush_conntrack", translate("Flush conntrack table"),
+       translate("Flush global firewall conntrack table on interface events"))
+       flush.default = "never"
+       flush:value("ifup", translate("ifup"))
+       flush:value("ifdown", translate("ifdown"))
+       flush:value("never", translate("never"))
+       flush:value("always", translate("always"))
+
 metric = mwan_interface:option(DummyValue, "metric", translate("Metric"),
        translate("This displays the metric assigned to this interface in /etc/config/network"))
        metric.rawhtml = true