<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/24549">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><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: I2e064883ac6dafa89e41a297a886a9ebd26ce925<br>---<br>M src/gtphub/gtphub.c<br>M src/sgsn/gprs_gb.c<br>M src/sgsn/gprs_gmm.c<br>M src/sgsn/gprs_llc.c<br>M src/sgsn/gprs_ranap.c<br>M src/sgsn/gprs_sm.c<br>M src/sgsn/sgsn_libgtp.c<br>7 files changed, 50 insertions(+), 50 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c</span><br><span>index c24652e..237d699 100644</span><br><span>--- a/src/gtphub/gtphub.c</span><br><span>+++ b/src/gtphub/gtphub.c</span><br><span>@@ -2125,7 +2125,7 @@</span><br><span>      struct gtphub_bind *from_bind = &hub->to_gsns[side_idx][plane_idx];</span><br><span>   struct gtphub_bind *to_bind = &hub->to_gsns[other_side_idx(side_idx)][plane_idx];</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_IN],</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_add(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_BYTES_IN),</span><br><span>                received);</span><br><span> </span><br><span>  struct gtp_packet_desc p;</span><br><span>@@ -2147,7 +2147,7 @@</span><br><span>            return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_IN]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_PKTS_IN));</span><br><span> </span><br><span>       int reply_len;</span><br><span>       reply_len = gtphub_handle_echo_req(hub, &p, reply_buf);</span><br><span>@@ -2156,8 +2156,8 @@</span><br><span>          sgsn_sockaddr_copy(to_addr, from_addr);</span><br><span>              *to_ofd = &from_bind->ofd;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]);</span><br><span style="color: hsl(0, 100%, 40%);">-                rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT],</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_PKTS_OUT));</span><br><span style="color: hsl(120, 100%, 40%);">+           rate_ctr_add(rate_ctr_group_get_ctr(from_bind->counters_io, GTPH_CTR_BYTES_OUT),</span><br><span>                       reply_len);</span><br><span>             LOG(LOGL_DEBUG, "%s Echo response to %s: %d bytes to %s\n",</span><br><span>                    (side_idx == GTPH_SIDE_GGSN)? "-->" : "<--",</span><br><span>@@ -2236,9 +2236,9 @@</span><br><span>           return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_add(&from_peer->counters_io->ctr[GTPH_CTR_BYTES_IN],</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_add(rate_ctr_group_get_ctr(from_peer->counters_io, GTPH_CTR_BYTES_IN),</span><br><span>                received);</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&from_peer->counters_io->ctr[GTPH_CTR_PKTS_IN]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(from_peer->counters_io, GTPH_CTR_PKTS_IN));</span><br><span> </span><br><span>       LOG(LOGL_DEBUG, "from %s peer: %s\n", gtphub_side_idx_names[side_idx],</span><br><span>         gtphub_port_str(from_peer));</span><br><span>@@ -2257,9 +2257,9 @@</span><br><span> </span><br><span>         if (p.tun) {</span><br><span>                 struct gtphub_tunnel_endpoint *te = &p.tun->endpoint[p.side_idx][p.plane_idx];</span><br><span style="color: hsl(0, 100%, 40%);">-           rate_ctr_add(&te->counters_io->ctr[GTPH_CTR_BYTES_IN],</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_add(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_BYTES_IN),</span><br><span>                       received);</span><br><span style="color: hsl(0, 100%, 40%);">-         rate_ctr_inc(&te->counters_io->ctr[GTPH_CTR_PKTS_IN]);</span><br><span style="color: hsl(120, 100%, 40%);">+              rate_ctr_inc(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_PKTS_IN));</span><br><span>  }</span><br><span> </span><br><span>        if ((!to_peer) && (side_idx == GTPH_SIDE_SGSN)) {</span><br><span>@@ -2311,19 +2311,19 @@</span><br><span>  *reply_buf = (uint8_t*)p.data;</span><br><span> </span><br><span>   if (received) {</span><br><span style="color: hsl(0, 100%, 40%);">-         rate_ctr_inc(&to_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]);</span><br><span style="color: hsl(0, 100%, 40%);">-          rate_ctr_add(&to_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT],</span><br><span style="color: hsl(120, 100%, 40%);">+                rate_ctr_inc(rate_ctr_group_get_ctr(to_bind->counters_io, GTPH_CTR_PKTS_OUT));</span><br><span style="color: hsl(120, 100%, 40%);">+             rate_ctr_add(rate_ctr_group_get_ctr(to_bind->counters_io, GTPH_CTR_BYTES_OUT),</span><br><span>                         received);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-             rate_ctr_inc(&to_peer->counters_io->ctr[GTPH_CTR_PKTS_OUT]);</span><br><span style="color: hsl(0, 100%, 40%);">-          rate_ctr_add(&to_peer->counters_io->ctr[GTPH_CTR_BYTES_OUT],</span><br><span style="color: hsl(120, 100%, 40%);">+                rate_ctr_inc(rate_ctr_group_get_ctr(to_peer->counters_io, GTPH_CTR_PKTS_OUT));</span><br><span style="color: hsl(120, 100%, 40%);">+             rate_ctr_add(rate_ctr_group_get_ctr(to_peer->counters_io, GTPH_CTR_BYTES_OUT),</span><br><span>                         received);</span><br><span>      }</span><br><span> </span><br><span>        if (p.tun) {</span><br><span>                 struct gtphub_tunnel_endpoint *te = &p.tun->endpoint[other_side_idx(p.side_idx)][p.plane_idx];</span><br><span style="color: hsl(0, 100%, 40%);">-           rate_ctr_inc(&te->counters_io->ctr[GTPH_CTR_PKTS_OUT]);</span><br><span style="color: hsl(0, 100%, 40%);">-               rate_ctr_add(&te->counters_io->ctr[GTPH_CTR_BYTES_OUT],</span><br><span style="color: hsl(120, 100%, 40%);">+             rate_ctr_inc(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_PKTS_OUT));</span><br><span style="color: hsl(120, 100%, 40%);">+          rate_ctr_add(rate_ctr_group_get_ctr(te->counters_io, GTPH_CTR_BYTES_OUT),</span><br><span>                              received);</span><br><span>      }</span><br><span> </span><br><span>diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c</span><br><span>index cddd1b1..96157a0 100644</span><br><span>--- a/src/sgsn/gprs_gb.c</span><br><span>+++ b/src/sgsn/gprs_gb.c</span><br><span>@@ -57,7 +57,7 @@</span><br><span>       bssgp_parse_cell_id(&ra_id, msgb_bcid(msg));</span><br><span>     mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &ra_id);</span><br><span>     if (mmctx) {</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN));</span><br><span>           mmctx->gb.llme = llme;</span><br><span>            gprs_gb_recv_pdu(mmctx, msg);</span><br><span>        }</span><br><span>@@ -102,7 +102,7 @@</span><br><span>      pinfo.drx_params = mmctx->drx_parms;</span><br><span>      pinfo.qos[0] = 0; // FIXME</span><br><span>   rc = bssgp_tx_paging(mmctx->gb.nsei, 0, &pinfo);</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PAGING_PS]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PAGING_PS));</span><br><span> </span><br><span>         return rc;</span><br><span> }</span><br><span>diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c</span><br><span>index edddd2d..c5e927a 100644</span><br><span>--- a/src/sgsn/gprs_gmm.c</span><br><span>+++ b/src/sgsn/gprs_gmm.c</span><br><span>@@ -131,7 +131,7 @@</span><br><span>                            struct sgsn_mm_ctx *mm, bool encryptable)</span><br><span> {</span><br><span>  if (mm) {</span><br><span style="color: hsl(0, 100%, 40%);">-               rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PKTS_SIG_OUT]);</span><br><span style="color: hsl(120, 100%, 40%);">+         rate_ctr_inc(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_PKTS_SIG_OUT));</span><br><span> #ifdef BUILD_IU</span><br><span>          if (mm->ran_type == MM_CTX_T_UTRAN_Iu)</span><br><span>                    return ranap_iu_tx(msg, GPRS_SAPI_GMM);</span><br><span>@@ -291,7 +291,7 @@</span><br><span> #endif</span><br><span> </span><br><span>  LOGMMCTXP(LOGL_INFO, mm, "<- GMM ATTACH ACCEPT (new P-TMSI=0x%08x)\n", mm->p_tmsi);</span><br><span style="color: hsl(0, 100%, 40%);">-     rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_ACKED]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_ACKED));</span><br><span> </span><br><span>         mmctx2msgid(msg, mm);</span><br><span> </span><br><span>@@ -356,7 +356,7 @@</span><br><span> </span><br><span>  LOGMMCTXP(LOGL_NOTICE, mm, "<- GMM ATTACH REJECT: %s\n",</span><br><span>                  get_value_string(gsm48_gmm_cause_names, gmm_cause));</span><br><span style="color: hsl(0, 100%, 40%);">-  rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_REJECTED]);</span><br><span style="color: hsl(120, 100%, 40%);">+      rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_REJECTED));</span><br><span> </span><br><span>      gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1);</span><br><span>    gh->proto_discr = GSM48_PDISC_MM_GPRS;</span><br><span>@@ -389,7 +389,7 @@</span><br><span>      /* MMCTX might be NULL! */</span><br><span> </span><br><span>       DEBUGP(DMM, "<- GMM DETACH ACC (force-standby: %d)\n", force_stby);</span><br><span style="color: hsl(0, 100%, 40%);">-        rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_DETACH_ACKED]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_DETACH_ACKED));</span><br><span> </span><br><span>         gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1);</span><br><span>    gh->proto_discr = GSM48_PDISC_MM_GPRS;</span><br><span>@@ -1163,7 +1163,7 @@</span><br><span>    int rc;</span><br><span> </span><br><span>  LOGMMCTXP(LOGL_INFO, ctx, "-> GMM ATTACH REQUEST ");</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ATTACH_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ATTACH_REQUEST));</span><br><span> </span><br><span>       /* As per TS 04.08 Chapter 4.7.1.4, the attach request arrives either</span><br><span>         * with a foreign TLLI (P-TMSI that was allocated to the MS before),</span><br><span>@@ -1410,7 +1410,7 @@</span><br><span>         power_off = gh->data[0] & 0x8;</span><br><span> </span><br><span>    /* FIXME: In 24.008 there is an optional P-TMSI and P-TMSI signature IE */</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_DETACH_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_DETACH_REQUEST));</span><br><span>   LOGMMCTXP(LOGL_INFO, ctx, "-> GMM DETACH REQUEST TLLI=0x%08x type=%s %s\n",</span><br><span>             msgb_tlli(msg), get_value_string(gprs_det_t_mo_strs, detach_type),</span><br><span>           power_off ? "Power-off" : "");</span><br><span>@@ -1449,7 +1449,7 @@</span><br><span>   struct osmo_mobile_identity mi;</span><br><span> #endif</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_ACKED]);</span><br><span style="color: hsl(120, 100%, 40%);">+   rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_ACKED));</span><br><span>       LOGMMCTXP(LOGL_INFO, mm, "<- GMM ROUTING AREA UPDATE ACCEPT\n");</span><br><span> </span><br><span>    mmctx2msgid(msg, mm);</span><br><span>@@ -1505,7 +1505,7 @@</span><br><span>        struct gsm48_hdr *gh;</span><br><span> </span><br><span>    LOGP(DMM, LOGL_NOTICE, "<- ROUTING AREA UPDATE REJECT\n");</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_REJECT]);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REJECT));</span><br><span> </span><br><span>  gmm_copy_id(msg, old_msg);</span><br><span> </span><br><span>@@ -1585,7 +1585,7 @@</span><br><span>       /* Update Type 10.5.5.18 */</span><br><span>  upd_type = *cur++ & 0x07;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_GPRS_ROUTING_AREA_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_GPRS_ROUTING_AREA_REQUEST));</span><br><span>     LOGMMCTXP(LOGL_INFO, mmctx, "-> GMM RA UPDATE REQUEST type=\"%s\"\n",</span><br><span>                 get_value_string(gprs_upd_t_strs, upd_type));</span><br><span> </span><br><span>@@ -1713,7 +1713,7 @@</span><br><span>    /* Store new BVCI/NSEI in MM context (FIXME: delay until we ack?) */</span><br><span>         msgid2mmctx(mmctx, msg);</span><br><span>     /* Bump the statistics of received signalling msgs for this MM context */</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN));</span><br><span> </span><br><span>       /* Update the MM context with the new RA-ID */</span><br><span>       if (mmctx->ran_type == MM_CTX_T_GERAN_Gb && msgb_bcid(msg)) {</span><br><span>@@ -1724,7 +1724,7 @@</span><br><span>     /* FIXME: Update the MM context with the MS radio acc capabilities */</span><br><span>        /* FIXME: Update the MM context with the MS network capabilities */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_RA_UPDATE]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_RA_UPDATE));</span><br><span> </span><br><span> #ifdef PTMSI_ALLOC</span><br><span>   ptmsi_update(mmctx);</span><br><span>diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c</span><br><span>index e357d16..4fbf211 100644</span><br><span>--- a/src/sgsn/gprs_llc.c</span><br><span>+++ b/src/sgsn/gprs_llc.c</span><br><span>@@ -670,8 +670,8 @@</span><br><span> </span><br><span>      /* Identifiers passed down: (BVCI, NSEI) */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_PACKETS));</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_BYTES), msg->len);</span><br><span> </span><br><span>         /* Send BSSGP-DL-UNITDATA.req */</span><br><span>     return _bssgp_tx_dl_ud(msg, NULL);</span><br><span>@@ -814,8 +814,8 @@</span><br><span>             }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_PACKETS]);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_DL_BYTES], msg->len);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_PACKETS));</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_DL_BYTES), msg->len);</span><br><span> </span><br><span>         /* Identifiers passed down: (BVCI, NSEI) */</span><br><span> </span><br><span>@@ -1000,8 +1000,8 @@</span><br><span>              msgb_l3trim(msg, llhp.data_len);</span><br><span>     }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_PACKETS]);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_add(&sgsn->rate_ctrs->ctr[CTR_LLC_UL_BYTES], msg->len);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_UL_PACKETS));</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_add(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_LLC_UL_BYTES), msg->len);</span><br><span> </span><br><span>         /* llhp.data is only set when we need to send LL_[UNIT]DATA_IND up */</span><br><span>        if (llhp.cmd == GPRS_LLC_UI && llhp.data && llhp.data_len) {</span><br><span>diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c</span><br><span>index e8addd7..ead20f7 100644</span><br><span>--- a/src/sgsn/gprs_ranap.c</span><br><span>+++ b/src/sgsn/gprs_ranap.c</span><br><span>@@ -232,7 +232,7 @@</span><br><span> </span><br><span>      mmctx = sgsn_mm_ctx_by_ue_ctx(MSG_IU_UE_CTX(msg));</span><br><span>   if (mmctx) {</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_SIG_IN));</span><br><span>           if (ra_id)</span><br><span>                   memcpy(&mmctx->ra, ra_id, sizeof(mmctx->ra));</span><br><span>      }</span><br><span>diff --git a/src/sgsn/gprs_sm.c b/src/sgsn/gprs_sm.c</span><br><span>index 3bdad3b..6c09c4f 100644</span><br><span>--- a/src/sgsn/gprs_sm.c</span><br><span>+++ b/src/sgsn/gprs_sm.c</span><br><span>@@ -186,7 +186,7 @@</span><br><span>         uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */</span><br><span> </span><br><span>    LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n");</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_ACCEPT));</span><br><span> </span><br><span>       mmctx2msgid(msg, pdp->mm);</span><br><span> </span><br><span>@@ -232,7 +232,7 @@</span><br><span> </span><br><span>  LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n",</span><br><span>                   get_value_string(gsm48_gsm_cause_names, cause));</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_REJECT));</span><br><span> </span><br><span>       mmctx2msgid(msg, mm);</span><br><span> </span><br><span>@@ -257,7 +257,7 @@</span><br><span>      uint8_t tear_down_ind = (0x9 << 4) | (!!teardown);</span><br><span> </span><br><span>         LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n");</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_DL_DEACTIVATE_REQUEST));</span><br><span> </span><br><span>         mmctx2msgid(msg, mm);</span><br><span> </span><br><span>@@ -285,7 +285,7 @@</span><br><span>      uint8_t transaction_id = tid ^ 0x8; /* flip */</span><br><span> </span><br><span>   LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n");</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_DL_DEACTIVATE_ACCEPT));</span><br><span> </span><br><span>  mmctx2msgid(msg, mm);</span><br><span> </span><br><span>@@ -533,7 +533,7 @@</span><br><span> </span><br><span>  /* Only increment counter for a real activation, after we checked</span><br><span>     * for re-transmissions */</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]);</span><br><span style="color: hsl(120, 100%, 40%);">+       rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PDP_CTX_ACT));</span><br><span> </span><br><span>       /* Determine GGSN based on APN and subscription options */</span><br><span>   ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str);</span><br><span>@@ -591,7 +591,7 @@</span><br><span>     struct msgb *msg;</span><br><span>    int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+      rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_ACTIVATE_REQUEST));</span><br><span> </span><br><span>      /*</span><br><span>    * This is painful. We might not have a static GGSN</span><br><span>@@ -629,7 +629,7 @@</span><br><span> </span><br><span>        LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n",</span><br><span>                 get_value_string(gsm48_gsm_cause_names, gh->data[0]));</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_UL_DEACTIVATE_REQUEST));</span><br><span> </span><br><span>         pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id);</span><br><span>       if (!pdp) {</span><br><span>@@ -654,7 +654,7 @@</span><br><span>    struct sgsn_pdp_ctx *pdp;</span><br><span> </span><br><span>        LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n");</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_inc(rate_ctr_group_get_ctr(sgsn->rate_ctrs, CTR_PDP_UL_DEACTIVATE_ACCEPT));</span><br><span> </span><br><span>  pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id);</span><br><span>       if (!pdp) {</span><br><span>diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c</span><br><span>index 6229217..1ac3b44 100644</span><br><span>--- a/src/sgsn/sgsn_libgtp.c</span><br><span>+++ b/src/sgsn/sgsn_libgtp.c</span><br><span>@@ -792,10 +792,10 @@</span><br><span>             return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_inc(&pdp->ctrg->ctr[PDP_CTR_PKTS_UDATA_OUT]);</span><br><span style="color: hsl(0, 100%, 40%);">-        rate_ctr_add(&pdp->ctrg->ctr[PDP_CTR_BYTES_UDATA_OUT], len);</span><br><span style="color: hsl(0, 100%, 40%);">-  rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PKTS_UDATA_OUT]);</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_add(&mm->ctrg->ctr[GMM_CTR_BYTES_UDATA_OUT], len);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_PKTS_UDATA_OUT));</span><br><span style="color: hsl(120, 100%, 40%);">+   rate_ctr_add(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_BYTES_UDATA_OUT), len);</span><br><span style="color: hsl(120, 100%, 40%);">+     rate_ctr_inc(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_PKTS_UDATA_OUT));</span><br><span style="color: hsl(120, 100%, 40%);">+    rate_ctr_add(rate_ctr_group_get_ctr(mm->ctrg, GMM_CTR_BYTES_UDATA_OUT), len);</span><br><span> </span><br><span>         /* It is easier to have a global count */</span><br><span>    pdp->cdr_bytes_out += len;</span><br><span>@@ -830,10 +830,10 @@</span><br><span>                return -EIO;</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_inc(&pdp->ctrg->ctr[PDP_CTR_PKTS_UDATA_IN]);</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_add(&pdp->ctrg->ctr[PDP_CTR_BYTES_UDATA_IN], npdu_len);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_UDATA_IN]);</span><br><span style="color: hsl(0, 100%, 40%);">-       rate_ctr_add(&mmctx->ctrg->ctr[GMM_CTR_BYTES_UDATA_IN], npdu_len);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_inc(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_PKTS_UDATA_IN));</span><br><span style="color: hsl(120, 100%, 40%);">+    rate_ctr_add(rate_ctr_group_get_ctr(pdp->ctrg, PDP_CTR_BYTES_UDATA_IN), npdu_len);</span><br><span style="color: hsl(120, 100%, 40%);">+ rate_ctr_inc(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_PKTS_UDATA_IN));</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_add(rate_ctr_group_get_ctr(mmctx->ctrg, GMM_CTR_BYTES_UDATA_IN), npdu_len);</span><br><span> </span><br><span>  /* It is easier to have a global count */</span><br><span>    pdp->cdr_bytes_in += npdu_len;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/24549">change 24549</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-sgsn/+/24549"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-sgsn </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I2e064883ac6dafa89e41a297a886a9ebd26ce925 </div>
<div style="display:none"> Gerrit-Change-Number: 24549 </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-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>