1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Fix SQM and QOS when an interface is added via wizard

This commit is contained in:
Ycarus 2018-10-01 20:46:24 +02:00
parent c7ab0005dc
commit 38176e6d58
3 changed files with 61 additions and 11 deletions

View file

@ -81,6 +81,29 @@ function wizard_add()
ucic:set("network","wan" .. i,"defaultroute","0")
ucic:save("network")
ucic:commit("network")
ucic:set("qos","wan" .. i,"interface")
ucic:set("qos","wan" .. i,"classgroup","Default")
ucic:set("qos","wan" .. i,"enabled","0")
ucic:set("qos","wan" .. i,"upload","4000")
ucic:set("qos","wan" .. i,"download","100000")
ucic:save("qos")
ucic:commit("qos")
ucic:set("sqm","wan" .. i,"queue")
ucic:set("sqm","wan" .. i,"interface",defif)
ucic:set("sqm","wan" .. i,"qdisc","fq_codel")
ucic:set("sqm","wan" .. i,"script","simple.qos")
ucic:set("sqm","wan" .. i,"qdisc_advanced","0")
ucic:set("sqm","wan" .. i,"linklayer","none")
ucic:set("sqm","wan" .. i,"enabled","0")
ucic:set("sqm","wan" .. i,"debug_logging","0")
ucic:set("sqm","wan" .. i,"verbosity","5")
ucic:set("sqm","wan" .. i,"download","0")
ucic:set("sqm","wan" .. i,"upload","0")
ucic:save("sqm")
ucic:commit("sqm")
-- Dirty way to add new interface to firewall...
luci.sys.call("uci -q add_list firewall.@zone[1].network=wan" .. i)
luci.sys.call("uci -q commit firewall")
@ -96,6 +119,12 @@ function wizard_add()
ucic:delete("network",intf .. "_dev")
ucic:save("network")
ucic:commit("network")
ucic:delete("sqm",intf)
ucic:save("sqm")
ucic:commit("sqm")
ucic:delete("qos",intf)
ucic:save("qos")
ucic:commit("qos")
end
gostatus = false
end
@ -896,29 +925,45 @@ function mptcp_check_trace(iface)
end
function set_ipv6_state(disable_ipv6)
-- Disable/Enable IPv6 support
luci.sys.exec("sysctl -w net.ipv6.conf.all.disable_ipv6=%s" % disable_ipv6)
luci.sys.exec("sed -i 's:^net.ipv6.conf.all.disable_ipv6=[0-9]*:net.ipv6.conf.all.disable_ipv6=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % disable_ipv6)
luci.sys.exec("/etc/init.d/odhcpd stop >/dev/null 2>&1")
luci.sys.exec("/etc/init.d/odhcpd disable >/dev/null 2>&1")
-- Disable/Enable IPv6 for firewall
ucic:set("firewall",ucic:get_first("firewall","defaults"),"disable_ipv6",disable_ipv6)
ucic:save("firewall")
ucic:commit("firewall")
-- Disable/Enable IPv6 in OpenMPTCProuter settings
ucic:set("openmptcprouter","settings","disable_ipv6",disable_ipv6)
ucic:commit("openmptcprouter")
-- Disable/Enable route announce of IPv6
if disable_ipv6 == "1" then
ucic:set("dhcp","lan","ra_default","0")
else
ucic:set("dhcp","lan","ra_default","1")
--else
-- ucic:set("dhcp","lan","ra_default","1")
end
-- Disable/Enable IPv6 DHCP and change Shadowsocks listen address
if disable_ipv6 == "1" then
luci.sys.call("uci -q del dhcp.lan.dhcpv6")
luci.sys.call("uci -q del dhcp.lan.ra")
luci.sys.call("uci -q del dhcp.lan.ra_default")
ucic:set("shadowsocks-libev","hi","local_address","0.0.0.0")
else
ucic:set("dhcp","lan","dhcpv6","server")
ucic:set("dhcp","lan","ra","server")
ucic:set("dhcp","lan","ra_default","0")
-- ucic:set("dhcp","lan","dhcpv6","server")
-- ucic:set("dhcp","lan","ra","server")
-- ucic:set("dhcp","lan","ra_default","0")
ucic:set("shadowsocks-libev","hi","local_address","::")
end
ucic:save("dhcp")
ucic:commit("dhcp")
if disable_ipv6 == "1" then
luci.sys.exec("/etc/init.d/odhcpd stop >/dev/null 2>&1")
luci.sys.exec("/etc/init.d/odhcpd disable >/dev/null 2>&1")
--else
-- luci.sys.exec("/etc/init.d/odhcpd start >/dev/null 2>&1")
-- luci.sys.exec("/etc/init.d/odhcpd enable >/dev/null 2>&1")
end
end

View file

@ -15,6 +15,7 @@ omr_intf_set() {
uci -q set openmptcprouter.settings.scaling_max_freq=800000
}
[ -z "$multipath" ] || [ "$multipath" = "off" ] && [ "$1" != "omrvpn" ] && [ "$1" != "glorytun" ] && return
uci -q set openmptcprouter.$1=interface
}

