projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
relayd: fix reload / interface restart issues
[openwrt/openwrt.git]
/
package
/
network
/
services
/
relayd
/
files
/
relay.init
diff --git
a/package/network/services/relayd/files/relay.init
b/package/network/services/relayd/files/relay.init
index 3635e9c4bdf48782a81357dde66956fb8da45d34..e5715a53baca1a91cb43401a73e8b1c10e2ca7b8 100644
(file)
--- a/
package/network/services/relayd/files/relay.init
+++ b/
package/network/services/relayd/files/relay.init
@@
-20,6
+20,7
@@
validate_proto_relayd()
resolve_ifname() {
grep -qs "^ *$1:" /proc/net/dev && {
procd_append_param command -I "$1"
resolve_ifname() {
grep -qs "^ *$1:" /proc/net/dev && {
procd_append_param command -I "$1"
+ procd_append_param netdev "$1"
append ifaces "$1"
}
}
append ifaces "$1"
}
}
@@
-41,6
+42,9
@@
start_relay() {
config_get proto "$cfg" proto
[ "$proto" = "relay" ] || return 0
config_get proto "$cfg" proto
[ "$proto" = "relay" ] || return 0
+ config_get_bool disabled "$cfg" disabled 0
+ [ "$disabled" -gt 0 ] && return 0
+
SERVICE_DAEMONIZE=1
SERVICE_WRITE_PID=1
SERVICE_PID_FILE="/var/run/relay-$cfg.pid"
SERVICE_DAEMONIZE=1
SERVICE_WRITE_PID=1
SERVICE_PID_FILE="/var/run/relay-$cfg.pid"
@@
-103,6
+107,7
@@
start_relay() {
service_triggers()
{
procd_add_reload_trigger "network"
service_triggers()
{
procd_add_reload_trigger "network"
+ procd_add_raw_trigger "interface.*" 2000 /etc/init.d/relayd reload
}
start_service() {
}
start_service() {