mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-12 18:41:51 +00:00
Add QoS support in wizard
This commit is contained in:
parent
97abaf3d32
commit
902d16b334
2 changed files with 74 additions and 51 deletions
|
@ -9,6 +9,8 @@
|
|||
local ifaces = sys.net:devices()
|
||||
local ifttyu = nixio.fs.glob("/dev/ttyUSB*")
|
||||
local ifttyc = nixio.fs.glob("/dev/cdc-wdm*")
|
||||
local sqm = luci.sys.exec("opkg list-installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'")
|
||||
local qos = luci.sys.exec("opkg list-installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'")
|
||||
menuentry = uci:get("openmptcprouter","settings","menu") or "openmptcprouter"
|
||||
function device_notvirtual(dev)
|
||||
if dev:match("^eth.*") or dev:match("^wwan.*") or dev:match("^tun.*") or dev:match("/") then
|
||||
|
@ -932,16 +934,39 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%
|
||||
if sqm == "1" then
|
||||
%>
|
||||
<div class="cbi-value" data-index="16">
|
||||
<label class="cbi-value-title"><%:Enable SQM%></label>
|
||||
<div class="cbi-value-field">
|
||||
<input class="cbi-input-checkbox" type="checkbox" name="cbid.sqm.<%=ifname%>.enabled" value="1" <% if uci:get("sqm",ifname,"enabled") == "1" then %>checked<% end %> />
|
||||
<br />
|
||||
<div class="cbi-value-description">
|
||||
<%:SQM control bufferloat: the undesirable latency that arises when the router buffers too much data.%>
|
||||
<%:You should disable SQM for LTE or any interfaces with variable speed.%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%
|
||||
end
|
||||
%>
|
||||
<%
|
||||
if qos == "1" then
|
||||
%>
|
||||
<div class="cbi-value" data-index="16">
|
||||
<label class="cbi-value-title"><%:Enable QoS%></label>
|
||||
<div class="cbi-value-field">
|
||||
<input class="cbi-input-checkbox" type="checkbox" name="cbid.qos.<%=ifname%>.enabled" value="1" <% if uci:get("qos",ifname,"enabled") == "1" then %>checked<% end %> />
|
||||
<br />
|
||||
<div class="cbi-value-description">
|
||||
<%:QoS permit to prioritize any upload traffic.%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%
|
||||
end
|
||||
%>
|
||||
<div class="cbi-value" data-index="17">
|
||||
<label class="cbi-value-title"><%:Download speed (Kb/s)%></label>
|
||||
<div class="cbi-value-field">
|
||||
|
|
|
@ -1,58 +1,56 @@
|
|||
#!/bin/sh
|
||||
if [ "$(uci -q get openmptcprouter.latest_versions)" ]; then
|
||||
if [ "$(uci -q get qos.wan1)" = "" ]; then
|
||||
if [ -z "$(uci -q get qos.omrvpn)" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete qos.wan
|
||||
set qos.wan1=interface
|
||||
set qos.wan1.classgroup="Default"
|
||||
set qos.wan1.enabled="0"
|
||||
set qos.wan1.upload="4000"
|
||||
set qos.wan1.download="100000"
|
||||
set qos.wan2=interface
|
||||
set qos.wan2.classgroup="Default"
|
||||
set qos.wan2.enabled="0"
|
||||
set qos.wan2.upload="4000"
|
||||
set qos.wan2.download="100000"
|
||||
set qos.omrvpn=interface
|
||||
set qos.omrvpn.classgroup="Default"
|
||||
set qos.omrvpn.enabled="0"
|
||||
set qos.omrvpn.interface="tun0"
|
||||
set qos.omrvpn.upload="0"
|
||||
set qos.omrvpn.download="0"
|
||||
set qos.omrvpn.qdisc="cake"
|
||||
set qos.omrvpn.script="layer_cake.qos"
|
||||
delete qos.@classify[-1]
|
||||
add qos classify
|
||||
set qos.@classify[-1].target='Express'
|
||||
set qos.@classify[-1].ports='5600'
|
||||
set qos.@classify[-1].comments='SIP'
|
||||
add qos classify
|
||||
set qos.@classify[-1].target='Express'
|
||||
set qos.@classify[-1].portrange='27000-27050'
|
||||
set qos.@classify[-1].proto='udp'
|
||||
set qos.@classify[-1].comments='Steam'
|
||||
commit qos
|
||||
EOF
|
||||
if [ "$(uci -q get network.wan3)" != "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete qos.wan
|
||||
set qos.wan1=interface
|
||||
set qos.wan1.classgroup="Default"
|
||||
set qos.wan1.enabled="0"
|
||||
set qos.wan1.upload="4000"
|
||||
set qos.wan1.download="100000"
|
||||
set qos.wan2=interface
|
||||
set qos.wan2.classgroup="Default"
|
||||
set qos.wan2.enabled="0"
|
||||
set qos.wan2.upload="4000"
|
||||
set qos.wan2.download="100000"
|
||||
set qos.omrvpn=interface
|
||||
set qos.omrvpn.classgroup="Default"
|
||||
set qos.omrvpn.enabled="1"
|
||||
set qos.omrvpn.interface="tun0"
|
||||
set qos.omrvpn.upload="0"
|
||||
set qos.omrvpn.download="0"
|
||||
set qos.omrvpn.qdisc="cake"
|
||||
set qos.omrvpn.script="layer_cake.qos"
|
||||
delete qos.@classify[-1]
|
||||
add qos classify
|
||||
set qos.@classify[-1].target='Express'
|
||||
set qos.@classify[-1].ports='5600'
|
||||
set qos.@classify[-1].comments='SIP'
|
||||
add qos classify
|
||||
set qos.@classify[-1].target='Express'
|
||||
set qos.@classify[-1].portrange='27000-27050'
|
||||
set qos.@classify[-1].proto='udp'
|
||||
set qos.@classify[-1].comments='Steam'
|
||||
set qos.wan3=interface
|
||||
set qos.wan3.classgroup="Default"
|
||||
set qos.wan3.enabled="0"
|
||||
set qos.wan3.upload="4000"
|
||||
set qos.wan3.download="100000"
|
||||
commit qos
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get network.wan4)" != "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set qos.wan4=interface
|
||||
set qos.wan4.classgroup="Default"
|
||||
set qos.wan4.enabled="0"
|
||||
set qos.wan4.upload="4000"
|
||||
set qos.wan4.download="100000"
|
||||
commit qos
|
||||
EOF
|
||||
if [ "$(uci -q get network.wan3)" != "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set qos.wan3=interface
|
||||
set qos.wan3.classgroup="Default"
|
||||
set qos.wan3.enabled="0"
|
||||
set qos.wan3.upload="4000"
|
||||
set qos.wan3.download="100000"
|
||||
commit qos
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get network.wan4)" != "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set qos.wan4=interface
|
||||
set qos.wan4.classgroup="Default"
|
||||
set qos.wan4.enabled="0"
|
||||
set qos.wan4.upload="4000"
|
||||
set qos.wan4.download="100000"
|
||||
commit qos
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm -f /tmp/luci-indexcache
|
||||
|
|
Loading…
Reference in a new issue