nlbwmon: receive dhcp interface triggers
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Mon, 5 Nov 2018 18:01:50 +0000 (18:01 +0000)
committerJo-Philipp Wich <jo@mein.io>
Thu, 6 Jun 2019 07:33:54 +0000 (09:33 +0200)
Not all interfaces may have been allocated address at nlbwmon startup so
it may not collect statistics as expected/configured.

Add interface triggers to catch dhcp events and restart as required.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 662d3f16d2702fe55116c852f5d456e90891ee89)

net/nlbwmon/Makefile
net/nlbwmon/files/nlbwmon.init

index c8ce443ccbb4905276bd682999280524dbf983e0..c20998e220feee63d6d108731154e96545bc116d 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nlbwmon
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/jow-/nlbwmon.git
index 53167dc651d8bcae41a8f359e510ecd0bd6e6095..15ab5a11879295a55bd593fef8f4530b7100b682 100755 (executable)
@@ -89,3 +89,19 @@ start_service() {
        procd_close_instance
 }
 
+add_interface_trigger() {
+       local interface ignore
+
+       config_get interface "$1" interface
+       config_get_bool ignore "$1" ignore 0
+
+       [ -n "$interface" -a $ignore -eq 0 ] && procd_add_interface_trigger "interface.*" "$interface" /etc/init.d/nlbwmon reload
+}
+
+service_triggers() {
+       procd_add_reload_trigger "dhcp" "system"
+
+       config_load dhcp
+       config_foreach add_interface_trigger dhcp
+}
+