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

Check if multipath is enabled before doing something with it

This commit is contained in:
Ycarus (Yannick Chabanois) 2024-08-20 20:12:59 +02:00
parent 6b789fd728
commit b78f2340b2
3 changed files with 11 additions and 8 deletions

View file

@ -186,9 +186,10 @@ multipath_fix() {
/etc/init.d/mptcp reload $interface >/dev/null 2>&1
}
}
config_load network
config_foreach multipath_fix interface
if [ "$(uci -q get network.globals.multipath)" = "enable" ]; then
config_load network
config_foreach multipath_fix interface
fi
if [ -f /etc/init.d/shadowsocks-libev ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.168.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
_log "Can't find omr-tracker-ss for Shadowsocks libev, restart omr-tracker..."
/etc/init.d/omr-tracker restart >/dev/null 2>&1

View file

@ -428,8 +428,10 @@ start_service() {
config_load shadowsocks-rust
config_foreach _initialize_shadowsocks_rust_tracker server
config_load network
config_foreach _launch_tracker interface
if [ "$(uci -q get network.globals.multipath)" = "enable" ]; then
config_load network
config_foreach _launch_tracker interface
fi
if [ "$ss_enable" = "1" ]; then
config_load shadowsocks-libev
@ -469,7 +471,7 @@ start_service() {
}
service_triggers() {
procd_add_reload_trigger omr-tracker network shadowsocks-libev v2ray xray
procd_add_reload_trigger omr-tracker network
}
reload_service() {

View file

@ -722,7 +722,7 @@ dns_flush() {
# Get the current multipath status
multipath_status="off"
if [ -e "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
if [ -e "/sys/class/net/$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.globals.multipath)" = "enable" ]; then
case "$(multipath "$OMR_TRACKER_DEVICE")" in
*default*) multipath_status="on" ;;
*backup*) multipath_status="backup" ;;
@ -1054,7 +1054,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$multipath_config" = "on" ] || [ "$mu
fi
fi
if [ "$(sysctl -qen net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ] || [ "$(sysctl -qen net.mptcp.enabled | tr -d '\n')" = "1" ]; then
[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" != "1" ] && [ "$(uci -q get network.globals.mptcp_force_multipath)" != "0" ] && {
[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" != "1" ] && [ "$(uci -q get network.globals.mptcp_force_multipath)" != "0" ] && [ "$(uci -q get network.globals.multipath)" = "enable" ] && {
if [ "$multipath_status" = "$multipath_config" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.local_ipv4)" != "$OMR_TRACKER_DEVICE_IP" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.local_ipv6)" != "$OMR_TRACKER_DEVICE_IP6" ]); then
_log "Local IP changed for $OMR_TRACKER_DEVICE ($OMR_TRACKER_INTERFACE) force Multipath"
multipath "$OMR_TRACKER_DEVICE" "$multipath_config"