From 1c5fcb07915a3e7769a6b7005a8f8736489f0261 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 29 Sep 2022 15:59:15 +0200 Subject: [PATCH] osmux: Keep decoding osmux pkt if a batch contains an unknown CID Receiving an unknown CID (for which we don't have an active conn) is totally expected at the end of the call, were some messages from the peer may be send for a while, specially if latency is high. If this occurs, we simply drop that batch and keep decoding the osmux message in order to keep delivering content to other circuits. Related: SYS#5987 Change-Id: I315949853bdcc07bef15d2e8579029cc72c427cf --- src/libosmo-mgcp/mgcp_osmux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index c3c8427ec..a4ce02431 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -443,7 +443,8 @@ static int osmux_read_fd_cb(struct osmo_fd *ofd, unsigned int what) LOGP(DOSMUX, LOGL_DEBUG, "Cannot find a src conn for circuit_id=%d\n", osmuxh->circuit_id); - goto out; + rem = msg->len; + continue; } endp = conn_src->conn->endp; mgcp_conn_watchdog_kick(conn_src->conn);