aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-07-08 14:41:22 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2019-07-08 15:23:23 +0200
commit0fb9206c6a4032233a505267cc67d0e4f915a584 (patch)
tree35a9a409c57cc017a2746dd51c8cccfe4e06409b
parent58e01af8657524c687ac864744738e98981e2271 (diff)
make bsc_clear_request() static
bsc_clear_request() is in fact used only within gsm_08_08.c, make it static to that file. Since the gscon FSM, "real" BSSMAP Clear are sent only by gscon_bssmap_clear(). bsc_clear_request() remains in use for legacy code paths in gsm_08_08.c: - the bsc_filter, i.e. for IMSI filtering; - in move_to_msc(), from handle_cc_setup(), a code path that is in fact not entirely clear to me. It seems to be an old functionality to serve multiple MSCs? Both of which I personally haven't seen in use, are not tested and should probably be completely removed. For now contain legacy code in the static context. Adjust comment. Change-Id: Ic89d0afad42e4b11183a13d2dc6b7bbf0b822fd9
-rw-r--r--include/osmocom/bsc/gsm_08_08.h1
-rw-r--r--src/osmo-bsc/gsm_08_08.c6
-rw-r--r--tests/bsc/bsc_test.c2
-rw-r--r--tests/handover/handover_test.c2
4 files changed, 4 insertions, 7 deletions
diff --git a/include/osmocom/bsc/gsm_08_08.h b/include/osmocom/bsc/gsm_08_08.h
index 524129560..b46a8d306 100644
--- a/include/osmocom/bsc/gsm_08_08.h
+++ b/include/osmocom/bsc/gsm_08_08.h
@@ -10,7 +10,6 @@ void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci);
void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn, struct msgb *msg, uint8_t chosen_encr);
int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel);
void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg);
-int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause);
void bsc_cm_update(struct gsm_subscriber_connection *conn,
const uint8_t *cm2, uint8_t cm2_len,
const uint8_t *cm3, uint8_t cm3_len);
diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 2c6a6892a..6ca5455f6 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -509,6 +509,8 @@ early_fail:
return false;
}
+static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause);
+
/*
* Plastic surgery... we want to give up the current connection
*/
@@ -635,8 +637,8 @@ done:
return;
}
-/*! BSC->MSC: RR conn has been cleared. */
-int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause)
+/*! BSSMAP Clear Request for legacy code paths, instead see gscon_bssmap_clear(). */
+static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause)
{
int rc;
struct msgb *resp;
diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c
index 8e88ba82f..492f0c5a1 100644
--- a/tests/bsc/bsc_test.c
+++ b/tests/bsc/bsc_test.c
@@ -243,8 +243,6 @@ int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint1
void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) {}
void bsc_assign_compl(struct gsm_subscriber_connection *conn, uint8_t rr_cause) {}
void bsc_assign_fail(struct gsm_subscriber_connection *conn, uint8_t cause, uint8_t *rr_cause) {}
-int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause)
-{ return 0; }
void bsc_cm_update(struct gsm_subscriber_connection *conn,
const uint8_t *cm2, uint8_t cm2_len,
const uint8_t *cm3, uint8_t cm3_len) {}
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index a8a77be0c..bedf6f986 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -1779,8 +1779,6 @@ int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint1
{ return 0; }
void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) {}
void bsc_assign_compl(struct gsm_subscriber_connection *conn, uint8_t rr_cause) {}
-int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause)
-{ return 0; }
void bsc_cm_update(struct gsm_subscriber_connection *conn,
const uint8_t *cm2, uint8_t cm2_len,
const uint8_t *cm3, uint8_t cm3_len) {}