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