aboutsummaryrefslogtreecommitdiffstats
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 01:23:41 +0100
commit8be6fc4df2e63aedaae5c5a00be5a419f48606c9 (patch)
tree5e4fad96fe32735f0f806c82dc04c22dc622aa71
parentf01bd13ca1d137c4ec32ba301c47afb69a839378 (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 a14e59f7c..620b6e4e0 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 7a48296ac..54978e50c 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 3cc86ba37..fff902d7a 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);
*/