aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat/bsc_sccp.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/nat/bsc_sccp.c')
-rw-r--r--openbsc/src/nat/bsc_sccp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/openbsc/src/nat/bsc_sccp.c b/openbsc/src/nat/bsc_sccp.c
index 2edfc5983..4ef2d551b 100644
--- a/openbsc/src/nat/bsc_sccp.c
+++ b/openbsc/src/nat/bsc_sccp.c
@@ -204,11 +204,14 @@ struct sccp_connections *patch_sccp_src_ref_to_bsc(struct msgb *msg,
*/
struct sccp_connections *patch_sccp_src_ref_to_msc(struct msgb *msg,
struct bsc_nat_parsed *parsed,
- struct bsc_nat *nat)
+ struct bsc_connection *bsc)
{
struct sccp_connections *conn;
- llist_for_each_entry(conn, &nat->sccp_connections, list_entry) {
+ llist_for_each_entry(conn, &bsc->nat->sccp_connections, list_entry) {
+ if (conn->bsc != bsc)
+ continue;
+
if (parsed->src_local_ref) {
if (equal(parsed->src_local_ref, &conn->real_ref)) {
*parsed->src_local_ref = conn->patched_ref;