pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40402?usp=email )
Change subject: sccp_scoc: Match local conn by src_ref, not dest_ref ......................................................................
sccp_scoc: Match local conn by src_ref, not dest_ref
SCRC Routing Failure is dispatched when a local SCCP Connection Oriented message fails to be routed to a peer. Hence, in order to figure out if the msg belons to a local conn, we need to use the src_ref (the sender), not the dst_ref (the peer's id).
As a result, event SCOC_E_RCOC_ROUT_FAIL_IND was potentially being set to the wrong connection FSM.
(cherry picked from commit 0a5161a0a8922a383e9478340a46c139428ed343) Change-Id: Ic3bc75ca30e78e831d3d8b80c477338eab6a3b0f --- M src/sccp_scoc.c 1 file changed, 1 insertion(+), 1 deletion(-)
Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified
diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index c11dddf..0b6bd98 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -1545,7 +1545,7 @@ xua_hdr_dump(xua, &xua_dialect_sua));
/* try to dispatch to connection FSM (if any) */ - conn_id = xua_msg_get_u32(xua, SUA_IEI_DEST_REF); + conn_id = xua_msg_get_u32(xua, SUA_IEI_SRC_REF); conn = conn_find_by_id(inst, conn_id); if (conn) { osmo_fsm_inst_dispatch(conn->fi,