mirror of
https://github.com/qosmio/nss-packages.git
synced 2025-12-16 16:21:53 +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
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=qca-nss-ecm
|
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_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
# at boot.
|
# at boot.
|
||||||
|
|
||||||
START=26
|
START=26
|
||||||
|
USE_PROCD=1
|
||||||
|
|
||||||
sysctl_update() {
|
sysctl_update() {
|
||||||
local name value file
|
local name value file
|
||||||
@ -58,6 +59,17 @@ get_front_end_mode() {
|
|||||||
esac
|
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() {
|
disable_bridge_filtering() {
|
||||||
sysctl_update net.bridge.bridge-nf-call-arptables 0
|
sysctl_update net.bridge.bridge-nf-call-arptables 0
|
||||||
sysctl_update net.bridge.bridge-nf-call-iptables 0
|
sysctl_update net.bridge.bridge-nf-call-iptables 0
|
||||||
@ -136,9 +148,22 @@ unload_ecm() {
|
|||||||
fi
|
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
|
load_ecm
|
||||||
|
|
||||||
|
disable_packet_steering
|
||||||
|
|
||||||
# Only enable bridge filtering if using deprecated fw3
|
# Only enable bridge filtering if using deprecated fw3
|
||||||
if [ ! -r /sbin/fw4 ]; then
|
if [ ! -r /sbin/fw4 ]; then
|
||||||
enable_bridge_filtering
|
enable_bridge_filtering
|
||||||
@ -154,7 +179,7 @@ start() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
stop_service() {
|
||||||
# If ECM is already not loaded, just return
|
# If ECM is already not loaded, just return
|
||||||
if [ ! -d /sys/module/ecm ]; then
|
if [ ! -d /sys/module/ecm ]; then
|
||||||
return
|
return
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user