summaryrefslogtreecommitdiffhomepage
path: root/protocols/ppp
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2012-07-04 10:02:21 +0000
committerJo-Philipp Wich <jow@openwrt.org>2012-07-04 10:02:21 +0000
commitdf77c736bec5adb4dff59ea3501b02d24d4dd110 (patch)
treef31eff12f216dcaf7321b5ed76458e1cea3e8211 /protocols/ppp
parent30a0e92e224fc1da8517db9b71b7b2f0fb38a71b (diff)
protocols/ppp: add mtu options to all ppp protocols, add lcp options to pptp
Diffstat (limited to 'protocols/ppp')
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua7
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua7
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua7
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua61
4 files changed, 78 insertions, 4 deletions
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua
index e2e44fa4c..00760b95b 100644
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua
+++ b/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua
@@ -14,7 +14,7 @@ local map, section, net = ...
local device, username, password
local ipv6, defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand
+ keepalive_failure, keepalive_interval, demand, mtu
device = section:taboption("general", Value, "device", translate("Modem device"))
@@ -129,3 +129,8 @@ demand = section:taboption("advanced", Value, "demand",
demand.placeholder = "0"
demand.datatype = "uinteger"
+
+
+mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
+mtu.placeholder = "1500"
+mtu.datatype = "max(1500)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua
index 1e99c25a6..5d4c84dee 100644
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua
+++ b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua
@@ -14,7 +14,7 @@ local map, section, net = ...
local encaps, atmdev, vci, vpi, username, password
local ipv6, defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand
+ keepalive_failure, keepalive_interval, demand, mtu
encaps = section:taboption("general", ListValue, "encaps", translate("PPPoA Encapsulation"))
@@ -135,3 +135,8 @@ demand = section:taboption("advanced", Value, "demand",
demand.placeholder = "0"
demand.datatype = "uinteger"
+
+
+mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
+mtu.placeholder = "1500"
+mtu.datatype = "max(1500)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua
index 72df0e43c..4f19ac3fb 100644
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua
+++ b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua
@@ -14,7 +14,7 @@ local map, section, net = ...
local username, password, ac, service
local ipv6, defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand
+ keepalive_failure, keepalive_interval, demand, mtu
username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
@@ -129,3 +129,8 @@ demand = section:taboption("advanced", Value, "demand",
demand.placeholder = "0"
demand.datatype = "uinteger"
+
+
+mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
+mtu.placeholder = "1500"
+mtu.datatype = "max(1500)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
index bf612f428..0a2ee8eb1 100644
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
+++ b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
@@ -13,7 +13,8 @@ You may obtain a copy of the License at
local map, section, net = ...
local server, username, password
-local defaultroute, metric, peerdns, dns
+local defaultroute, metric, peerdns, dns,
+ keepalive_failure, keepalive_interval, demand, mtu
server = section:taboption("general", Value, "server", translate("VPN Server"))
@@ -55,3 +56,61 @@ dns = section:taboption("advanced", DynamicList, "dns",
dns:depends("peerdns", "")
dns.datatype = "ipaddr"
dns.cast = "string"
+
+
+keepalive_failure = section:taboption("advanced", Value, "_keepalive_failure",
+ translate("LCP echo failure threshold"),
+ translate("Presume peer to be dead after given amount of LCP echo failures, use 0 to ignore failures"))
+
+function keepalive_failure.cfgvalue(self, section)
+ local v = m:get(section, "keepalive")
+ if v and #v > 0 then
+ return tonumber(v:match("^(%d+)[ ,]+%d+") or v)
+ end
+end
+
+function keepalive_failure.write() end
+function keepalive_failure.remove() end
+
+keepalive_failure.placeholder = "0"
+keepalive_failure.datatype = "uinteger"
+
+
+keepalive_interval = section:taboption("advanced", Value, "_keepalive_interval",
+ translate("LCP echo interval"),
+ translate("Send LCP echo requests at the given interval in seconds, only effective in conjunction with failure threshold"))
+
+function keepalive_interval.cfgvalue(self, section)
+ local v = m:get(section, "keepalive")
+ if v and #v > 0 then
+ return tonumber(v:match("^%d+[ ,]+(%d+)"))
+ end
+end
+
+function keepalive_interval.write(self, section, value)
+ local f = tonumber(keepalive_failure:formvalue(section)) or 0
+ local i = tonumber(value) or 5
+ if i < 1 then i = 1 end
+ if f > 0 then
+ m:set(section, "keepalive", "%d %d" %{ f, i })
+ else
+ m:del(section, "keepalive")
+ end
+end
+
+keepalive_interval.remove = keepalive_interval.write
+keepalive_interval.placeholder = "5"
+keepalive_interval.datatype = "min(1)"
+
+
+demand = section:taboption("advanced", Value, "demand",
+ translate("Inactivity timeout"),
+ translate("Close inactive connection after the given amount of seconds, use 0 to persist connection"))
+
+demand.placeholder = "0"
+demand.datatype = "uinteger"
+
+
+mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
+mtu.placeholder = "1500"
+mtu.datatype = "max(1500)"