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

Add Qualcomm Shortcut FE driver support

This commit is contained in:
Ycarus (Yannick Chabanois) 2021-04-14 21:02:45 +02:00
parent 3b1c0ae6c8
commit e3ea12a28f
22 changed files with 12374 additions and 0 deletions

View file

@ -1067,6 +1067,13 @@ function settings_add()
ucic:set("openmptcprouter","settings","scaling_governor",scaling_governor)
end
-- Enable/disable Qualcomm Shortcut FE
local sfe_enabled = luci.http.formvalue("sfe_enabled") or "0"
ucic:set("openmptcprouter","settings","sfe_enabled",sfe_enabled)
local sfe_bridge = luci.http.formvalue("sfe_bridge") or "0"
ucic:set("openmptcprouter","settings","sfe_bridge",sfe_bridge)
ucic:save("openmptcprouter")
ucic:commit("openmptcprouter")

View file

@ -322,6 +322,28 @@
</div>
</div>
</fieldset>
<%
if nixio.fs.access("/lib/modules/" .. nixio.uname().release .. "/shortcut-fe.ko") then
%>
<hr />
<fieldset class="cbi-section" id="fe">
<legend><%:Qualcomm Shortcut FE driver%></legend>
<div class="cbi-section-descr"></div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Enable Fast Patch offloading for connections%></label>
<div class="cbi-value-field">
<input type="checkbox" name="sfe_enabled" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter","settings","sfe_enabled") == "1" then %>checked<% end %>>
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Enable Bridge Acceleration%></label>
<div class="cbi-value-field">
<input type="checkbox" name="sfe_bridge" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter","settings","sfe_bridge") == "1" then %>checked<% end %>>
</div>
</div>
</fieldset>
<% end %>
<% if nixio.fs.access("/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq") then %>
<fieldset class="cbi-section" id="system">
<legend><%:Systems settings%></legend>

View file

@ -157,6 +157,23 @@ start_service() {
EOF
fi
if [ "$(uci -q get openmptcprouter.settings.sfe_enabled)" = "1" ]; then
[ -z "$(lsmod | grep fast_classifier)" ] && modprobe fast_classifier 2>&1 >/dev/null
if [ "$(uci -q get openmptcprouter.settings.sfe_bridge)" = "1" ]; then
echo 1 >/sys/fast_classifier/skip_to_bridge_ingress
else
echo 0 >/sys/fast_classifier/skip_to_bridge_ingress
fi
if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "0" ]; then
sfe_ipv6=$(cat /sys/sfe_ipv6/debug_dev)
[ ! -f /dev/sfe_ipv6 ] && mknod /dev/sfe_ipv6 c $sfe_ipv6 0 2>&1 >/dev/null
else
rm -f /dev/sfe_ipv6
fi
else
rmmod fast_classifier 2>&1 >/dev/null
fi
if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then
uci -q batch <<-EOF >/dev/null
set rpcd.@rpcd[0].socket='/var/run/ubus/ubus.sock'