[openwrt/openwrt] unetmsg: close all channels on network removal

LEDE Commits lede-commits at lists.infradead.org
Mon Feb 16 00:20:59 PST 2026


nbd pushed a commit to openwrt/openwrt.git, branch openwrt-25.12:
https://git.openwrt.org/69a4ca5e4afdc122fa10ccd837ad0adafe17b642

commit 69a4ca5e4afdc122fa10ccd837ad0adafe17b642
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Fri Feb 6 09:30:49 2026 +0000

    unetmsg: close all channels on network removal
    
    network_close() only closed the listening socket without shutting down
    established RX/TX connections. This left remote state in
    core.remote_publish/core.remote_subscribe for hosts on the removed
    network, causing stale entries in channel listings and failed routing
    attempts.
    
    Close all RX and TX channels before removing the network, which also
    triggers remote state cleanup via network_rx_socket_close().
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
    (cherry picked from commit 389a79d97230fbd31de98a7f8896302ad284c114)
---
 .../unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc       | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc b/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
index 54e77596f1..f6b0ef2d59 100644
--- a/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
+++ b/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
@@ -449,6 +449,13 @@ function network_close(name)
 	net.timer.cancel();
 	net.handle.delete();
 	net.socket.close();
+
+	for (let peer, sock_data in net.rx_channels)
+		network_rx_socket_close(sock_data);
+
+	for (let peer, sock_data in net.tx_channels)
+		network_tx_socket_close(sock_data);
+
 	delete networks[name];
 }
 




More information about the lede-commits mailing list