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
This commit is contained in:
Neels Hofmeyr 2017-02-02 01:07:28 +01:00
parent 5616cdde3a
commit d3270a9c05
3 changed files with 10 additions and 1 deletions

View File

@ -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;
};

View File

@ -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;

View File

@ -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);
*/