If an interface doesn't exist yet when vnStat is started, it won't be
monitored, as only existing interfaces can be added to the database via
the vnstat command.
This adds a hotplug script which adds any configured interfaces to the
vnStat database when it goes up.
Signed-off-by: Jan Hoffmann <redacted>
$(INSTALL_CONF) ./files/vnstat.config $(1)/etc/config/vnstat
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/vnstat.init $(1)/etc/init.d/vnstat
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
+ $(INSTALL_DATA) ./files/vnstat.hotplug $(1)/etc/hotplug.d/iface/50-vnstat
endef
define Package/vnstati2/install
--- /dev/null
+/etc/init.d/vnstat running || exit 0
+[ "$ACTION" = "ifup" ] || exit 0
+
+. /lib/functions.sh
+
+check_iface() {
+ local iface="$1"
+
+ [ "$iface" = "$DEVICE" ] || return
+
+ /usr/bin/vnstat --add -i "$iface" >/dev/null
+
+ exit 0
+}
+
+check_ifaces() {
+ local cfg="$1"
+
+ config_list_foreach "$cfg" interface check_iface
+}
+
+config_load vnstat
+config_foreach check_ifaces vnstat