projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
netifd: initialize the switch early at start time and on reload (fixes #13015)
[openwrt.git]
/
package
/
network
/
config
/
netifd
/
files
/
etc
/
init.d
/
network
diff --git
a/package/network/config/netifd/files/etc/init.d/network
b/package/network/config/netifd/files/etc/init.d/network
index
f54d69b
..
e117463
100755
(executable)
--- a/
package/network/config/netifd/files/etc/init.d/network
+++ b/
package/network/config/netifd/files/etc/init.d/network
@@
-5,20
+5,30
@@
STOP=90
USE_PROCD=1
USE_PROCD=1
+init_switch() {
+ setup_switch() { return 0; }
+
+ include /lib/network
+ setup_switch
+}
+
start_service() {
start_service() {
- [ -e /proc/sys/kernel/core_pattern ] && {
- ulimit -c unlimited
- echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern
- }
+ init_switch
+
procd_open_instance
procd_set_param command /sbin/netifd
procd_set_param respawn
procd_open_instance
procd_set_param command /sbin/netifd
procd_set_param respawn
+ [ -e /proc/sys/kernel/core_pattern ] && {
+ procd_set_param limits core="unlimited"
+ echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern
+ }
procd_close_instance
}
reload_service() {
procd_close_instance
}
reload_service() {
+ init_switch
ubus call network reload
ubus call network reload
- /sbin/wifi
up
+ /sbin/wifi
reload_legacy
}
stop_service() {
}
stop_service() {
@@
-26,19
+36,16
@@
stop_service() {
}
service_running() {
}
service_running() {
- setup_switch() { return 0; }
-
- include /lib/network
- setup_switch
-
sleep 5
sleep 5
-
- /sbin/wifi up
+ /sbin/wifi reload_legacy
}
service_triggers()
{
}
service_triggers()
{
- procd_add_reload_trigger "network"
+ procd_open_trigger
+ procd_add_config_trigger "config.change" "network" /etc/init.d/network reload
+ procd_add_config_trigger "config.change" "wireless" /etc/init.d/network reload
+ procd_close_trigger
}
restart() {
}
restart() {