summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-02-02 01:07:28 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-02 03:13:02 +0100
commitd3270a9c053c33b7d460bf3f84f7975c06cace52 (patch)
tree69625e626c9768983e959546eff3dd35573676ce
parent5616cdde3ada142b948b2d5cc4342b0febca42dc (diff)
subscriber conn: add indicator for originating RAN
Add via_ran to gsm_subscriber_connection to indicate whether a conn is coming in via 2G/GERAN/A-Interface or 3G/UTRAN/Iu-Interface. Prepares for Iu, but also for libvlr to decide between GSM or UMTS Auth. Until actual Iu support is merged to master, this indicator will aid VLR unit testing. At some point we may also add RAN_GERAN_IU; it's not on the agenda yet, but to clearly distinguish the names if we want to add it, explicitly name the ones we have RAN_GERAN_A and RAN_UTRAN_IU. Change-Id: I93b870522f725170e4265a5543f6b680383d7465
-rw-r--r--openbsc/include/openbsc/gsm_data.h8
-rw-r--r--openbsc/src/libbsc/bsc_api.c1
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c2
3 files changed, 10 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index a14e59f..620b6e4 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -106,6 +106,12 @@ struct neigh_meas_proc {
uint8_t last_seen_nr;
};
+enum ran_type {
+ RAN_UNKNOWN,
+ RAN_GERAN_A, /* 2G / A-interface */
+ RAN_UTRAN_IU, /* 3G / Iu-interface (IuCS or IuPS) */
+};
+
/* active radio connection of a mobile subscriber */
struct gsm_subscriber_connection {
struct llist_head entry;
@@ -148,6 +154,8 @@ struct gsm_subscriber_connection {
struct osmo_timer_list T10; /* BSC */
struct gsm_lchan *secondary_lchan; /* BSC */
+ /* connected via 2G or 3G? */
+ enum ran_type via_ran;
};
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
index 7a48296..54978e5 100644
--- a/openbsc/src/libbsc/bsc_api.c
+++ b/openbsc/src/libbsc/bsc_api.c
@@ -251,6 +251,7 @@ struct gsm_subscriber_connection *bsc_subscr_con_allocate(struct gsm_lchan *lcha
conn->network = net;
conn->lchan = lchan;
conn->bts = lchan->ts->trx->bts;
+ conn->via_ran = RAN_GERAN_A;
lchan->conn = conn;
llist_add_tail(&conn->entry, &net->subscr_conns);
return conn;
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 3cc86ba..fff902d 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1235,7 +1235,7 @@ static int gsm48_rx_mm_auth_resp(struct gsm_subscriber_connection *conn, struct
osmo_hexdump_nospc(res, res_len));
/* Future: vlr_sub_rx_auth_resp(conn->vsub, is_r99,
- * conn->via_iface == IFACE_IU,
+ * conn->via_ran == RAN_UTRAN_IU,
* res, res_len);
*/