mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 08:12:01 +00:00
move subscriber conns list into struct gsm_network.
Replace the global sub_connections llist with gsm_network.subscr_conns. Initialize and apply where applicable. Remove bsc_api_sub_connections().
This commit is contained in:
@@ -52,6 +52,4 @@ int gsm0808_page(struct gsm_bts *bts, unsigned int page_group,
|
||||
unsigned int mi_len, uint8_t *mi, int chan_type);
|
||||
int gsm0808_clear(struct gsm_subscriber_connection *conn);
|
||||
|
||||
struct llist_head *bsc_api_sub_connections(struct gsm_network *net);
|
||||
|
||||
#endif
|
||||
|
@@ -291,6 +291,9 @@ struct gsm_network {
|
||||
|
||||
/* control interface */
|
||||
struct ctrl_handle *ctrl;
|
||||
|
||||
/* all active subscriber connections. */
|
||||
struct llist_head subscr_conns;
|
||||
};
|
||||
|
||||
struct osmo_esme;
|
||||
|
@@ -242,8 +242,9 @@ static int handle_new_assignment(struct gsm_subscriber_connection *conn, int cha
|
||||
struct gsm_subscriber_connection *subscr_con_allocate(struct gsm_lchan *lchan)
|
||||
{
|
||||
struct gsm_subscriber_connection *conn;
|
||||
struct gsm_network *network = lchan->ts->trx->bts->network;
|
||||
|
||||
conn = talloc_zero(lchan->ts->trx->bts->network, struct gsm_subscriber_connection);
|
||||
conn = talloc_zero(network, struct gsm_subscriber_connection);
|
||||
if (!conn)
|
||||
return NULL;
|
||||
|
||||
@@ -251,7 +252,7 @@ struct gsm_subscriber_connection *subscr_con_allocate(struct gsm_lchan *lchan)
|
||||
conn->lchan = lchan;
|
||||
conn->bts = lchan->ts->trx->bts;
|
||||
lchan->conn = conn;
|
||||
llist_add_tail(&conn->entry, &sub_connections);
|
||||
llist_add_tail(&conn->entry, &network->subscr_conns);
|
||||
return conn;
|
||||
}
|
||||
|
||||
@@ -873,7 +874,3 @@ static __attribute__((constructor)) void on_dso_load_bsc(void)
|
||||
osmo_signal_register_handler(SS_LCHAN, bsc_handle_lchan_signal, NULL);
|
||||
}
|
||||
|
||||
struct llist_head *bsc_api_sub_connections(struct gsm_network *net)
|
||||
{
|
||||
return &sub_connections;
|
||||
}
|
||||
|
@@ -71,6 +71,7 @@ struct gsm_network *gsm_network_init(uint16_t country_code, uint16_t network_cod
|
||||
INIT_LLIST_HEAD(&net->trans_list);
|
||||
INIT_LLIST_HEAD(&net->upqueue);
|
||||
INIT_LLIST_HEAD(&net->bts_list);
|
||||
INIT_LLIST_HEAD(&net->subscr_conns);
|
||||
|
||||
net->stats.chreq.total = osmo_counter_alloc("net.chreq.total");
|
||||
net->stats.chreq.no_channel = osmo_counter_alloc("net.chreq.no_channel");
|
||||
|
@@ -583,7 +583,7 @@ static int set_net_ussd_notify(struct ctrl_cmd *cmd, void *data)
|
||||
alert = atoi(alert_str);
|
||||
|
||||
net = cmd->node;
|
||||
llist_for_each_entry(conn, bsc_api_sub_connections(net), entry) {
|
||||
llist_for_each_entry(conn, &net->subscr_conns, entry) {
|
||||
if (!conn->sccp_con)
|
||||
continue;
|
||||
|
||||
|
Reference in New Issue
Block a user