mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
commit
d5f382823a
6 changed files with 76 additions and 9 deletions
|
@ -258,6 +258,8 @@ function wizard_add()
|
|||
end
|
||||
|
||||
-- Set interfaces settings
|
||||
local downloadmax = 0
|
||||
local uploadmax = 0
|
||||
local interfaces = luci.http.formvaluetable("intf")
|
||||
for intf, _ in pairs(interfaces) do
|
||||
local label = luci.http.formvalue("cbid.network.%s.label" % intf) or ""
|
||||
|
@ -462,6 +464,7 @@ function wizard_add()
|
|||
end
|
||||
ucic:set("network",intf,"downloadspeed",downloadspeed)
|
||||
ucic:set("qos",intf,"download",math.ceil(downloadspeed*95/100))
|
||||
downloadmax = downloadmax + tonumber(downloadspeed)
|
||||
else
|
||||
ucic:delete("network",intf,"downloadspeed")
|
||||
ucic:set("sqm",intf,"download","0")
|
||||
|
@ -477,6 +480,7 @@ function wizard_add()
|
|||
end
|
||||
ucic:set("network",intf,"uploadspeed",uploadspeed)
|
||||
ucic:set("qos",intf,"upload",math.ceil(uploadspeed*95/100))
|
||||
uploadmax = uploadmax + tonumber(uploadspeed)
|
||||
else
|
||||
ucic:delete("network",intf,"uploadspeed")
|
||||
ucic:set("sqm",intf,"upload","0")
|
||||
|
@ -547,6 +551,14 @@ function wizard_add()
|
|||
vpn_intf = "bonding-omrvpn"
|
||||
ucic:set("network","omrvpn","proto","bonding")
|
||||
end
|
||||
if downloadmax ~= 0 and uploadmax ~= 0 then
|
||||
ucic:set("sqm","omrvpn","max_download",downloadmax)
|
||||
ucic:set("sqm","omrvpn","max_upload",uploadmax)
|
||||
ucic:set("sqm","omrvpn","download",math.ceil(downloadmax*50/100))
|
||||
ucic:set("sqm","omrvpn","min_download",math.ceil(downloadmax*8/100))
|
||||
ucic:set("sqm","omrvpn","upload",math.ceil(uploadmax*50/100))
|
||||
ucic:set("sqm","omrvpn","min_upload",math.ceil(uploadmax*8/100))
|
||||
end
|
||||
if vpn_intf ~= "" then
|
||||
ucic:set("network","omrvpn","device",vpn_intf)
|
||||
ucic:set("sqm","omrvpn","interface",vpn_intf)
|
||||
|
|
|
@ -347,6 +347,12 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
|
|||
statusMessageClass = "warning";
|
||||
statusIcon = "<%=resource%>/openmptcprouter/images/statusWarning.png";
|
||||
}
|
||||
if (mArray.openmptcprouter.kernel_match == false)
|
||||
{
|
||||
statusMessage += '<%:MPTCP kernel on router and VPS doesn't match%>' + '<br/>';
|
||||
statusMessageClass = "warning";
|
||||
statusIcon = "<%=resource%>/openmptcprouter/images/statusWarning.png";
|
||||
}
|
||||
if (mArray.openmptcprouter.wan_addr6)
|
||||
{
|
||||
content += '<%:IPv6:%>' + " " + mArray.openmptcprouter.wan_addr6;
|
||||
|
|
|
@ -761,6 +761,7 @@ function interfaces_status()
|
|||
mArray.openmptcprouter["local_addr"] = ipaddr
|
||||
--mArray.openmptcprouter["local_addr"] = uci:get("network", "lan", "ipaddr")
|
||||
mArray.openmptcprouter["hostname"] = "OpenMPTCProuter"
|
||||
mArray.openmptcprouter["kernel"] = sys.exec("uname -r")
|
||||
ucic:foreach("system", "system", function(s)
|
||||
mArray.openmptcprouter["hostname"] = uci:get("system",s[".name"],"hostname") or "OpenMPTCProuter"
|
||||
end)
|
||||
|
@ -955,6 +956,12 @@ function interfaces_status()
|
|||
end
|
||||
end)
|
||||
|
||||
mArray.openmptcprouter["kernel_match"] = true
|
||||
if mArray.openmptcprouter["vps_kernel"] ~= "" then
|
||||
if mArray.openmptcprouter["kernel"]:sub(1,3) == "5.4" and mArray.openmptcprouter["vps_kernel"]:sub(1,3) ~= "5.4" then
|
||||
mArray.openmptcprouter["kernel_match"] = false
|
||||
end
|
||||
end
|
||||
|
||||
if mArray.openmptcprouter["vps_hostname"] == "" then
|
||||
mArray.openmptcprouter["vps_hostname"] = "Server"
|
||||
|
|
|
@ -625,6 +625,21 @@ return baseclass.extend({
|
|||
o = this.replaceOption(s, 'devadvanced', form.Flag, 'autoneg', _('Autonegociation'));
|
||||
o.default = o.enabled;
|
||||
|
||||
o = this.replaceOption(s, 'devadvanced', form.Flag, 'gro', _('Generic Receive Offload (GRO)'));
|
||||
o.default = o.enabled;
|
||||
|
||||
o = this.replaceOption(s, 'devadvanced', form.Flag, 'gso', _('Generic Segmentation Offload (GSO)'));
|
||||
o.default = o.enabled;
|
||||
|
||||
o = this.replaceOption(s, 'devadvanced', form.Flag, 'tso', _('TCP Segmentation Offload (TSO)'));
|
||||
o.default = o.enabled;
|
||||
|
||||
o = this.replaceOption(s, 'devadvanced', form.Flag, 'lro', _('Large Receive Offload (LRO)'));
|
||||
o.default = o.enabled;
|
||||
|
||||
o = this.replaceOption(s, 'devadvanced', form.Flag, 'ufo', _('UDP Fragmentation Offload (UFO)'));
|
||||
o.default = o.enabled;
|
||||
|
||||
o = this.replaceOption(s, 'devadvanced', form.Value, 'speed', _('Speed'));
|
||||
o.placeholder = dev ? dev.getSpeed() : '';
|
||||
o.default = '';
|
||||
|
|
|
@ -116,6 +116,23 @@ interface_multipath_settings() {
|
|||
uci -q set openmptcprouter.${config}.metric=$metric
|
||||
config_get mode "$config" multipath
|
||||
id=$metric
|
||||
[ -n "$iface" ] && {
|
||||
gro=$(uci -q network.${config}.gro)
|
||||
[ "$gro" = "1" ] && ethtool -K $iface gro on 2>&1 >/dev/null
|
||||
[ "$gro" = "0" ] && ethtool -K $iface gro on 2>&1 >/dev/null
|
||||
gso=$(uci -q network.${config}.gso)
|
||||
[ "$gso" = "1" ] && ethtool -K $iface gso on 2>&1 >/dev/null
|
||||
[ "$gso" = "0" ] && ethtool -K $iface gso on 2>&1 >/dev/null
|
||||
lro=$(uci -q network.${config}.lro)
|
||||
[ "$lro" = "1" ] && ethtool -K $iface lro on 2>&1 >/dev/null
|
||||
[ "$lro" = "0" ] && ethtool -K $iface lro on 2>&1 >/dev/null
|
||||
ufo=$(uci -q network.${config}.ufo)
|
||||
[ "$ufo" = "1" ] && ethtool -K $iface ufo on 2>&1 >/dev/null
|
||||
[ "$ufo" = "0" ] && ethtool -K $iface ufo on 2>&1 >/dev/null
|
||||
tso=$(uci -q network.${config}.tso)
|
||||
[ "$tso" = "1" ] && ethtool -K $iface tso on 2>&1 >/dev/null
|
||||
[ "$tso" = "0" ] && ethtool -K $iface tso on 2>&1 >/dev/null
|
||||
}
|
||||
[ "$mode" = "" ] && {
|
||||
mode="$(uci -q get openmptcprouter.${config}.multipath)"
|
||||
[ -n "$mode" ] && uci -q set network.${config}.multipath="$mode"
|
||||
|
|
|
@ -6,8 +6,8 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
uci -q batch <<-EOF >/dev/null
|
||||
delete sqm.eth1
|
||||
set sqm.wan1=queue
|
||||
set sqm.wan1.qdisc="fq_codel"
|
||||
set sqm.wan1.script="simple.qos"
|
||||
set sqm.wan1.qdisc="cake"
|
||||
set sqm.wan1.script="piece_of_cake.qos"
|
||||
set sqm.wan1.qdisc_advanced='0'
|
||||
set sqm.wan1.linklayer='none'
|
||||
set sqm.wan1.enabled='1'
|
||||
|
@ -19,8 +19,8 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
set sqm.wan1.iqdisc_opts='autorate-ingress dual-dsthost'
|
||||
set sqm.wan1.eqdisc_opts='dual-srchost'
|
||||
set sqm.wan2=queue
|
||||
set sqm.wan2.qdisc="fq_codel"
|
||||
set sqm.wan2.script="simple.qos"
|
||||
set sqm.wan2.qdisc="cake"
|
||||
set sqm.wan2.script="piece_of_cake.qos"
|
||||
set sqm.wan2.qdisc_advanced='0'
|
||||
set sqm.wan2.linklayer='none'
|
||||
set sqm.wan2.enabled='1'
|
||||
|
@ -37,8 +37,8 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
wan3="$(uci -q get network.wan3.device)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set sqm.wan3=queue
|
||||
set sqm.wan3.qdisc="fq_codel"
|
||||
set sqm.wan3.script="simple.qos"
|
||||
set sqm.wan3.qdisc="cake"
|
||||
set sqm.wan3.script="piece_of_cake.qos"
|
||||
set sqm.wan3.qdisc_advanced='0'
|
||||
set sqm.wan3.linklayer='none'
|
||||
set sqm.wan3.enabled='1'
|
||||
|
@ -56,8 +56,8 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
wan4="$(uci -q get network.wan4.device)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set sqm.wan4=queue
|
||||
set sqm.wan4.qdisc="fq_codel"
|
||||
set sqm.wan4.script="simple.qos"
|
||||
set sqm.wan4.qdisc="cake"
|
||||
set sqm.wan4.script="piece_of_cake.qos"
|
||||
set sqm.wan4.qdisc_advanced='0'
|
||||
set sqm.wan4.linklayer='none'
|
||||
set sqm.wan4.enabled='1'
|
||||
|
@ -74,7 +74,7 @@ if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get sqm.omrvpn)" = "" ]; then
|
||||
if [ "$(uci -q get sqm.omrvpn)" = "" ] || [ -z "$(uci -q get sqm.omrvpn.delay_thr_ms)" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set sqm.omrvpn=queue
|
||||
set sqm.omrvpn.qdisc="cake"
|
||||
|
@ -89,6 +89,16 @@ if [ "$(uci -q get sqm.omrvpn)" = "" ]; then
|
|||
set sqm.omrvpn.verbosity='5'
|
||||
set sqm.omrvpn.overhead='40'
|
||||
set sqm.omrvpn.iqdisc_opts='autorate-ingress'
|
||||
set sqm.omrvpn.delay_thr_ms='300'
|
||||
set sqm.omrvpn.reflector_ping_interval_s='0.5'
|
||||
set sqm.omrvpn.download='20000'
|
||||
set sqm.omrvpn.min_download='1000'
|
||||
set sqm.omrvpn.max_download='60000'
|
||||
set sqm.omrvpn.upload='20000'
|
||||
set sqm.omrvpn.min_upload='1000'
|
||||
set sqm.omrvpn.max_upload='60000'
|
||||
set sqm.omrvpn.enable_sleep_function='0'
|
||||
set sqm.omrvpn.autorate='1'
|
||||
commit sqm
|
||||
EOF
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue