mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-12 18:41:51 +00:00
Add and fix some MPTCP settings
This commit is contained in:
parent
0baa8cba4b
commit
5e05415e4e
4 changed files with 42 additions and 6 deletions
|
@ -10,8 +10,8 @@ local mtcpg = s:option(ListValue, "multipath", translate("Multipath TCP"))
|
|||
mtcpg:value("enable", translate("enable"))
|
||||
mtcpg:value("disable", translate("disable"))
|
||||
local mtcpck = s:option(ListValue, "mptcp_checksum", translate("Multipath TCP checksum"))
|
||||
mtcpck:value("enable", translate("enable"))
|
||||
mtcpck:value("disable", translate("disable"))
|
||||
mtcpck:value(1, translate("enable"))
|
||||
mtcpck:value(0, translate("disable"))
|
||||
local mtcppm = s:option(ListValue, "mptcp_path_manager", translate("Multipath TCP path-manager"))
|
||||
mtcppm:value("default", translate("default"))
|
||||
mtcppm:value("fullmesh", translate("fullmesh"))
|
||||
|
@ -29,6 +29,16 @@ local availablecong = sys.exec("sysctl net.ipv4.tcp_available_congestion_control
|
|||
for cong in string.gmatch(availablecong, "[^%s]+") do
|
||||
congestion:value(cong, translate(cong))
|
||||
end
|
||||
local mtcpfm_subflows = s:option(Value, "mptcp_fullmesh_num_subflows", translate("Fullmesh subflows for each pair of IP addresses"))
|
||||
mtcpfm_subflows.datatype = "uinteger"
|
||||
mtcpfm_subflows.rmempty = false
|
||||
local mtcpfm_createonerr = s:option(Value, "mptcp_fullmesh_create_on_err", translate("Re-create fullmesh subflows after a timeout"))
|
||||
mtcpfm_createonerr:value(1, translate("enable"))
|
||||
mtcpfm_createonerr:value(0, translate("disable"))
|
||||
|
||||
local mtcpnd_subflows = s:option(Value, "mptcp_ndiffports_num_subflows", translate("ndiffports subflows number"))
|
||||
mtcpnd_subflows.datatype = "uinteger"
|
||||
mtcpnd_subflows.rmempty = false
|
||||
|
||||
s = m:section(TypedSection, "interface", translate("Interfaces Settings"))
|
||||
mptcp = s:option(ListValue, "multipath", translate("Multipath TCP"), translate("One interface must be set as master"))
|
||||
|
|
|
@ -130,8 +130,8 @@ if fs.access("/proc/sys/net/mptcp") then
|
|||
mtcp:value("enable", translate("enable"))
|
||||
mtcp:value("disable", translate("disable"))
|
||||
local mtcpck = s:option(ListValue, "mptcp_checksum", translate("Multipath TCP checksum"))
|
||||
mtcpck:value("enable", translate("enable"))
|
||||
mtcpck:value("disable", translate("disable"))
|
||||
mtcpck:value(1, translate("enable"))
|
||||
mtcpck:value(0, translate("disable"))
|
||||
local mtcppm = s:option(ListValue, "mptcp_path_manager", translate("Multipath TCP path-manager"))
|
||||
mtcppm:value("default", translate("default"))
|
||||
mtcppm:value("fullmesh", translate("fullmesh"))
|
||||
|
|
|
@ -5,7 +5,7 @@ START=18
|
|||
USE_PROCD=1
|
||||
|
||||
global_multipath_settings() {
|
||||
local multipath mptcp_path_manager mptcp_schdeduler congestion mptcp_checksum mptcp_syn_retries
|
||||
local multipath mptcp_path_manager mptcp_schdeduler congestion mptcp_checksum mptcp_syn_retries mptcp_fullmesh_num_subflows mptcp_fullmesh_create_on_err mptcp_ndiffports_num_subflows
|
||||
local multipath_status=0
|
||||
config_load network
|
||||
config_get multipath globals multipath
|
||||
|
@ -14,6 +14,10 @@ global_multipath_settings() {
|
|||
config_get congestion globals congestion
|
||||
config_get mptcp_checksum globals mptcp_checksum
|
||||
config_get mptcp_syn_retries globals mptcp_syn_retries
|
||||
config_get mptcp_fullmesh_num_subflows globals mptcp_fullmesh_num_subflows
|
||||
config_get mptcp_fullmesh_create_on_err globals mptcp_fullmesh_create_on_err
|
||||
config_get mptcp_ndiffports_num_subflows globals mptcp_ndiffports_num_subflows
|
||||
|
||||
[ "$multipath" = "enable" ] && multipath_status=1
|
||||
|
||||
# Global MPTCP configuration
|
||||
|
@ -23,6 +27,9 @@ global_multipath_settings() {
|
|||
[ -z "$congestion" ] || sysctl -qw net.ipv4.tcp_congestion_control="$congestion"
|
||||
[ -z "$mptcp_checksum" ] || sysctl -qw net.mptcp.mptcp_checksum="$mptcp_checksum"
|
||||
[ -z "$mptcp_syn_retries" ] || sysctl -qw net.mptcp.mptcp_syn_retries="$mptcp_syn_retries"
|
||||
[ -z "$mptcp_fullmesh_num_subflows" ] || sysctl -qw /sys/module/mptcp_fullmesh/parameters/num_subflows="$mptcp_fullmesh_num_subflows"
|
||||
[ -z "$mptcp_fullmesh_create_on_err" ] || sysctl -qw /sys/module/mptcp_fullmesh/parameters/create_on_err="$mptcp_fullmesh_create_on_err"
|
||||
[ -z "$mptcp_ndiffports_num_subflows" ] || sysctl -qw /sys/module/mptcp_ndiffports/parameters/num_subflows="$mptcp_ndiffports_num_subflows"
|
||||
}
|
||||
|
||||
interface_multipath_settings() {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/sh
|
||||
if [ "$(uci -q show network.globals | grep mptcp)" = "" ]; then
|
||||
if [ "$(uci -q show network.globals | grep mptcp_path_manager)" = "" ]; then
|
||||
uci -q batch <<-EOF
|
||||
set network.globals.multipath='enable'
|
||||
set network.globals.mptcp_path_manager='fullmesh'
|
||||
|
@ -10,6 +10,25 @@ if [ "$(uci -q show network.globals | grep mptcp)" = "" ]; then
|
|||
commit network
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get network.globals.mptcp_checksum")" = "enable" ]; then
|
||||
uci -q batch <<-EOF
|
||||
set network.globals.mptcp_checksum=1
|
||||
EOF
|
||||
fi
|
||||
if [ "$(uci -q get network.globals.mptcp_checksum")" = "disable" ]; then
|
||||
uci -q batch <<-EOF
|
||||
set network.globals.mptcp_checksum=0
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [ "$(uci -q show network.globals | grep mptcp_fullmesh)" = "" ]; then
|
||||
uci -q batch <<-EOF
|
||||
set network.globals.mptcp_fullmesh_num_subflows=1
|
||||
set network.globals.mptcp_fullmesh_create_on_err=0
|
||||
set network.globals.mptcp_ndiffports_num_subflows=1
|
||||
commit network
|
||||
EOF
|
||||
fi
|
||||
uci -q batch <<-EOF
|
||||
delete ucitrack.@mptcp[-1]
|
||||
add ucitrack mptcp
|
||||
|
|
Loading…
Reference in a new issue