View file

@ -1,6 +1,8 @@
#!/bin/sh
if [ "$(uci -q get sqm.wan1)" = "" ]; then
wan1="$(uci -q get network.wan1.ifname)"
wan2="$(uci -q get network.wan2.ifname)"
uci -q batch <<-EOF >/dev/null
delete sqm.eth1
set sqm.wan1=queue
@ -9,7 +11,7 @@ if [ "$(uci -q get sqm.wan1)" = "" ]; then
set sqm.wan1.qdisc_advanced='0'
set sqm.wan1.linklayer='none'
set sqm.wan1.enabled='0'
set sqm.wan1.interface='wan1'
set sqm.wan1.interface=$wan1
set sqm.wan1.download=''
set sqm.wan1.upload=''
set sqm.wan1.debug_logging='0'
@ -20,7 +22,7 @@ if [ "$(uci -q get sqm.wan1)" = "" ]; then
set sqm.wan2.qdisc_advanced='0'
set sqm.wan2.linklayer='none'
set sqm.wan2.enabled='0'
set sqm.wan2.interface='wan2'
set sqm.wan2.interface=$wan2
set sqm.wan2.download=''
set sqm.wan2.upload=''
set sqm.wan2.debug_logging='0'
@ -28,6 +30,7 @@ if [ "$(uci -q get sqm.wan1)" = "" ]; then
commit sqm
EOF
if [ "$(uci -q get network.wan3)" != "" ]; then
wan3="$(uci -q get network.wan3.ifname)"
uci -q batch <<-EOF >/dev/null
set sqm.wan3=queue
set sqm.wan3.qdisc="fq_codel"
@ -35,7 +38,7 @@ if [ "$(uci -q get sqm.wan1)" = "" ]; then
set sqm.wan3.qdisc_advanced='0'
set sqm.wan3.linklayer='none'
set sqm.wan3.enabled='0'
set sqm.wan3.interface='wan3'
set sqm.wan3.interface=$wan3
set sqm.wan3.download=''
set sqm.wan3.upload=''
set sqm.wan3.debug_logging='0'
@ -44,6 +47,7 @@ if [ "$(uci -q get sqm.wan1)" = "" ]; then
EOF
fi
if [ "$(uci -q get network.wan4)" != "" ]; then
wan4="$(uci -q get network.wan4.ifname)"
uci -q batch <<-EOF >/dev/null
set sqm.wan4=queue
set sqm.wan4.qdisc="fq_codel"
@ -51,7 +55,7 @@ if [ "$(uci -q get sqm.wan1)" = "" ]; then
set sqm.wan4.qdisc_advanced='0'
set sqm.wan4.linklayer='none'
set sqm.wan4.enabled='0'
set sqm.wan4.interface='wan4'
set sqm.wan4.interface=$wan4
set sqm.wan4.download=''
set sqm.wan4.upload=''
set sqm.wan4.debug_logging='0'