<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/24546">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use new stat item/ctr getter APIs<br><br>Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505<br>---<br>M src/bts.h<br>M src/gprs_bssgp_pcu.c<br>M src/gprs_rlcmac_sched.cpp<br>M src/nacc_fsm.c<br>M src/tbf_dl.cpp<br>M src/tbf_ul.cpp<br>6 files changed, 38 insertions(+), 37 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/46/24546/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/bts.h b/src/bts.h</span><br><span>index bb91df3..2a7d883 100644</span><br><span>--- a/src/bts.h</span><br><span>+++ b/src/bts.h</span><br><span>@@ -325,16 +325,17 @@</span><br><span> }</span><br><span> </span><br><span> static inline void bts_do_rate_ctr_inc(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id) {</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_inc(&bts->ratectrs->ctr[ctr_id]);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_inc(rate_ctr_group_get_ctr(bts->ratectrs, ctr_id));</span><br><span> }</span><br><span> </span><br><span> static inline void bts_do_rate_ctr_add(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id, int inc) {</span><br><span style="color: hsl(0, 100%, 40%);">-   rate_ctr_add(&bts->ratectrs->ctr[ctr_id], inc);</span><br><span style="color: hsl(120, 100%, 40%);">+     rate_ctr_add(rate_ctr_group_get_ctr(bts->ratectrs, ctr_id), inc);</span><br><span> }</span><br><span> </span><br><span> static inline void bts_stat_item_add(struct gprs_rlcmac_bts *bts, unsigned int stat_id, int inc) {</span><br><span style="color: hsl(0, 100%, 40%);">-     int32_t val = osmo_stat_item_get_last(bts->statg->items[stat_id]);</span><br><span style="color: hsl(0, 100%, 40%);">-        osmo_stat_item_set(bts->statg->items[stat_id], val + inc);</span><br><span style="color: hsl(120, 100%, 40%);">+      struct osmo_stat_item *item = osmo_stat_item_group_get_item(bts->statg, stat_id);</span><br><span style="color: hsl(120, 100%, 40%);">+  int32_t val = osmo_stat_item_get_last(item);</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo_stat_item_set(item, val + inc);</span><br><span> }</span><br><span> </span><br><span> struct gprs_rlcmac_bts *bts_alloc(struct gprs_pcu *pcu, uint8_t bts_nr);</span><br><span>diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c</span><br><span>index 7ee2e45..0e8e145 100644</span><br><span>--- a/src/gprs_bssgp_pcu.c</span><br><span>+++ b/src/gprs_bssgp_pcu.c</span><br><span>@@ -538,8 +538,8 @@</span><br><span>         if (bctx)</span><br><span>    {</span><br><span>            log_set_context(LOG_CTX_GB_BVC, bctx);</span><br><span style="color: hsl(0, 100%, 40%);">-          rate_ctr_inc(&bctx->ctrg->ctr[BSSGP_CTR_PKTS_IN]);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_add(&bctx->ctrg->ctr[BSSGP_CTR_BYTES_IN], msgb_bssgp_len(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_PKTS_IN));</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_add(rate_ctr_group_get_ctr(bctx->ctrg, BSSGP_CTR_BYTES_IN), msgb_bssgp_len(msg));</span><br><span>        }</span><br><span> </span><br><span>        if (ns_bvci == BVCI_SIGNALLING)</span><br><span>diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp</span><br><span>index fa86b76..4c1a6ab 100644</span><br><span>--- a/src/gprs_rlcmac_sched.cpp</span><br><span>+++ b/src/gprs_rlcmac_sched.cpp</span><br><span>@@ -217,7 +217,7 @@</span><br><span>               LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32</span><br><span>                      " Scheduling control message at RTS for %s\n",</span><br><span>                     fn, tbf_name(tbf));</span><br><span style="color: hsl(0, 100%, 40%);">-             rate_ctr_inc(&tbf->ms()->ctrs->ctr[MS_CTR_DL_CTRL_MSG_SCHED]);</span><br><span style="color: hsl(120, 100%, 40%);">+           rate_ctr_inc(rate_ctr_group_get_ctr(tbf->ms()->ctrs, MS_CTR_DL_CTRL_MSG_SCHED));</span><br><span>               return msg;</span><br><span>  }</span><br><span> </span><br><span>diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c</span><br><span>index 6384fd5..d2702d4 100644</span><br><span>--- a/src/nacc_fsm.c</span><br><span>+++ b/src/nacc_fsm.c</span><br><span>@@ -147,7 +147,7 @@</span><br><span>             goto free_ret;</span><br><span>       }</span><br><span>    LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Neighbour Cell Data -------------------------\n");</span><br><span style="color: hsl(0, 100%, 40%);">-     rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_NEIGH_CELL_DATA]);</span><br><span style="color: hsl(120, 100%, 40%);">+    rate_ctr_inc(rate_ctr_group_get_ctr(bts_rate_counters(ms->bts), CTR_PKT_NEIGH_CELL_DATA));</span><br><span>        talloc_free(mac_control_block);</span><br><span> </span><br><span>  ctx->container_idx++;</span><br><span>@@ -204,7 +204,7 @@</span><br><span>               goto free_ret;</span><br><span>       }</span><br><span>    LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Cell Change Continue -------------------------\n");</span><br><span style="color: hsl(0, 100%, 40%);">-    rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_CELL_CHG_CONTINUE]);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_inc(rate_ctr_group_get_ctr(bts_rate_counters(ms->bts), CTR_PKT_CELL_CHG_CONTINUE));</span><br><span>      talloc_free(mac_control_block);</span><br><span>      tbf_set_polling(tbf, *new_poll_fn, data->ts, PDCH_ULC_POLL_CELL_CHG_CONTINUE);</span><br><span>    return msg;</span><br><span>diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp</span><br><span>index 9ed389d..eb215fe 100644</span><br><span>--- a/src/tbf_dl.cpp</span><br><span>+++ b/src/tbf_dl.cpp</span><br><span>@@ -1137,7 +1137,7 @@</span><br><span>             ms_update_error_rate(ms(), this, error_rate);</span><br><span> </span><br><span>    m_window.update(bts, rbb, first_bsn, &lost, &received);</span><br><span style="color: hsl(0, 100%, 40%);">- rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_add(rate_ctr_group_get_ctr(m_ctrs, TBF_CTR_RLC_NACKED), lost);</span><br><span> </span><br><span>  /* report lost and received packets */</span><br><span>       gprs_rlcmac_received_lost(this, received, lost);</span><br><span>@@ -1193,7 +1193,7 @@</span><br><span> </span><br><span>         m_window.update(bts, show_rbb, ssn,</span><br><span>                  &lost, &received);</span><br><span style="color: hsl(0, 100%, 40%);">-      rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost);</span><br><span style="color: hsl(120, 100%, 40%);">+  rate_ctr_add(rate_ctr_group_get_ctr(m_ctrs, TBF_CTR_RLC_NACKED), lost);</span><br><span> </span><br><span>  /* report lost and received packets */</span><br><span>       gprs_rlcmac_received_lost(this, received, lost);</span><br><span>@@ -1509,55 +1509,55 @@</span><br><span>   switch (cs) {</span><br><span>        case CS1:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS1);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS1));</span><br><span>           break;</span><br><span>       case CS2:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS2);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS2));</span><br><span>           break;</span><br><span>       case CS3:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS3);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS3));</span><br><span>           break;</span><br><span>       case CS4:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_DL_CS4);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_gprs_ctrs, TBF_CTR_GPRS_DL_CS4));</span><br><span>           break;</span><br><span>       case MCS1:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS1);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS1));</span><br><span>                break;</span><br><span>       case MCS2:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS2);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS2));</span><br><span>                break;</span><br><span>       case MCS3:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS3);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS3));</span><br><span>                break;</span><br><span>       case MCS4:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS4);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS4));</span><br><span>                break;</span><br><span>       case MCS5:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS5);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS5));</span><br><span>                break;</span><br><span>       case MCS6:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS6);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS6));</span><br><span>                break;</span><br><span>       case MCS7:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS7);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS7));</span><br><span>                break;</span><br><span>       case MCS8:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS8);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS8));</span><br><span>                break;</span><br><span>       case MCS9:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_DL_MCS9);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_dl_egprs_ctrs, TBF_CTR_EGPRS_DL_MCS9));</span><br><span>                break;</span><br><span>       default:</span><br><span>             LOGPTBFDL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n",</span><br><span>diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp</span><br><span>index 9cbb9fb..b5f9f01 100644</span><br><span>--- a/src/tbf_ul.cpp</span><br><span>+++ b/src/tbf_ul.cpp</span><br><span>@@ -743,55 +743,55 @@</span><br><span>  switch (cs) {</span><br><span>        case CS1:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS1);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS1));</span><br><span>           break;</span><br><span>       case CS2:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS2);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS2));</span><br><span>           break;</span><br><span>       case CS3:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS3);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS3));</span><br><span>           break;</span><br><span>       case CS4:</span><br><span>            bts_do_rate_ctr_inc(bts, CTR_GPRS_UL_CS4);</span><br><span style="color: hsl(0, 100%, 40%);">-              rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]);</span><br><span style="color: hsl(120, 100%, 40%);">+               rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_gprs_ctrs, TBF_CTR_GPRS_UL_CS4));</span><br><span>           break;</span><br><span>       case MCS1:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS1);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS1));</span><br><span>                break;</span><br><span>       case MCS2:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS2);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS2));</span><br><span>                break;</span><br><span>       case MCS3:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS3);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS3));</span><br><span>                break;</span><br><span>       case MCS4:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS4);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS4));</span><br><span>                break;</span><br><span>       case MCS5:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS5);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS5));</span><br><span>                break;</span><br><span>       case MCS6:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS6);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS6));</span><br><span>                break;</span><br><span>       case MCS7:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS7);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS7));</span><br><span>                break;</span><br><span>       case MCS8:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS8);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS8));</span><br><span>                break;</span><br><span>       case MCS9:</span><br><span>           bts_do_rate_ctr_inc(bts, CTR_EGPRS_UL_MCS9);</span><br><span style="color: hsl(0, 100%, 40%);">-            rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]);</span><br><span style="color: hsl(120, 100%, 40%);">+            rate_ctr_inc(rate_ctr_group_get_ctr(m_ul_egprs_ctrs, TBF_CTR_EGPRS_UL_MCS9));</span><br><span>                break;</span><br><span>       default:</span><br><span>             LOGPTBFUL(this, LOGL_ERROR, "attempting to update rate counters for unsupported (M)CS %s\n",</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/24546">change 24546</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-pcu/+/24546"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I600c7a8725f5b229b1a2feb879da7c3b2dce4505 </div>
<div style="display:none"> Gerrit-Change-Number: 24546 </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>