1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
openmptcprouter-feeds/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter

79 lines
2.6 KiB
Text
Raw Normal View History

2018-04-17 07:27:15 +00:00
#!/bin/sh /etc/rc.common
# Copyright (C) 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
# Released under GPL 3. See LICENSE for the full terms.
2018-04-17 07:27:15 +00:00
START=5
USE_PROCD=1
omr_intf_del() {
2020-05-25 12:01:25 +00:00
[ -z "$1" ] && return
uci -q delete openmptcprouter.$1
}
2019-07-23 15:45:44 +00:00
omr_intf_check() {
[ "$(uci -q get network.$1)" = "" ] && omr_intf_del $1
}
omr_intf_set() {
config_get multipath "$1" multipath
config_get ifname "$1" ifname
2018-09-05 20:59:43 +00:00
[ -z "$multipath" ] || [ "$multipath" = "off" ] && [ "$1" != "omrvpn" ] && [ "$1" != "glorytun" ] && return
uci -q set openmptcprouter.$1=interface
2019-08-28 19:07:44 +00:00
uci -q set openmptcprouter.$1.multipath="$multipath"
config_get disable_ipv6 settings disable_ipv6 "0"
if [ "$disable_ipv6" = "1" ] || [ "$1" != "omr6in4" ]; then
uci -q set network.$1.ipv6=0
else
uci -q set network.$1.ipv6=1
fi
}
2018-04-17 07:27:15 +00:00
start_service() {
local scaling_min_freq scaling_max_freq
2019-07-23 15:45:44 +00:00
config_load openmptcprouter
config_foreach omr_intf_check interface
config_load network
config_foreach omr_intf_set interface
2020-05-25 12:01:25 +00:00
[ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && {
# force CPU speed for RPI
uci -q set openmptcprouter.settings.scaling_min_freq=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq | tr -d "\n")
uci -q set openmptcprouter.settings.scaling_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq | tr -d "\n")
uci -q set openmptcprouter.settings.scaling_governor='performance'
2020-05-25 12:01:25 +00:00
}
2018-04-17 07:27:15 +00:00
config_load openmptcprouter
config_get scaling_min_freq settings scaling_min_freq
[ -n "$scaling_min_freq" ] && {
2018-04-17 12:48:55 +00:00
for c in $(ls -d /sys/devices/system/cpu/cpufreq/policy[0-9]*); do
echo $scaling_min_freq > $c/scaling_min_freq
done
2018-04-17 07:27:15 +00:00
}
config_get scaling_max_freq settings scaling_max_freq
[ -n "$scaling_max_freq" ] && {
2018-04-17 12:48:55 +00:00
for c in $(ls -d /sys/devices/system/cpu/cpufreq/policy[0-9]*); do
echo $scaling_max_freq > $c/scaling_max_freq
done
2018-04-17 07:27:15 +00:00
}
config_get scaling_governor settings scaling_governor
[ -n "$scaling_governor" ] && {
2018-04-17 12:48:55 +00:00
for c in $(ls -d /sys/devices/system/cpu/cpufreq/policy[0-9]*); do
echo $scaling_governor > $c/scaling_governor
done
2018-04-17 07:27:15 +00:00
}
2018-05-12 08:07:51 +00:00
# remove sysctl already defined in /etc/sysctl.d/
2020-06-26 12:55:21 +00:00
sed -i -e '/tcp_fin_timeout/d' -e '/tcp_keepalive_time/d' -e '/nf_conntrack_max/d' -e '/tcp_syn_retries/d' -e '/tcp_fastopen/d' -e '/tcp_retries2/d' /etc/sysctl.conf
sed -i -e '/tcp_fin_timeout/d' -e '/tcp_keepalive_time/d' -e '/nf_conntrack_max/d' -e '/tcp_syn_retries/d' -e '/tcp_fastopen/d' -e '/tcp_retries2/d' /etc/sysctl.d/10-default.conf
2018-04-17 07:27:15 +00:00
}
reload_service() {
rc_procd start_service
return 0
2020-02-27 21:44:48 +00:00
}
service_triggers() {
procd_add_reload_trigger "openmptcprouter" "network"
2018-04-17 07:27:15 +00:00
}