<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use new stat item/ctr getter APIs<br><br>Generated with spatch:<br>"""<br>@@<br>expression E1, E2;<br>@@<br>- &E2->ctr[E1]<br>+ rate_ctr_group_get_ctr(E2, E1)<br>"""<br><br>Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b<br>---<br>M src/gb_proxy.c<br>1 file changed, 17 insertions(+), 18 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/57/24557/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb_proxy.c b/src/gb_proxy.c</span><br><span>index b8bbc9a..8c8faf7 100644</span><br><span>--- a/src/gb_proxy.c</span><br><span>+++ b/src/gb_proxy.c</span><br><span>@@ -145,7 +145,7 @@</span><br><span>                     PRIM_OP_REQUEST, msg);</span><br><span>        rc = gprs_ns2_recv_prim(nsi, &nsp.oph);</span><br><span>  if (rc < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-          rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_TX_ERR_SGSN]);</span><br><span style="color: hsl(120, 100%, 40%);">+         rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_TX_ERR_SGSN));</span><br><span>     return rc;</span><br><span> }</span><br><span> #endif</span><br><span>@@ -221,7 +221,7 @@</span><br><span>      rc = bssgp2_nsi_tx_ptp(nsi, nse->nsei, ns_bvci, msg, tlli);</span><br><span>       /* FIXME: We need a counter group for gbproxy_nse */</span><br><span>         //if (rc < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-        //      rate_ctr_inc(&bvc->ctrg->ctr[GBPROX_PEER_CTR_TX_ERR]);</span><br><span style="color: hsl(120, 100%, 40%);">+      //      rate_ctr_inc(rate_ctr_group_get_ctr(bvc->ctrg, GBPROX_PEER_CTR_TX_ERR));</span><br><span> </span><br><span>      return rc;</span><br><span> }</span><br><span>@@ -236,7 +236,7 @@</span><br><span> </span><br><span>    rc = gbprox_relay2nse(old_msg, nse, ns_bvci);</span><br><span>        if (rc < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-          rate_ctr_inc(&bvc->ctrg->ctr[GBPROX_PEER_CTR_TX_ERR]);</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(bvc->ctrg, GBPROX_PEER_CTR_TX_ERR));</span><br><span> </span><br><span>      return rc;</span><br><span> }</span><br><span>@@ -434,7 +434,7 @@</span><br><span>                                         msgb_bssgp_len(msg) - sizeof(*bgph), 0, 0, DGPRS, log_pfx);</span><br><span>         }</span><br><span>    if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS));</span><br><span>           return tx_status_from_tlvp(nse, rc, msg);</span><br><span>    }</span><br><span>    /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */</span><br><span>@@ -540,13 +540,13 @@</span><br><span>    if (!sgsn_bvc) {</span><br><span>             LOGP(DGPRS, LOGL_NOTICE, "%s %s - Didn't find BVC for for PTP message, discarding\n",</span><br><span>               log_pfx, pdut_name);</span><br><span style="color: hsl(0, 100%, 40%);">-               rate_ctr_inc(&nse->cfg->ctrg-> ctr[GBPROX_GLOB_CTR_INV_BVCI]);</span><br><span style="color: hsl(120, 100%, 40%);">+           rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_BVCI));</span><br><span>                return tx_status(nse, ns_bvci, BSSGP_CAUSE_UNKNOWN_BVCI, &ns_bvci, msg);</span><br><span>         }</span><br><span> </span><br><span>        if (!bssgp_bvc_fsm_is_unblocked(sgsn_bvc->fi)) {</span><br><span>          LOGPBVC(sgsn_bvc, LOGL_NOTICE, "Rx %s: Dropping on blocked BVC\n", pdut_name);</span><br><span style="color: hsl(0, 100%, 40%);">-                rate_ctr_inc(&sgsn_bvc->ctrg->ctr[GBPROX_PEER_CTR_DROPPED]);</span><br><span style="color: hsl(120, 100%, 40%);">+                rate_ctr_inc(rate_ctr_group_get_ctr(sgsn_bvc->ctrg, GBPROX_PEER_CTR_DROPPED));</span><br><span>            return tx_status(nse, ns_bvci, BSSGP_CAUSE_BVCI_BLOCKED, &ns_bvci, msg);</span><br><span>         }</span><br><span> </span><br><span>@@ -566,7 +566,7 @@</span><br><span>                                   msgb_bssgp_len(msg) - sizeof(*bgph), 0, 0, DGPRS, log_pfx);</span><br><span>         }</span><br><span>    if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS));</span><br><span>           return tx_status_from_tlvp(nse, rc, msg);</span><br><span>    }</span><br><span>    /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */</span><br><span>@@ -1024,7 +1024,7 @@</span><br><span>    rc = osmo_tlv_prot_parse(&osmo_pdef_bssgp, tp, ARRAY_SIZE(tp), pdu_type, bgph->data, data_len, 0, 0,</span><br><span>                           DGPRS, log_pfx);</span><br><span>    if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_BSS));</span><br><span>           return tx_status_from_tlvp(nse, rc, msg);</span><br><span>    }</span><br><span>    /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */</span><br><span>@@ -1122,7 +1122,7 @@</span><br><span>    return rc;</span><br><span> err_no_bvc:</span><br><span>    LOGPNSE(nse, LOGL_ERROR, "Rx %s: cannot find BVC for BVCI=%05u\n", pdut_name, ptp_bvci);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_INV_NSEI]);</span><br><span style="color: hsl(120, 100%, 40%);">+    rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_NSEI));</span><br><span>        return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg);</span><br><span> }</span><br><span> </span><br><span>@@ -1144,7 +1144,7 @@</span><br><span>                if (!sgsn_bvc) {</span><br><span>                     LOGPNSE(sgsn_nse, LOGL_NOTICE, "Rx %s: unable to route: BVCI=%05u unknown\n",</span><br><span>                              pdut_name, bvci);</span><br><span style="color: hsl(0, 100%, 40%);">-                       rate_ctr_inc(&cfg->ctrg->ctr[errctr]);</span><br><span style="color: hsl(120, 100%, 40%);">+                      rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr));</span><br><span>                  return -EINVAL;</span><br><span>              }</span><br><span>            LOGPBVC(sgsn_bvc, LOGL_INFO, "Rx %s: routing by BVCI\n", pdut_name);</span><br><span>@@ -1196,12 +1196,12 @@</span><br><span>             }</span><br><span>    } else {</span><br><span>             LOGPNSE(sgsn_nse, LOGL_ERROR, "BSSGP PAGING: unable to route, missing IE\n");</span><br><span style="color: hsl(0, 100%, 40%);">-         rate_ctr_inc(&cfg->ctrg->ctr[errctr]);</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr));</span><br><span>  }</span><br><span> </span><br><span>        if (n_nses == 0) {</span><br><span>           LOGPNSE(sgsn_nse, LOGL_ERROR, "BSSGP PAGING: unable to route, no destination found\n");</span><br><span style="color: hsl(0, 100%, 40%);">-               rate_ctr_inc(&cfg->ctrg->ctr[errctr]);</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, errctr));</span><br><span>          return -EINVAL;</span><br><span>      }</span><br><span>    return 0;</span><br><span>@@ -1224,7 +1224,7 @@</span><br><span>            from_bvc = gbproxy_bvc_by_bvci(nse, ptp_bvci);</span><br><span>               if (!from_bvc) {</span><br><span>                     LOGPNSE(nse, LOGL_ERROR, "Rx BVC-RESET BVCI=%05u: Cannot find BVC\n", ptp_bvci);</span><br><span style="color: hsl(0, 100%, 40%);">-                      rate_ctr_inc(&nse->cfg->ctrg->ctr[GBPROX_GLOB_CTR_INV_BVCI]);</span><br><span style="color: hsl(120, 100%, 40%);">+                    rate_ctr_inc(rate_ctr_group_get_ctr(nse->cfg->ctrg, GBPROX_GLOB_CTR_INV_BVCI));</span><br><span>                        return tx_status(nse, ns_bvci, BSSGP_CAUSE_UNKNOWN_BVCI, &ptp_bvci, msg);</span><br><span>                }</span><br><span>            osmo_fsm_inst_dispatch(from_bvc->fi, BSSGP_BVCFSM_E_RX_RESET, msg);</span><br><span>@@ -1332,7 +1332,7 @@</span><br><span>                                DGPRS, log_pfx);</span><br><span>    if (rc < 0) {</span><br><span>             rc = tx_status_from_tlvp(nse, rc, msg);</span><br><span style="color: hsl(0, 100%, 40%);">-         rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]);</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN));</span><br><span>          return rc;</span><br><span>   }</span><br><span>    /* hack to get both msg + tlv_parsed passed via osmo_fsm_inst_dispatch */</span><br><span>@@ -1446,7 +1446,7 @@</span><br><span>            break;</span><br><span>       default:</span><br><span>             LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name);</span><br><span style="color: hsl(0, 100%, 40%);">-               rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_SGSN]);</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN));</span><br><span>          rc = tx_status(nse, ns_bvci, BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg);</span><br><span>               break;</span><br><span>       }</span><br><span>@@ -1455,7 +1455,7 @@</span><br><span> </span><br><span> err_no_bvc:</span><br><span>         LOGPNSE(nse, LOGL_ERROR, "Rx %s: Cannot find BVC\n", pdut_name);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_INV_RAI]);</span><br><span style="color: hsl(120, 100%, 40%);">+    rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_INV_RAI));</span><br><span>         return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg);</span><br><span> }</span><br><span> </span><br><span>@@ -1571,8 +1571,7 @@</span><br><span>                                        continue;</span><br><span>                            gbproxy_bvc_free(bvc);</span><br><span>                       }</span><br><span style="color: hsl(0, 100%, 40%);">-                       rate_ctr_inc(&cfg->ctrg-></span><br><span style="color: hsl(0, 100%, 40%);">-                                  ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]);</span><br><span style="color: hsl(120, 100%, 40%);">+                        rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_RESTART_RESET_SGSN));</span><br><span>              } else {</span><br><span>                     /* BSS became unavailable</span><br><span>                     * Block matching PtP-BVCs on SGSN-side */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gbproxy/+/24557">change 24557</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-gbproxy/+/24557"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gbproxy </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ibc17979c171b6efa522cfd80fddf3f3c593dbd0b </div>
<div style="display:none"> Gerrit-Change-Number: 24557 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>