mirror of
https://github.com/LiBwrt/nss-packages.git
synced 2025-12-16 17:15:09 +00:00
nss-ecm: ensure packet steering is always disabled
Converted ecm init to PROCD service and added a function ensure packet steering is always disabled when loading. Added additional firewall/network/packet_steering triggers in case user changes to packet steering are made in the web interface. Signed-off-by: Sean Khan <datapronix@protonmail.com>
This commit is contained in:
parent
bbaa20f43c
commit
e4489bb269
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=qca-nss-ecm
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
# at boot.
|
||||
|
||||
START=26
|
||||
USE_PROCD=1
|
||||
|
||||
sysctl_update() {
|
||||
local name value file
|
||||
@ -58,6 +59,17 @@ get_front_end_mode() {
|
||||
esac
|
||||
}
|
||||
|
||||
disable_packet_steering() {
|
||||
uci -q set network.globals.packet_steering=0 && uci commit network.globals.packet_steering
|
||||
uci -q del network.globals.steering_flows && uci commit network.globals.steering_flows
|
||||
|
||||
if [ -e "/usr/libexec/platform/packet-steering.sh" ]; then
|
||||
/usr/libexec/platform/packet-steering.sh 0
|
||||
else
|
||||
/usr/libexec/network/packet-steering.uc -l 0 0
|
||||
fi
|
||||
}
|
||||
|
||||
disable_bridge_filtering() {
|
||||
sysctl_update net.bridge.bridge-nf-call-arptables 0
|
||||
sysctl_update net.bridge.bridge-nf-call-iptables 0
|
||||
@ -136,9 +148,22 @@ unload_ecm() {
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "network"
|
||||
procd_add_reload_trigger "firewall"
|
||||
procd_add_reload_trigger "packet_steering"
|
||||
procd_add_raw_trigger "interface.*" 1000 /etc/init.d/qca-nss-ecm reload
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
start_service
|
||||
}
|
||||
|
||||
start_service() {
|
||||
load_ecm
|
||||
|
||||
disable_packet_steering
|
||||
|
||||
# Only enable bridge filtering if using deprecated fw3
|
||||
if [ ! -r /sbin/fw4 ]; then
|
||||
enable_bridge_filtering
|
||||
@ -154,7 +179,7 @@ start() {
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
stop_service() {
|
||||
# If ECM is already not loaded, just return
|
||||
if [ ! -d /sys/module/ecm ]; then
|
||||
return
|
||||
|
||||
Loading…
Reference in New Issue
Block a user