aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-24 22:26:15 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-24 22:26:15 +0800
commitcd7bed532701a81cf4a648d59ff8ae00424df672 (patch)
tree53b8de485d3713d6314356e1f5a82be084d86c79 /openbsc
parent83594c1f2c891bdabf510ee985b311e13eb73cda (diff)
bsc: Remember the MSC connection we use for that connection
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/gsm_data.h3
-rw-r--r--openbsc/src/bsc_msc_ip.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index eb9f0735e..5d5993364 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -145,6 +145,9 @@ struct bss_sccp_connection_data {
struct llist_head sccp_queue;
unsigned int sccp_queue_size;
+ /* which msc connection to use? */
+ struct bsc_msc_connection *msc_con;
+
/* Active connections */
struct llist_head active_connections;
};
diff --git a/openbsc/src/bsc_msc_ip.c b/openbsc/src/bsc_msc_ip.c
index 37b6e7f50..ea78a52f7 100644
--- a/openbsc/src/bsc_msc_ip.c
+++ b/openbsc/src/bsc_msc_ip.c
@@ -326,6 +326,9 @@ static int open_sccp_connection(struct msgb *layer3)
con_data->lchan = layer3->lchan;
con_data->sccp = sccp_connection;
+ /* assign the outgoing msc connection */
+ con_data->msc_con = bsc_gsmnet->msc_con;
+
sccp_connection->state_cb = msc_outgoing_sccp_state;
sccp_connection->data_cb = msc_outgoing_sccp_data;
sccp_connection->data_ctx = con_data;