<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20650">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">cosmetic: shorten: add g_smlc macro for 'bsc_gsmnet->smlc'<br><br>Change-Id: I28058db2ac77ea176398764733e3ef86ef6ff06d<br>---<br>M include/osmocom/bsc/lb.h<br>M src/osmo-bsc/bsc_sccp.c<br>M src/osmo-bsc/lb.c<br>M src/osmo-bsc/lcs_loc_req.c<br>4 files changed, 88 insertions(+), 86 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/20650/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/lb.h b/include/osmocom/bsc/lb.h</span><br><span>index dbea0b0..00a6c65 100644</span><br><span>--- a/include/osmocom/bsc/lb.h</span><br><span>+++ b/include/osmocom/bsc/lb.h</span><br><span>@@ -9,6 +9,8 @@</span><br><span> struct bssap_le_pdu;</span><br><span> struct gsm_subscriber_connection;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define g_smlc (bsc_gsmnet->smlc)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> enum {</span><br><span> SMLC_CTR_BSSMAP_LE_RX_UNKNOWN_PEER,</span><br><span> SMLC_CTR_BSSMAP_LE_RX_UDT_RESET,</span><br><span>diff --git a/src/osmo-bsc/bsc_sccp.c b/src/osmo-bsc/bsc_sccp.c</span><br><span>index 0cd1dc9..2370c90 100644</span><br><span>--- a/src/osmo-bsc/bsc_sccp.c</span><br><span>+++ b/src/osmo-bsc/bsc_sccp.c</span><br><span>@@ -48,7 +48,7 @@</span><br><span> }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->sccp == sccp</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->sccp == sccp</span><br><span> && conn->lcs.lb.state != SUBSCR_SCCP_ST_NONE) {</span><br><span> if (conn_id == conn->lcs.lb.conn_id) {</span><br><span> conn_id_already_used = true;</span><br><span>diff --git a/src/osmo-bsc/lb.c b/src/osmo-bsc/lb.c</span><br><span>index 654f261..ade2c17 100644</span><br><span>--- a/src/osmo-bsc/lb.c</span><br><span>+++ b/src/osmo-bsc/lb.c</span><br><span>@@ -58,14 +58,14 @@</span><br><span> },</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- ss7 = osmo_ss7_instance_find(bsc_gsmnet->smlc->cs7_instance);</span><br><span style="color: hsl(120, 100%, 40%);">+ ss7 = osmo_ss7_instance_find(g_smlc->cs7_instance);</span><br><span> OSMO_ASSERT(ss7);</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DRESET, LOGL_INFO, "Sending RESET to SMLC: %s\n", osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DRESET, LOGL_INFO, "Sending RESET to SMLC: %s\n", osmo_sccp_addr_name(ss7, &g_smlc->smlc_addr));</span><br><span> msg = osmo_bssap_le_enc(&reset);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET]);</span><br><span style="color: hsl(0, 100%, 40%);">- return osmo_sccp_tx_unitdata_msg(bsc_gsmnet->smlc->sccp_user, &bsc_gsmnet->smlc->bsc_addr,</span><br><span style="color: hsl(0, 100%, 40%);">- &bsc_gsmnet->smlc->smlc_addr, msg);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET]);</span><br><span style="color: hsl(120, 100%, 40%);">+ return osmo_sccp_tx_unitdata_msg(g_smlc->sccp_user, &g_smlc->bsc_addr,</span><br><span style="color: hsl(120, 100%, 40%);">+ &g_smlc->smlc_addr, msg);</span><br><span> }</span><br><span> </span><br><span> /* Send reset-ack to SMLC */</span><br><span>@@ -80,14 +80,14 @@</span><br><span> },</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- ss7 = osmo_ss7_instance_find(bsc_gsmnet->smlc->cs7_instance);</span><br><span style="color: hsl(120, 100%, 40%);">+ ss7 = osmo_ss7_instance_find(g_smlc->cs7_instance);</span><br><span> OSMO_ASSERT(ss7);</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DRESET, LOGL_NOTICE, "Sending RESET ACK to SMLC: %s\n", osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(DRESET, LOGL_NOTICE, "Sending RESET ACK to SMLC: %s\n", osmo_sccp_addr_name(ss7, &g_smlc->smlc_addr));</span><br><span> msg = osmo_bssap_le_enc(&reset_ack);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET_ACK]);</span><br><span style="color: hsl(0, 100%, 40%);">- return osmo_sccp_tx_unitdata_msg(bsc_gsmnet->smlc->sccp_user, &bsc_gsmnet->smlc->bsc_addr,</span><br><span style="color: hsl(0, 100%, 40%);">- &bsc_gsmnet->smlc->smlc_addr, msg);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_UDT_RESET_ACK]);</span><br><span style="color: hsl(120, 100%, 40%);">+ return osmo_sccp_tx_unitdata_msg(g_smlc->sccp_user, &g_smlc->bsc_addr,</span><br><span style="color: hsl(120, 100%, 40%);">+ &g_smlc->smlc_addr, msg);</span><br><span> }</span><br><span> </span><br><span> static int handle_unitdata_from_smlc(const struct osmo_sccp_addr *smlc_addr, struct msgb *msg,</span><br><span>@@ -96,12 +96,12 @@</span><br><span> struct osmo_ss7_instance *ss7;</span><br><span> struct bssap_le_pdu bssap_le;</span><br><span> struct osmo_bssap_le_err *err;</span><br><span style="color: hsl(0, 100%, 40%);">- struct rate_ctr *ctr = bsc_gsmnet->smlc->ctrs->ctr;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct rate_ctr *ctr = g_smlc->ctrs->ctr;</span><br><span> </span><br><span> ss7 = osmo_sccp_get_ss7(osmo_sccp_get_sccp(scu));</span><br><span> OSMO_ASSERT(ss7);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (osmo_sccp_addr_cmp(smlc_addr, &bsc_gsmnet->smlc->smlc_addr, OSMO_SCCP_ADDR_T_MASK)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (osmo_sccp_addr_cmp(smlc_addr, &g_smlc->smlc_addr, OSMO_SCCP_ADDR_T_MASK)) {</span><br><span> LOGP(DLCS, LOGL_ERROR, "Rx BSSMAP-LE UnitData from unknown remote address: %s\n",</span><br><span> osmo_sccp_addr_name(ss7, smlc_addr));</span><br><span> rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UNKNOWN_PEER]);</span><br><span>@@ -123,12 +123,12 @@</span><br><span> case BSSMAP_LE_MSGT_RESET:</span><br><span> rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_RESET]);</span><br><span> LOGP(DLCS, LOGL_NOTICE, "RESET from SMLC: %s\n", osmo_sccp_addr_name(ss7, smlc_addr));</span><br><span style="color: hsl(0, 100%, 40%);">- return osmo_fsm_inst_dispatch(bsc_gsmnet->smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+ return osmo_fsm_inst_dispatch(g_smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET, NULL);</span><br><span> </span><br><span> case BSSMAP_LE_MSGT_RESET_ACK:</span><br><span> rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_RESET_ACK]);</span><br><span> LOGP(DLCS, LOGL_NOTICE, "RESET-ACK from SMLC: %s\n", osmo_sccp_addr_name(ss7, smlc_addr));</span><br><span style="color: hsl(0, 100%, 40%);">- return osmo_fsm_inst_dispatch(bsc_gsmnet->smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET_ACK, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+ return osmo_fsm_inst_dispatch(g_smlc->bssmap_reset->fi, BSSMAP_RESET_EV_RX_RESET_ACK, NULL);</span><br><span> </span><br><span> default:</span><br><span> rate_ctr_inc(&ctr[SMLC_CTR_BSSMAP_LE_RX_UDT_ERR_INVALID_MSG]);</span><br><span>@@ -236,23 +236,23 @@</span><br><span> return -EINVAL;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- conn_id = bsc_sccp_inst_next_conn_id(bsc_gsmnet->smlc->sccp);</span><br><span style="color: hsl(120, 100%, 40%);">+ conn_id = bsc_sccp_inst_next_conn_id(g_smlc->sccp);</span><br><span> if (conn_id < 0) {</span><br><span> LOGPFSMSL(conn->fi, DLCS, LOGL_ERROR, "Unable to allocate SCCP Connection ID for BSSMAP-LE to SMLC\n");</span><br><span> return -ENOSPC;</span><br><span> }</span><br><span> conn->lcs.lb.conn_id = conn_id;</span><br><span style="color: hsl(0, 100%, 40%);">- ss7 = osmo_ss7_instance_find(bsc_gsmnet->smlc->cs7_instance);</span><br><span style="color: hsl(120, 100%, 40%);">+ ss7 = osmo_ss7_instance_find(g_smlc->cs7_instance);</span><br><span> OSMO_ASSERT(ss7);</span><br><span> LOGPFSMSL(conn->fi, DLCS, LOGL_INFO, "Opening new SCCP connection (id=%i) to SMLC: %s\n", conn_id,</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_sccp_addr_name(ss7, &bsc_gsmnet->smlc->smlc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_sccp_addr_name(ss7, &g_smlc->smlc_addr));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- rc = osmo_sccp_tx_conn_req_msg(bsc_gsmnet->smlc->sccp_user, conn_id, &bsc_gsmnet->smlc->bsc_addr,</span><br><span style="color: hsl(0, 100%, 40%);">- &bsc_gsmnet->smlc->smlc_addr, msg);</span><br><span style="color: hsl(120, 100%, 40%);">+ rc = osmo_sccp_tx_conn_req_msg(g_smlc->sccp_user, conn_id, &g_smlc->bsc_addr,</span><br><span style="color: hsl(120, 100%, 40%);">+ &g_smlc->smlc_addr, msg);</span><br><span> if (rc >= 0)</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]);</span><br><span> else</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]);</span><br><span> if (rc >= 0)</span><br><span> conn->lcs.lb.state = SUBSCR_SCCP_ST_WAIT_CONN_CONF;</span><br><span> </span><br><span>@@ -263,7 +263,7 @@</span><br><span> {</span><br><span> if (conn->lcs.lb.state == SUBSCR_SCCP_ST_NONE)</span><br><span> return;</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_sccp_tx_disconn(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn_id, &bsc_gsmnet->smlc->bsc_addr, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_sccp_tx_disconn(g_smlc->sccp_user, conn->lcs.lb.conn_id, &g_smlc->bsc_addr, 0);</span><br><span> conn->lcs.lb.state = SUBSCR_SCCP_ST_NONE;</span><br><span> }</span><br><span> </span><br><span>@@ -275,7 +275,7 @@</span><br><span> </span><br><span> OSMO_ASSERT(conn);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!bssmap_reset_is_conn_ready(bsc_gsmnet->smlc->bssmap_reset)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!bssmap_reset_is_conn_ready(g_smlc->bssmap_reset)) {</span><br><span> LOGPFSMSL(conn->fi, DLCS, LOGL_ERROR, "Lb link to SMLC is not ready (no RESET-ACK), cannot send %s\n",</span><br><span> osmo_bssap_le_pdu_to_str_c(OTC_SELECT, bssap_le));</span><br><span> /* If the remote side was lost, make sure that the SCCP conn is discarded in the local state and towards</span><br><span>@@ -297,11 +297,11 @@</span><br><span> }</span><br><span> </span><br><span> LOGPFSMSL(conn->fi, DLCS, LOGL_DEBUG, "Tx %s\n", osmo_bssap_le_pdu_to_str_c(OTC_SELECT, bssap_le));</span><br><span style="color: hsl(0, 100%, 40%);">- rc = osmo_sccp_tx_data_msg(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn_id, msg);</span><br><span style="color: hsl(120, 100%, 40%);">+ rc = osmo_sccp_tx_data_msg(g_smlc->sccp_user, conn->lcs.lb.conn_id, msg);</span><br><span> if (rc >= 0)</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_SUCCESS]);</span><br><span> else</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_ERR_SEND]);</span><br><span> </span><br><span> count_tx:</span><br><span> if (rc < 0)</span><br><span>@@ -309,24 +309,24 @@</span><br><span> </span><br><span> switch (bssap_le->bssmap_le.msg_type) {</span><br><span> case BSSMAP_LE_MSGT_PERFORM_LOC_REQ:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_REQUEST]);</span><br><span> break;</span><br><span> case BSSMAP_LE_MSGT_PERFORM_LOC_ABORT:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_ABORT]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_PERFORM_LOCATION_ABORT]);</span><br><span> break;</span><br><span> case BSSMAP_LE_MSGT_CONN_ORIENTED_INFO:</span><br><span> switch (bssap_le->bssmap_le.conn_oriented_info.apdu.msg_type) {</span><br><span> case BSSLAP_MSGT_TA_RESPONSE:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_TA_RESPONSE]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_TA_RESPONSE]);</span><br><span> break;</span><br><span> case BSSLAP_MSGT_REJECT:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_REJECT]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_REJECT]);</span><br><span> break;</span><br><span> case BSSLAP_MSGT_RESET:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_RESET]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_RESET]);</span><br><span> break;</span><br><span> case BSSLAP_MSGT_ABORT:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_ABORT]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_TX_DT1_BSSLAP_ABORT]);</span><br><span> break;</span><br><span> default:</span><br><span> break;</span><br><span>@@ -391,12 +391,12 @@</span><br><span> },</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->bssmap_reset) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->bssmap_reset) {</span><br><span> LOGP(DLCS, LOGL_ERROR, "will not allocate a second reset FSM for Lb\n");</span><br><span> return;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->bssmap_reset = bssmap_reset_alloc(bsc_gsmnet, "Lb", &cfg);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->bssmap_reset = bssmap_reset_alloc(bsc_gsmnet, "Lb", &cfg);</span><br><span> }</span><br><span> </span><br><span> static int lb_start()</span><br><span>@@ -409,20 +409,20 @@</span><br><span> const char *smlc_name = "smlc";</span><br><span> </span><br><span> /* Already set up? */</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->sccp_user)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->sccp_user)</span><br><span> return -EALREADY;</span><br><span> </span><br><span> LOGP(DLCS, LOGL_INFO, "Starting Lb link\n");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!bsc_gsmnet->smlc->cs7_instance_valid) {</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!g_smlc->cs7_instance_valid) {</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->cs7_instance = 0;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- cs7_inst = osmo_ss7_instance_find_or_create(tall_bsc_ctx, bsc_gsmnet->smlc->cs7_instance);</span><br><span style="color: hsl(120, 100%, 40%);">+ cs7_inst = osmo_ss7_instance_find_or_create(tall_bsc_ctx, g_smlc->cs7_instance);</span><br><span> OSMO_ASSERT(cs7_inst);</span><br><span> </span><br><span> /* If unset, use default SCCP address for the SMLC */</span><br><span style="color: hsl(0, 100%, 40%);">- if (!bsc_gsmnet->smlc->smlc_addr.presence)</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_sccp_make_addr_pc_ssn(&bsc_gsmnet->smlc->smlc_addr,</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!g_smlc->smlc_addr.presence)</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_sccp_make_addr_pc_ssn(&g_smlc->smlc_addr,</span><br><span> osmo_ss7_pointcode_parse(NULL, SMLC_DEFAULT_PC),</span><br><span> OSMO_SCCP_SSN_SMLC_BSSAP_LE);</span><br><span> </span><br><span>@@ -439,34 +439,34 @@</span><br><span> 0, DEFAULT_ASP_REMOTE_IP);</span><br><span> if (!sccp)</span><br><span> return -EINVAL;</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->sccp = sccp;</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->sccp = sccp;</span><br><span> </span><br><span> /* If unset, use default local SCCP address */</span><br><span style="color: hsl(0, 100%, 40%);">- if (!bsc_gsmnet->smlc->bsc_addr.presence)</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_sccp_local_addr_by_instance(&bsc_gsmnet->smlc->bsc_addr, sccp,</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!g_smlc->bsc_addr.presence)</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_sccp_local_addr_by_instance(&g_smlc->bsc_addr, sccp,</span><br><span> OSMO_SCCP_SSN_BSC_BSSAP_LE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!osmo_sccp_check_addr(&bsc_gsmnet->smlc->bsc_addr, OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!osmo_sccp_check_addr(&g_smlc->bsc_addr, OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC)) {</span><br><span> LOGP(DLCS, LOGL_ERROR,</span><br><span> "%s %s: invalid local (BSC) SCCP address: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &bsc_gsmnet->smlc->bsc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &g_smlc->bsc_addr));</span><br><span> return -EINVAL;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!osmo_sccp_check_addr(&bsc_gsmnet->smlc->smlc_addr, OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!osmo_sccp_check_addr(&g_smlc->smlc_addr, OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC)) {</span><br><span> LOGP(DLCS, LOGL_ERROR,</span><br><span> "%s %s: invalid remote (SMLC) SCCP address: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &bsc_gsmnet->smlc->smlc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &g_smlc->smlc_addr));</span><br><span> return -EINVAL;</span><br><span> }</span><br><span> </span><br><span> LOGP(DLCS, LOGL_NOTICE, "Lb: %s %s: local (BSC) SCCP address: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &bsc_gsmnet->smlc->bsc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &g_smlc->bsc_addr));</span><br><span> LOGP(DLCS, LOGL_NOTICE, "Lb: %s %s: remote (SMLC) SCCP address: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">- inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &bsc_gsmnet->smlc->smlc_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+ inst_name, smlc_name, osmo_sccp_inst_addr_name(sccp, &g_smlc->smlc_addr));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->sccp_user = osmo_sccp_user_bind(sccp, smlc_name, sccp_sap_up, bsc_gsmnet->smlc->bsc_addr.ssn);</span><br><span style="color: hsl(0, 100%, 40%);">- if (!bsc_gsmnet->smlc->sccp_user)</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->sccp_user = osmo_sccp_user_bind(sccp, smlc_name, sccp_sap_up, g_smlc->bsc_addr.ssn);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!g_smlc->sccp_user)</span><br><span> return -EINVAL;</span><br><span> </span><br><span> lb_start_reset_fsm();</span><br><span>@@ -476,21 +476,21 @@</span><br><span> static int lb_stop()</span><br><span> {</span><br><span> /* Not set up? */</span><br><span style="color: hsl(0, 100%, 40%);">- if (!bsc_gsmnet->smlc->sccp_user)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!g_smlc->sccp_user)</span><br><span> return -EALREADY;</span><br><span> </span><br><span> LOGP(DLCS, LOGL_INFO, "Shutting down Lb link\n");</span><br><span> </span><br><span> lb_cancel_all();</span><br><span style="color: hsl(0, 100%, 40%);">- osmo_sccp_user_unbind(bsc_gsmnet->smlc->sccp_user);</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->sccp_user = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_sccp_user_unbind(g_smlc->sccp_user);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->sccp_user = NULL;</span><br><span> return 0;</span><br><span> }</span><br><span> </span><br><span> int lb_start_or_stop()</span><br><span> {</span><br><span> int rc;</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->enable) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->enable) {</span><br><span> rc = lb_start();</span><br><span> switch (rc) {</span><br><span> case 0:</span><br><span>@@ -524,10 +524,10 @@</span><br><span> </span><br><span> int lb_init()</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(!bsc_gsmnet->smlc);</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc = talloc_zero(bsc_gsmnet, struct smlc_config);</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(bsc_gsmnet->smlc);</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->ctrs = rate_ctr_group_alloc(bsc_gsmnet, &smlc_ctrg_desc, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(!g_smlc);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc = talloc_zero(bsc_gsmnet, struct smlc_config);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(g_smlc);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->ctrs = rate_ctr_group_alloc(bsc_gsmnet, &smlc_ctrg_desc, 0);</span><br><span> </span><br><span> smlc_vty_init();</span><br><span> return 0;</span><br><span>@@ -554,7 +554,7 @@</span><br><span> "enable",</span><br><span> "Start up Lb interface connection to the remote SMLC\n")</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->enable = true;</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->enable = true;</span><br><span> if (vty->type != VTY_FILE) {</span><br><span> if (lb_start_or_stop())</span><br><span> vty_out(vty, "%% Error: failed to enable Lb interface%s", VTY_NEWLINE);</span><br><span>@@ -566,7 +566,7 @@</span><br><span> "no enable",</span><br><span> NO_STR "Stop Lb interface connection to the remote SMLC\n")</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->enable = false;</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->enable = false;</span><br><span> if (vty->type != VTY_FILE) {</span><br><span> if (lb_start_or_stop())</span><br><span> vty_out(vty, "%% Error: failed to disable Lb interface%s", VTY_NEWLINE);</span><br><span>@@ -595,25 +595,25 @@</span><br><span> const char *bsc_addr_name = argv[0];</span><br><span> struct osmo_ss7_instance *ss7;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- ss7 = osmo_sccp_addr_by_name(&bsc_gsmnet->smlc->bsc_addr, bsc_addr_name);</span><br><span style="color: hsl(120, 100%, 40%);">+ ss7 = osmo_sccp_addr_by_name(&g_smlc->bsc_addr, bsc_addr_name);</span><br><span> if (!ss7) {</span><br><span> vty_out(vty, "Error: No such SCCP addressbook entry: '%s'%s", bsc_addr_name, VTY_NEWLINE);</span><br><span> return CMD_ERR_INCOMPLETE;</span><br><span> }</span><br><span> </span><br><span> /* Prevent mixing addresses from different CS7 instances */</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->cs7_instance_valid</span><br><span style="color: hsl(0, 100%, 40%);">- && bsc_gsmnet->smlc->cs7_instance != ss7->cfg.id) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->cs7_instance_valid</span><br><span style="color: hsl(120, 100%, 40%);">+ && g_smlc->cs7_instance != ss7->cfg.id) {</span><br><span> vty_out(vty,</span><br><span> "Error: SCCP addressbook entry from mismatching CS7 instance: '%s'%s",</span><br><span> bsc_addr_name, VTY_NEWLINE);</span><br><span> return CMD_WARNING;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance_valid = true;</span><br><span style="color: hsl(0, 100%, 40%);">- enforce_ssn(vty, &bsc_gsmnet->smlc->bsc_addr, OSMO_SCCP_SSN_BSC_BSSAP_LE);</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->bsc_addr_name = talloc_strdup(bsc_gsmnet, bsc_addr_name);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->cs7_instance_valid = true;</span><br><span style="color: hsl(120, 100%, 40%);">+ enforce_ssn(vty, &g_smlc->bsc_addr, OSMO_SCCP_SSN_BSC_BSSAP_LE);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->bsc_addr_name = talloc_strdup(bsc_gsmnet, bsc_addr_name);</span><br><span> return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>@@ -625,15 +625,15 @@</span><br><span> const char *smlc_addr_name = argv[0];</span><br><span> struct osmo_ss7_instance *ss7;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- ss7 = osmo_sccp_addr_by_name(&bsc_gsmnet->smlc->smlc_addr, smlc_addr_name);</span><br><span style="color: hsl(120, 100%, 40%);">+ ss7 = osmo_sccp_addr_by_name(&g_smlc->smlc_addr, smlc_addr_name);</span><br><span> if (!ss7) {</span><br><span> vty_out(vty, "Error: No such SCCP addressbook entry: '%s'%s", smlc_addr_name, VTY_NEWLINE);</span><br><span> return CMD_ERR_INCOMPLETE;</span><br><span> }</span><br><span> </span><br><span> /* Prevent mixing addresses from different CS7/SS7 instances */</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->cs7_instance_valid) {</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->cs7_instance != ss7->cfg.id) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->cs7_instance_valid) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->cs7_instance != ss7->cfg.id) {</span><br><span> vty_out(vty,</span><br><span> "Error: SCCP addressbook entry from mismatching CS7 instance: '%s'%s",</span><br><span> smlc_addr_name, VTY_NEWLINE);</span><br><span>@@ -641,33 +641,33 @@</span><br><span> }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->cs7_instance_valid = true;</span><br><span style="color: hsl(0, 100%, 40%);">- enforce_ssn(vty, &bsc_gsmnet->smlc->smlc_addr, OSMO_SCCP_SSN_SMLC_BSSAP_LE);</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->smlc_addr_name = talloc_strdup(bsc_gsmnet, smlc_addr_name);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->cs7_instance = ss7->cfg.id;</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->cs7_instance_valid = true;</span><br><span style="color: hsl(120, 100%, 40%);">+ enforce_ssn(vty, &g_smlc->smlc_addr, OSMO_SCCP_SSN_SMLC_BSSAP_LE);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->smlc_addr_name = talloc_strdup(bsc_gsmnet, smlc_addr_name);</span><br><span> return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span> static int config_write_smlc(struct vty *vty)</span><br><span> {</span><br><span> /* Nothing to write? */</span><br><span style="color: hsl(0, 100%, 40%);">- if (!(bsc_gsmnet->smlc->enable</span><br><span style="color: hsl(0, 100%, 40%);">- || bsc_gsmnet->smlc->bsc_addr_name</span><br><span style="color: hsl(0, 100%, 40%);">- || bsc_gsmnet->smlc->smlc_addr_name))</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!(g_smlc->enable</span><br><span style="color: hsl(120, 100%, 40%);">+ || g_smlc->bsc_addr_name</span><br><span style="color: hsl(120, 100%, 40%);">+ || g_smlc->smlc_addr_name))</span><br><span> return 0;</span><br><span> </span><br><span> vty_out(vty, "smlc%s", VTY_NEWLINE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->enable)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->enable)</span><br><span> vty_out(vty, " enable%s", VTY_NEWLINE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->bsc_addr_name) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->bsc_addr_name) {</span><br><span> vty_out(vty, " bsc-addr %s%s",</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->bsc_addr_name, VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->bsc_addr_name, VTY_NEWLINE);</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- if (bsc_gsmnet->smlc->smlc_addr_name) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (g_smlc->smlc_addr_name) {</span><br><span> vty_out(vty, " smlc-addr %s%s",</span><br><span style="color: hsl(0, 100%, 40%);">- bsc_gsmnet->smlc->smlc_addr_name, VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+ g_smlc->smlc_addr_name, VTY_NEWLINE);</span><br><span> }</span><br><span> </span><br><span> return 0;</span><br><span>diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c</span><br><span>index ca5c7b9..8f0b75e 100644</span><br><span>--- a/src/osmo-bsc/lcs_loc_req.c</span><br><span>+++ b/src/osmo-bsc/lcs_loc_req.c</span><br><span>@@ -190,7 +190,7 @@</span><br><span> {</span><br><span> switch (bssmap_le->conn_oriented_info.apdu.msg_type) {</span><br><span> case BSSLAP_MSGT_TA_REQUEST:</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&bsc_gsmnet->smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_BSSLAP_TA_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(&g_smlc->ctrs->ctr[SMLC_CTR_BSSMAP_LE_RX_DT1_BSSLAP_TA_REQUEST]);</span><br><span> LOG_LCS_LOC_REQ(lcs_loc_req, LOGL_DEBUG, "rx BSSLAP TA Request\n");</span><br><span> /* The TA Request message contains only the message type. */</span><br><span> return lcs_ta_req_start(lcs_loc_req);</span><br><span>@@ -206,7 +206,7 @@</span><br><span> struct lcs_loc_req *lcs_loc_req = conn->lcs.loc_req;</span><br><span> struct bssap_le_pdu bssap_le;</span><br><span> struct osmo_bssap_le_err *err;</span><br><span style="color: hsl(0, 100%, 40%);">- struct rate_ctr *ctr = bsc_gsmnet->smlc->ctrs->ctr;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct rate_ctr *ctr = g_smlc->ctrs->ctr;</span><br><span> </span><br><span> if (!lcs_loc_req) {</span><br><span> LOGPFSMSL(conn->fi, DLCS, LOGL_ERROR,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20650">change 20650</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/20650"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I28058db2ac77ea176398764733e3ef86ef6ff06d </div>
<div style="display:none"> Gerrit-Change-Number: 20650 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>