watchcat: use logical network to fix restart_interface
authorDaniel F. Dickinson <redacted>
Sun, 5 Apr 2026 15:21:22 +0000 (11:21 -0400)
committerHannu Nyman <redacted>
Sat, 11 Apr 2026 06:13:01 +0000 (09:13 +0300)
Watchcat was failing to restart layer-3 interfaces when in mode
'restart_iface'. The previously attempted fix made the situation
worse in that it resulted in layer 2 interfaces also failing to
start.

This was because we are passed the interface name (e.g. eth0,
l2p0, or br-lan), but ifup needs the logical network (e.g. 'lan'
which corresponds to the network device).

Update to use find_config from /lib/network/config.sh to find the
logical network from the interface name, and use ifup on the
logical network to restart the underlying interface(s) associated
with the logical network.

Signed-off-by: Daniel F. Dickinson <redacted>
utils/watchcat/Makefile
utils/watchcat/files/watchcat.sh

index 7ecf6b60e762184dc56b9275a2b977e2a0ee6551..b66a237ac50677751644c60194282e97601ae70f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=watchcat
 PKG_VERSION:=1
-PKG_RELEASE:=21
+PKG_RELEASE:=22
 
 PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>
 PKG_LICENSE:=GPL-2.0
index 0de47105cd1172caf4f275377f345ec35a185661..5167911fd38b6fc1895d10f86104fc684ecf3de6 100644 (file)
@@ -6,6 +6,8 @@
 # This is free software, licensed under the GNU General Public License v2.
 #
 
+. /lib/network/config.sh
+
 get_ping_size() {
        ps=$1
        case "$ps" in
@@ -82,8 +84,10 @@ watchcat_restart_modemmanager_iface() {
 }
 
 watchcat_restart_network_iface() {
-       logger -p daemon.info -t "watchcat[$$]" "Restarting network interface: \"$1\"."
-       ifup "$1"
+       local network
+       network="$(find_config "$1")"
+       logger -p daemon.info -t "watchcat[$$]" "Restarting network interface: \"$1\" (network: \"$network\")."
+       ifup "$network"
 }
 
 watchcat_run_script() {
git clone https://git.99rst.org/PROJECT