This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: cosmetic: Hide all accesses to conn->bts behind conn_get_bts() ...................................................................... cosmetic: Hide all accesses to conn->bts behind conn_get_bts() This is a new inline function that hides all accesses to conn->bts. A follow-up patch will then point this to conn->lchan->ts->trx->bts to get rid of the bts field. Change-Id: Ib6cf7097ced34eebe80441c29ab1534f21956a33 --- M include/osmocom/bsc/gsm_data.h M src/libbsc/bsc_api.c M src/libbsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_api.c M src/osmo-bsc/osmo_bsc_audio.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_sigtran.c 8 files changed, 29 insertions(+), 22 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3cc3794..45fbcd2 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -98,6 +98,10 @@ struct gsm_classmark classmark; }; +static inline struct gsm_bts *conn_get_bts(struct gsm_subscriber_connection *conn) { + return conn->bts; +} + #include "gsm_data_shared.h" diff --git a/src/libbsc/bsc_api.c b/src/libbsc/bsc_api.c index 9ec51af..bd55dfc 100644 --- a/src/libbsc/bsc_api.c +++ b/src/libbsc/bsc_api.c @@ -214,7 +214,7 @@ chan_type = full_rate ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H; - new_lchan = lchan_alloc(conn->bts, chan_type, 0); + new_lchan = lchan_alloc(conn_get_bts(conn), chan_type, 0); if (!new_lchan) { LOGP(DMSC, LOGL_NOTICE, "No free channel.\n"); @@ -451,7 +451,7 @@ conn->lchan = conn->secondary_lchan; conn->secondary_lchan = NULL; - if (is_ipaccess_bts(conn->bts) && conn->lchan->tch_mode != GSM48_CMODE_SIGN) + if (is_ipaccess_bts(conn_get_bts(conn)) && conn->lchan->tch_mode != GSM48_CMODE_SIGN) rsl_ipacc_crcx(conn->lchan); api->assign_compl(conn, gh->data[0], diff --git a/src/libbsc/bsc_vty.c b/src/libbsc/bsc_vty.c index 7612eda..6d01109 100644 --- a/src/libbsc/bsc_vty.c +++ b/src/libbsc/bsc_vty.c @@ -1378,7 +1378,7 @@ /* Find the connection/lchan that we want to handover */ llist_for_each_entry(conn, &net->subscr_conns, entry) { - if (conn->bts->nr == bts_nr && + if (conn_get_bts(conn)->nr == bts_nr && conn->lchan->ts->trx->nr == trx_nr && conn->lchan->ts->nr == ts_nr && conn->lchan->nr == ss_nr) { vty_out(vty, "starting handover for lchan %s...%s", diff --git a/src/osmo-bsc/osmo_bsc_api.c b/src/osmo-bsc/osmo_bsc_api.c index a2a8630..1caaeee 100644 --- a/src/osmo-bsc/osmo_bsc_api.c +++ b/src/osmo-bsc/osmo_bsc_api.c @@ -115,7 +115,7 @@ req.black_list = NULL; req.access_lists = bsc_access_lists(); req.local_lst_name = msc->acc_lst_name; - req.global_lst_name = conn->bts->network->bsc_data->acc_lst_name; + req.global_lst_name = conn_get_bts(conn)->network->bsc_data->acc_lst_name; req.bsc_nr = 0; rc = bsc_msg_filter_initial(gh, msgb_l3len(msg), &req, @@ -136,7 +136,7 @@ req.black_list = NULL; req.access_lists = bsc_access_lists(); req.local_lst_name = conn->sccp_con->msc->acc_lst_name; - req.global_lst_name = conn->bts->network->bsc_data->acc_lst_name; + req.global_lst_name = conn_get_bts(conn)->network->bsc_data->acc_lst_name; req.bsc_nr = 0; rc = bsc_msg_filter_data(gh, msgb_l3len(msg), &req, @@ -228,7 +228,7 @@ if (!msc) { LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); bsc_send_ussd_no_srv(conn, msg, - conn->bts->network->bsc_data->ussd_no_msc_txt); + conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); return -1; } @@ -287,8 +287,8 @@ network_code = get_network_code_for_msc(conn->sccp_con->msc); country_code = get_country_code_for_msc(conn->sccp_con->msc); - lac = get_lac_for_msc(conn->sccp_con->msc, conn->bts); - ci = get_ci_for_msc(conn->sccp_con->msc, conn->bts); + lac = get_lac_for_msc(conn->sccp_con->msc, conn_get_bts(conn)); + ci = get_ci_for_msc(conn->sccp_con->msc, conn_get_bts(conn)); bsc_scan_bts_msg(conn, msg); @@ -383,7 +383,7 @@ /* * Check if the connection should be moved... */ - llist_for_each_entry(msc, &conn->bts->network->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &conn_get_bts(conn)->network->bsc_data->mscs, entry) { if (msc->type != MSC_CON_TYPE_LOCAL) continue; if (!msc->local_pref) @@ -435,7 +435,7 @@ struct msgb *resp; return_when_not_connected(conn); - if (is_ipaccess_bts(conn->bts) && conn->sccp_con->user_plane.rtp_ip) { + if (is_ipaccess_bts(conn_get_bts(conn)) && conn->sccp_con->user_plane.rtp_ip) { /* NOTE: In a network that makes use of an IPA base station * and AoIP, we have to wait until the BTS reports its RTP * IP/Port combination back to BSC via RSL. Unfortunately, the diff --git a/src/osmo-bsc/osmo_bsc_audio.c b/src/osmo-bsc/osmo_bsc_audio.c index 82367f0..433dc6c 100644 --- a/src/osmo-bsc/osmo_bsc_audio.c +++ b/src/osmo-bsc/osmo_bsc_audio.c @@ -85,7 +85,7 @@ * connection info */ LOGP(DMSC, LOGL_INFO,"RTP connection handover initiated...\n"); mgcp_handover(con->sccp_con->user_plane.mgcp_ctx, con->ho_lchan); - } else if (is_ipaccess_bts(con->bts) && con->sccp_con->user_plane.rtp_ip) { + } else if (is_ipaccess_bts(conn_get_bts(con)) && con->sccp_con->user_plane.rtp_ip) { /* NOTE: This is only relevant on AoIP networks with * IPA based base stations. See also osmo_bsc_api.c, * function bsc_assign_compl() */ diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 5a4031c..45861cc 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -436,7 +436,7 @@ goto reject; } - network = conn->conn->bts->network; + network = conn_get_bts(conn->conn)->network; data = TLVP_VAL(&tp, GSM0808_IE_ENCRYPTION_INFORMATION); enc_bits_msc = data[0]; enc_key = &data[1]; diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 17dddf8..56c0a9c 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -35,19 +35,20 @@ struct gsm48_loc_upd_req *lu; struct gsm48_loc_area_id lai; struct gsm_network *net; + struct gsm_bts *bts = conn_get_bts(conn); if (msgb_l3len(msg) < sizeof(*gh) + sizeof(*lu)) { LOGP(DMSC, LOGL_ERROR, "LU too small to look at: %u\n", msgb_l3len(msg)); return; } - net = conn->bts->network; + net = bts->network; gh = msgb_l3(msg); lu = (struct gsm48_loc_upd_req *) gh->data; gsm48_generate_lai(&lai, net->country_code, net->network_code, - conn->bts->location_area_code); + bts->location_area_code); if (memcmp(&lai, &lu->lai, sizeof(lai)) != 0) { LOGP(DMSC, LOGL_DEBUG, "Marking con for welcome USSD.\n"); @@ -105,7 +106,7 @@ return -1; } - paging_request_stop(&conn->network->bts_list, conn->bts, subscr, conn, + paging_request_stop(&conn->network->bts_list, conn_get_bts(conn), subscr, conn, msg); bsc_subscr_put(subscr); return 0; @@ -136,7 +137,7 @@ struct bsc_subscr *subscr; int is_emerg = 0; - bsc = conn->bts->network->bsc_data; + bsc = conn->network->bsc_data; if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DMSC, LOGL_ERROR, "There is no GSM48 header here.\n"); @@ -185,7 +186,7 @@ return NULL; } - pag_msc = paging_get_msc(conn->bts, subscr); + pag_msc = paging_get_msc(conn_get_bts(conn), subscr); bsc_subscr_put(subscr); llist_for_each_entry(msc, &bsc->mscs, entry) { @@ -260,7 +261,7 @@ { struct tlv_parsed tp; int parse_res; - struct gsm_bts *bts = conn->bts; + struct gsm_bts *bts = conn_get_bts(conn); int tzunits; uint8_t tzbsd = 0; uint8_t dst = 0; @@ -337,6 +338,7 @@ int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg) { struct bsc_msc_data *msc; + struct gsm_bts *bts = conn_get_bts(conn); struct gsm_network *net; struct gsm48_loc_area_id *lai; struct gsm48_hdr *gh; @@ -357,7 +359,7 @@ return 0; mtype = gsm48_hdr_msg_type(gh); - net = conn->bts->network; + net = bts->network; msc = conn->sccp_con->msc; if (mtype == GSM48_MT_MM_LOC_UPD_ACCEPT) { @@ -367,7 +369,7 @@ lai = (struct gsm48_loc_area_id *) &gh->data[0]; gsm48_generate_lai(lai, net->country_code, net->network_code, - conn->bts->location_area_code); + bts->location_area_code); } } diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 67f8703..19a36da 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -244,6 +244,7 @@ { struct osmo_ss7_instance *ss7; struct osmo_bsc_sccp_con *bsc_con; + struct gsm_bts *bts = conn_get_bts(conn); int conn_id; OSMO_ASSERT(conn); @@ -259,12 +260,12 @@ return BSC_CON_REJECT_NO_LINK; } - if (!bsc_grace_allow_new_connection(conn->bts->network, conn->bts)) { + if (!bsc_grace_allow_new_connection(bts->network, bts)) { LOGP(DMSC, LOGL_NOTICE, "BSC in grace period. No new connections.\n"); return BSC_CON_REJECT_RF_GRACE; } - bsc_con = talloc_zero(conn->bts, struct osmo_bsc_sccp_con); + bsc_con = talloc_zero(bts, struct osmo_bsc_sccp_con); if (!bsc_con) { LOGP(DMSC, LOGL_ERROR, "Failed to allocate new SIGTRAN connection.\n"); return BSC_CON_NO_MEM; -- To view, visit https://gerrit.osmocom.org/5510 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib6cf7097ced34eebe80441c29ab1534f21956a33 Gerrit-PatchSet: 6 Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder