From 099c6cd947f5f35e676849bcb21e845238530df7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 11 Jul 2023 17:12:52 +0200 Subject: [PATCH 1/4] Fix DNS reset issue on IP 10.2* --- mptcp/files/usr/share/omr/post-tracking.d/post-tracking | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index 56050f14c..6c9667395 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -657,9 +657,9 @@ del_server_route6() { disable_pihole() { local server=$1 - if [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '#53' | grep '10.2')" ]; then + if [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '#53' | grep '10.255.25')" ]; then _log "Disable Pi-Hole..." - uci -q del_list dhcp.@dnsmasq[0].server="$(uci -q get dhcp.@dnsmasq[0].server | tr ' ' '\n' | grep '#53' | grep '10.2')" + uci -q del_list dhcp.@dnsmasq[0].server="$(uci -q get dhcp.@dnsmasq[0].server | tr ' ' '\n' | grep '#53' | grep '10.255.25')" if [ -z "$(uci -q get dhcp.@dnsmasq[0].server | grep '127.0.0.1#5353')" ]; then uci -q batch <<-EOF >/dev/null add_list dhcp.@dnsmasq[0].server='127.0.0.1#5353' From 377c34fd05e883b9ee11e58edf2c79e8595b3dc9 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Jul 2023 08:26:14 +0200 Subject: [PATCH 2/4] Disable sqm on VPN interface if not download/upload speed --- luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index ba87c23ee..7f3d51ac2 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -552,12 +552,15 @@ function wizard_add() ucic:set("network","omrvpn","proto","bonding") end if downloadmax ~= 0 and uploadmax ~= 0 then + ucic:set("sqm","omrvpn","enabled","1") 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)) + else + ucic:set("sqm","omrvpn","enabled","0") end if vpn_intf ~= "" then ucic:set("network","omrvpn","device",vpn_intf) From e613de8cff77554f48ea9da17fcff0d7649dd091 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Jul 2023 08:27:29 +0200 Subject: [PATCH 3/4] Some sqm-autorate fixes --- .../htdocs/luci-static/resources/view/network/sqm.js | 3 ++- luci-app-sqm-autorate/root/etc/init.d/sqm-autorate | 2 +- .../root/usr/share/sqm-autorate/cake-autorate.sh | 2 +- .../root/usr/share/sqm-autorate/config_template.sh | 2 +- luci-app-sqm-autorate/root/usr/share/sqm-autorate/defaults.sh | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js b/luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js index c367e660c..40abf47d9 100644 --- a/luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js +++ b/luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js @@ -289,7 +289,8 @@ return view.extend({ o.depends("autorate","1"); o = s.taboption("tab_autorate", form.Value, "startup_wait_s",_("Number of seconds to wait on startup:")); - o.default = "60"; + o.default = "60.0"; + o.datatype = 'float' o.depends("autorate","1"); diff --git a/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate b/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate index 3f2d5c87d..6c2ee9495 100755 --- a/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate +++ b/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate @@ -49,7 +49,7 @@ start_service() { rm -f /usr/share/sqm-autorate/config.*.sh config_load sqm config_foreach _config_autorate queue - _launch_autorate + [ -n "$(ls /usr/share/sqm-autorate/config.*.sh 2>/dev/null)" ] && _launch_autorate } reload_service() { diff --git a/luci-app-sqm-autorate/root/usr/share/sqm-autorate/cake-autorate.sh b/luci-app-sqm-autorate/root/usr/share/sqm-autorate/cake-autorate.sh index 6067cdca8..68edafd1c 100755 --- a/luci-app-sqm-autorate/root/usr/share/sqm-autorate/cake-autorate.sh +++ b/luci-app-sqm-autorate/root/usr/share/sqm-autorate/cake-autorate.sh @@ -2204,7 +2204,7 @@ do log_msg "DEBUG" "Warning: no reflector response within: ${stall_detection_timeout_s} seconds. Checking loads." - log_msg "DEBUG" "load check is: (( ${achieved_rate_kbps[dl]} kbps > ${connection_stall_thr_kbps} kbps for download && ${achieved_rate_kbps[ul]} kbps > ${connection_stall_thr_kbps} kbps for upload ))" + #log_msg "DEBUG" "load check is: (( ${achieved_rate_kbps[dl]} kbps > ${connection_stall_thr_kbps} kbps for download && ${achieved_rate_kbps[ul]} kbps > ${connection_stall_thr_kbps} kbps for upload ))" # non-zero load so despite no reflector response within stall interval, the connection not considered to have stalled # and therefore resume normal operation diff --git a/luci-app-sqm-autorate/root/usr/share/sqm-autorate/config_template.sh b/luci-app-sqm-autorate/root/usr/share/sqm-autorate/config_template.sh index 04a366a63..455089d54 100755 --- a/luci-app-sqm-autorate/root/usr/share/sqm-autorate/config_template.sh +++ b/luci-app-sqm-autorate/root/usr/share/sqm-autorate/config_template.sh @@ -200,7 +200,7 @@ reflector_owd_delta_ewma_delta_thr_ms=10 # mac increase from min delta ewma be stall_detection_thr=5 connection_stall_thr_kbps=10 -global_ping_response_timeout_s=100.0 # timeout to set shaper rates to min on no ping response whatsoever (seconds) +global_ping_response_timeout_s=${dl_delay_thr_ms} # timeout to set shaper rates to min on no ping response whatsoever (seconds) if_up_check_interval_s=10.0 # time to wait before re-checking if rx/tx bytes files exist (e.g. from boot state or sleep recovery) diff --git a/luci-app-sqm-autorate/root/usr/share/sqm-autorate/defaults.sh b/luci-app-sqm-autorate/root/usr/share/sqm-autorate/defaults.sh index 1ef1af429..7c953290f 100755 --- a/luci-app-sqm-autorate/root/usr/share/sqm-autorate/defaults.sh +++ b/luci-app-sqm-autorate/root/usr/share/sqm-autorate/defaults.sh @@ -197,7 +197,7 @@ reflector_owd_delta_ewma_delta_thr_ms=10 # max increase from min delta ewma befo stall_detection_thr=5 connection_stall_thr_kbps=10 -global_ping_response_timeout_s=10.0 # timeout to set shaper rates to min on no ping response whatsoever (seconds) +global_ping_response_timeout_s=10 # timeout to set shaper rates to min on no ping response whatsoever (seconds) if_up_check_interval_s=10.0 # time to wait before re-checking if rx/tx bytes files exist (e.g. from boot state or sleep recovery) From 715c0cd0bc56f2f68b743b476d1b06ab0b6f79ff Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Jul 2023 08:28:20 +0200 Subject: [PATCH 4/4] Some VPN interfaces default config changes --- openmptcprouter/files/etc/uci-defaults/2020-omr-vpn | 7 ++++--- openmptcprouter/files/etc/uci-defaults/2040-omr-sqm | 8 +------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index 28f19bda0..b571574d9 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -12,7 +12,6 @@ if [ "$(uci -q get network.omrvpn)" = "" ]; then set network.omrvpn.leasetime=12h set network.omrvpn.type=tunnel set network.omrvpn.txqueuelen=100 - set network.omrvpn.metric=9000 commit network EOF fi @@ -146,9 +145,11 @@ if [ "$(uci -q get glorytun-udp.vpn.key)" = "" ] && [ "$(uci -q get glorytun.vpn uci -q commit glorytun-udp fi -if [ "$(uci -q get network.omrvpn.metric)" = "1200" ]; then +if [ "$(uci -q get network.tun0.metric)" = "1200" ] || [ -z "$(uci -q get network.tun0.metric)" ]; then uci -q batch <<-EOF >/dev/null - set network.omrvpn.metric=9000 + set network.tun0=device + set network.tun0.name='tun0' + set network.tun0.metric=9000 commit network EOF fi diff --git a/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm b/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm index 6d3a09a12..c8d7c8e27 100755 --- a/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm +++ b/openmptcprouter/files/etc/uci-defaults/2040-omr-sqm @@ -81,7 +81,7 @@ if [ "$(uci -q get sqm.omrvpn)" = "" ] || [ -z "$(uci -q get sqm.omrvpn.delay_th set sqm.omrvpn.script="piece_of_cake.qos" set sqm.omrvpn.qdisc_advanced='0' set sqm.omrvpn.linklayer='none' - set sqm.omrvpn.enabled='1' + set sqm.omrvpn.enabled='0' set sqm.omrvpn.interface=tun0 set sqm.omrvpn.download='0' set sqm.omrvpn.upload='0' @@ -91,12 +91,6 @@ if [ "$(uci -q get sqm.omrvpn)" = "" ] || [ -z "$(uci -q get sqm.omrvpn.delay_th 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