1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-11-22 19:53:02 +08:00 committed by GitHub
commit 78bd306516
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 40 additions and 3 deletions

View file

@ -72,7 +72,7 @@ global_multipath_settings() {
for scheduler in $(ls -1 /usr/share/bpf/scheduler/*.o); do
bpftool struct_ops register $scheduler >/dev/null 2>&1
done
sysctl -qew net.mptcp.scheduler="$(echo $mptcp_scheduler | sed 's/mptcp_//' 's/.o//')" >/dev/null 2>&1
sysctl -qew net.mptcp.scheduler="$(echo $mptcp_scheduler | sed -e 's/mptcp_//' -e 's/.o//')" >/dev/null 2>&1
fi
fi
[ -z "$congestion" ] || sysctl -qew net.ipv4.tcp_congestion_control="$congestion"
@ -139,8 +139,8 @@ interface_multipath_settings() {
metric="1500"
elif [ "${config}" = "omr6in4" ]; then
metric="1201"
elif [ "$(uci -q get network.${config}.multipath)" = "off" ]; then
metric="9998"
# elif [ "$(uci -q get network.${config}.multipath)" = "off" ]; then
# metric="9998"
fi
config_set "$config" metric $metric
uci -q set network.${config}.metric=$metric
@ -345,6 +345,41 @@ interface_multipath_settings() {
ip link set dev $iface txqueuelen 1000 > /dev/null 2>&1
fi
fi
if [ -z "$gateway" ] && [ -n "$network" ]; then
if [ "$(uci -q get openmptcprouter.settings.uci_route)" = "1" ]; then
uci -q batch <<-EOF >/dev/null
delete network.${config}_rule
set network.${config}_rule=rule
set network.${config}_rule.lookup=${id}
set network.${config}_rule.priority=0
set network.${config}_rule.src="${ipaddr}/32"
set network.${config}_rule.created=mptcp
delete network.${config}_route
set network.${config}_route=route
set network.${config}_route.interface=${config}
set network.${config}_route.target=${network}
set network.${config}_route.netmask=${netmask}
set network.${config}_route.table=${ip4table}
set network.${config}_route.created=mptcp
delete network.${config}_route_default
commit network
EOF
else
[ -n "$ipaddr" ] && [ -z "$(ip rule show from $ipaddr table $ip4table)" ] && ip rule add from $ipaddr table $ip4table pref 0
[ -z "$(ip rule show oif $iface table $ip4table)" ] && ip rule add oif $iface table $ip4table pref 0
ip route replace $network/$netmask dev $iface scope link metric $id $initcwrwnd >/dev/null 2>&1
ip route replace $network/$netmask dev $iface scope link table $ip4table $initcwrwnd >/dev/null 2>&1
#ip route flush cache $id >/dev/null 2>&1
fi
if [ "$txqueuelen" != "" ]; then
#ifconfig $iface txqueuelen $txqueuelen > /dev/null 2>&1
ip link set dev $iface txqueuelen $txqueuelen > /dev/null 2>&1
else
#ifconfig $iface txqueuelen 1000 > /dev/null 2>&1
ip link set dev $iface txqueuelen 1000 > /dev/null 2>&1
fi
fi
if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$config" != "omr6in4" ]; then
# IPv6 Updates:
local ip6addr

View file

@ -107,6 +107,8 @@ if [ "$(grep rockchip /etc/os-release)" != "" ]; then
lanif="eth1"
elif [ "$(grep filogic /etc/os-release)" != "" ]; then
lanif="eth1"
elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi_bpi-r3" ]; then
lanif="eth0"
elif [ -d /sys/class/net/lan0 -o -n "$(ip link | grep ' lan0')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then
lanif="wan"
elif [ -d /sys/class/net/lan1 -o -n "$(ip link | grep ' lan1')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then