relayd: fix reload / interface restart issues
authorFelix Fietkau <nbd@nbd.name>
Tue, 27 Dec 2016 12:19:46 +0000 (13:19 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 27 Dec 2016 12:20:33 +0000 (13:20 +0100)
- replace the hotplug script with an interface trigger
- add netdev params to procd to trigger restart

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/relayd/Makefile
package/network/services/relayd/files/relay.hotplug [deleted file]
package/network/services/relayd/files/relay.init

index 8c738fb3295f0aa3f9f6b090366e2d4690aa0e31..25c56d49c6b6a66aa77c058a56b9fbb3ad7b0798 100644 (file)
@@ -35,8 +35,6 @@ TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
 define Package/relayd/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/relayd $(1)/usr/sbin/relayd
-       $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
-       $(INSTALL_DATA) ./files/relay.hotplug $(1)/etc/hotplug.d/iface/30-relay
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/relay.init $(1)/etc/init.d/relayd
 endef
diff --git a/package/network/services/relayd/files/relay.hotplug b/package/network/services/relayd/files/relay.hotplug
deleted file mode 100644 (file)
index afffbfe..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/etc/init.d/relayd enabled && /etc/init.d/relayd start
index c6288637d19ab8b8c67ad985c5fdf51d790b78f5..e5715a53baca1a91cb43401a73e8b1c10e2ca7b8 100644 (file)
@@ -20,6 +20,7 @@ validate_proto_relayd()
 resolve_ifname() {
        grep -qs "^ *$1:" /proc/net/dev && {
                procd_append_param command -I "$1"
+               procd_append_param netdev "$1"
                append ifaces "$1"
        }
 }
@@ -106,6 +107,7 @@ start_relay() {
 service_triggers()
 {
        procd_add_reload_trigger "network"
+       procd_add_raw_trigger "interface.*" 2000 /etc/init.d/relayd reload
 }
 
 start_service() {