From c142a07ffa36cc9e46e585af30821c27940088cb Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 13 Apr 2021 09:29:33 +0200 Subject: [PATCH 1/3] Disable tracebox check by default --- .../root/etc/uci-defaults/openmptcprouter | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter index b267d6f21..80c3cb392 100755 --- a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter @@ -121,6 +121,13 @@ if [ "$(uci -q get openmptcprouter.settings.disableintfrename)" = "" ]; then EOF fi +if [ "$(uci -q get openmptcprouter.settings.tracebox)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set openmptcprouter.settings.tracebox='0' + commit openmptcprouter + EOF +fi + sed -i 's/net.ipv4.tcp_retries2=3$/net.ipv4.tcp_retries2=15/' /etc/sysctl.d/zzz_openmptcprouter.conf exit 0 From 19a4fc82530ff09e8e458b3fd5f2b76b8afbe2ad Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 13 Apr 2021 10:22:47 +0200 Subject: [PATCH 2/3] Add tests for empty values --- mptcp/files/etc/init.d/mptcp | 10 +++++----- omr-tracker/files/bin/omr-tracker | 2 +- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index 059da16aa..8350b547a 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -238,7 +238,7 @@ interface_multipath_settings() { EOF else #echo "Add routes for $ipaddr table $id" - ip rule add from $ipaddr table $id pref 0 + [ -n "$ipaddr" ] && ip rule add from $ipaddr table $id pref 0 ip route replace $network/$netmask dev $iface scope link metric $id 2>&1 >/dev/null ip route replace $network/$netmask dev $iface scope link table $id 2>&1 >/dev/null ip route replace default via $gateway dev $iface table $id 2>&1 >/dev/null @@ -384,9 +384,9 @@ add_route() { config_get interface "$1" interface iface=$(ifstatus "$interface" | jsonfilter -q -e '@["l3_device"]') [ -n "$(echo $iface | grep '@')" ] && iface=$(ifstatus "$interface" | jsonfilter -q -e '@["device"]') - routeset="$routeset dev $iface" + [ -n "$iface" ] && routeset="$routeset dev $iface" logger -t "MPTCP" "Add route $routeset" - ip route replace $routeset 2>&1 >/dev/null + [ -n "$routeset" ] && ip route replace $routeset 2>&1 >/dev/null } add_route6() { @@ -405,9 +405,9 @@ add_route6() { config_get interface "$1" interface iface=$(ifstatus "$interface" | jsonfilter -q -e '@["l3_device"]') [ -n "$(echo $iface | grep '@')" ] && iface=$(ifstatus "$interface" | jsonfilter -q -e '@["device"]') - routeset="$routeset dev $iface" + [ -n "$iface" ] && routeset="$routeset dev $iface" logger -t "MPTCP" "Add IPv6 route $routeset" - ip -6 route replace $routeset 2>&1 >/dev/null + [ -n "$routeset" ] && ip -6 route replace $routeset 2>&1 >/dev/null } remove() { diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index bd8bf7d3d..f78571aab 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -238,7 +238,7 @@ while true; do OMR_TRACKER_DEVICE_GATEWAY6= serverip_ping=false - if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then + if [ -n "$OMR_TRACKER_DEVICE" ] && [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then if [ -n "$(ip link show $OMR_TRACKER_DEVICE | grep UP)" ]; then # retrieve iface ip and gateway if [ "$OMR_TRACKER_INTERFACE_PROTO" != "dhcpv6" ]; then diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index b2ea9340b..263be3917 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -822,8 +822,8 @@ _set_vpn_ip() { vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} | awk -F'[ /]+' '{print $3}') vpnip_remote_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.localip')" vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep via | grep -v default | grep -v / | grep -v metric | awk '{print $1}' | tr -d "\n") - [ -z "$vpnip_remote" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep kernel | awk '{print $1}' | tr -d "\n") - [ -z "$vpnip_remote" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep "proto static src" | awk '{print $3}' | tr -d "\n") + [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep kernel | awk '{print $1}' | tr -d "\n") + [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep "proto static src" | awk '{print $3}' | tr -d "\n") [ -z "$vpnip_remote" ] && vpnip_remote=$(ifstatus omrvpn | jsonfilter -e '@.route[0].nexthop') ula="$(uci -q get network.globals.ula_prefix)" ula_current="$(echo "$vps_config" | jsonfilter -q -e '@.ip6in4.ula')" From 5a97ebfff98904f63a9343f0eaaba82711fffb75 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 13 Apr 2021 16:06:10 +0200 Subject: [PATCH 3/3] Fix 0 speed for SQM --- .../luasrc/controller/openmptcprouter.lua | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 21dd0095c..8f78a6bc9 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -364,6 +364,7 @@ function wizard_add() ucic:set("sqm",intf,"download",math.ceil(downloadspeed*95/100)) ucic:set("qos",intf,"download",math.ceil(downloadspeed*95/100)) else + ucic:delete("network",intf,"downloadspeed") ucic:set("sqm",intf,"download","0") ucic:set("qos",intf,"download","0") end @@ -372,13 +373,10 @@ function wizard_add() ucic:set("sqm",intf,"upload",math.ceil(uploadspeed*95/100)) ucic:set("qos",intf,"upload",math.ceil(uploadspeed*95/100)) else + ucic:delete("network",intf,"uploadspeed") ucic:set("sqm",intf,"upload","0") ucic:set("qos",intf,"upload","0") end - if downloadspeed ~= "0" and downloadspeed ~= "" and uploadspeed ~= "0" and uploadspeed ~= "" then - ucic:set("sqm",intf,"enabled","0") - ucic:set("qos",intf,"enabled","0") - end if sqmenabled == "1" then ucic:set("sqm",intf,"iqdisc_opts","autorate-ingress nat dual-dsthost")