laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-hnbgw/+/36213?usp=email )


Change subject: stats: Introduce basic counters for RANAP unit-data from CN 
links
......................................................................

stats: Introduce basic counters for RANAP unit-data from CN links

Let's keep track of the various unit-data messages we receive from
CN-link peers: RESET, RESET-ACK, PAGING, UNKNOWN, UNSUPPORTED,
OVERLOAD_IND, ERROR_IND.

Change-Id: Ibe4c73b0288ea20ca3d54519b42bc7cb0e9e61b2
---
M include/osmocom/hnbgw/hnbgw_cn.h
M src/osmo-hnbgw/cnlink.c
M src/osmo-hnbgw/hnbgw_cn.c
3 files changed, 71 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/13/36213/1

diff --git a/include/osmocom/hnbgw/hnbgw_cn.h b/include/osmocom/hnbgw/hnbgw_cn.h
index 04498d8..9b26e6e 100644
--- a/include/osmocom/hnbgw/hnbgw_cn.h
+++ b/include/osmocom/hnbgw/hnbgw_cn.h
@@ -39,6 +39,16 @@
        /* TODO: basic counters completely missing
         * ...
         */
+       CNLINK_CTR_RANAP_RX_UDT_RESET,
+       CNLINK_CTR_RANAP_RX_UDT_RESET_ACK,
+       CNLINK_CTR_RANAP_RX_UDT_PAGING,
+       CNLINK_CTR_RANAP_RX_UDT_UNKNOWN,
+       CNLINK_CTR_RANAP_RX_UDT_UNSUPPORTED,
+       CNLINK_CTR_RANAP_RX_UDT_OVERLOAD_IND,
+       CNLINK_CTR_RANAP_RX_UDT_ERROR_IND,
+
+       CNLINK_CTR_RANAP_TX_UDT_RESET,
+       CNLINK_CTR_RANAP_TX_UDT_RESET_ACK,

        /* Counters related to link selection from a CN pool. */
        CNLINK_CTR_CNPOOL_SUBSCR_NEW,
diff --git a/src/osmo-hnbgw/cnlink.c b/src/osmo-hnbgw/cnlink.c
index 78cd72f..fc67fd3 100644
--- a/src/osmo-hnbgw/cnlink.c
+++ b/src/osmo-hnbgw/cnlink.c
@@ -174,7 +174,7 @@
        }

        msg = ranap_new_msg_reset2(cnlink->pool->domain, &cause, use_grnc_id);
-
+       CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_TX_UDT_RESET);
        osmo_sccp_tx_unitdata_msg(cnlink->hnbgw_sccp_user->sccp_user,
                                  &cnlink->hnbgw_sccp_user->local_addr,
                                  &cnlink->remote_addr,
@@ -225,7 +225,7 @@
        }

        msg = ranap_new_msg_reset_ack(cnlink->pool->domain, use_grnc_id);
-
+       CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_TX_UDT_RESET_ACK);
        osmo_sccp_tx_unitdata_msg(cnlink->hnbgw_sccp_user->sccp_user,
                                  &cnlink->hnbgw_sccp_user->local_addr,
                                  &cnlink->remote_addr,
diff --git a/src/osmo-hnbgw/hnbgw_cn.c b/src/osmo-hnbgw/hnbgw_cn.c
index 63e233c..1def1a6 100644
--- a/src/osmo-hnbgw/hnbgw_cn.c
+++ b/src/osmo-hnbgw/hnbgw_cn.c
@@ -321,21 +321,27 @@
 {
        switch (imsg->procedureCode) {
        case RANAP_ProcedureCode_id_Reset:
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_RESET);
                return cn_ranap_rx_reset_cmd(cnlink, unitdata, imsg);
        case RANAP_ProcedureCode_id_Paging:
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_PAGING);
                return cn_ranap_rx_paging_cmd(cnlink, imsg, data, len);
        case RANAP_ProcedureCode_id_OverloadControl: /* Overload ind */
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_OVERLOAD_IND);
                break;
        case RANAP_ProcedureCode_id_ErrorIndication: /* Error ind */
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_ERROR_IND);
                break;
        case RANAP_ProcedureCode_id_ResetResource: /* request */
        case RANAP_ProcedureCode_id_InformationTransfer:
        case RANAP_ProcedureCode_id_DirectInformationTransfer:
        case RANAP_ProcedureCode_id_UplinkInformationExchange:
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_UNSUPPORTED);
                LOGP(DRANAP, LOGL_NOTICE, "Received unsupported RANAP "
                     "Procedure %ld from CN, ignoring\n", imsg->procedureCode);
                break;
        default:
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_UNKNOWN);
                LOGP(DRANAP, LOGL_NOTICE, "Received suspicious RANAP "
                     "Procedure %ld from CN, ignoring\n", imsg->procedureCode);
                break;
@@ -348,15 +354,18 @@
 {
        switch (omsg->procedureCode) {
        case RANAP_ProcedureCode_id_Reset: /* Reset acknowledge */
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_RESET);
                return cn_ranap_rx_reset_ack(cnlink, omsg);
        case RANAP_ProcedureCode_id_ResetResource: /* response */
        case RANAP_ProcedureCode_id_InformationTransfer:
        case RANAP_ProcedureCode_id_DirectInformationTransfer:
        case RANAP_ProcedureCode_id_UplinkInformationExchange:
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_UNSUPPORTED);
                LOGP(DRANAP, LOGL_NOTICE, "Received unsupported RANAP "
                     "Procedure %ld from CN, ignoring\n", omsg->procedureCode);
                break;
        default:
+               CNLINK_CTR_INC(cnlink, CNLINK_CTR_RANAP_RX_UDT_UNKNOWN);
                LOGP(DRANAP, LOGL_NOTICE, "Received suspicious RANAP "
                     "Procedure %ld from CN, ignoring\n", omsg->procedureCode);
                break;
@@ -1128,6 +1137,43 @@
 }

 static const struct rate_ctr_desc cnlink_ctr_description[] = {
+       [CNLINK_CTR_RANAP_RX_UDT_RESET] = {
+               "ranap:rx:udt:reset",
+               "RANAP Unitdata RESET messages received"
+       },
+       [CNLINK_CTR_RANAP_RX_UDT_RESET_ACK] = {
+               "ranap:rx:udt:reset_ack",
+               "RANAP Unitdata RESET ACK messages received",
+       },
+       [CNLINK_CTR_RANAP_RX_UDT_PAGING] = {
+               "ranap:rx:udt:paging",
+               "RANAP Unitdata PAGING messages received",
+       },
+       [CNLINK_CTR_RANAP_RX_UDT_UNKNOWN] = {
+               "ranap:rx:udt:unknown",
+               "Unknown RANAP Unitdata messages received",
+       },
+       [CNLINK_CTR_RANAP_RX_UDT_UNSUPPORTED] = {
+               "ranap:rx:udt:unsupported",
+               "Unsupported RANAP Unitdata messages received",
+       },
+       [CNLINK_CTR_RANAP_RX_UDT_OVERLOAD_IND] = {
+               "ranap:rx:udt:overload_ind",
+               "RANAP Unitdata Overload Indications received",
+       },
+       [CNLINK_CTR_RANAP_RX_UDT_ERROR_IND] = {
+               "ranap:rx:udt:error_ind",
+               "RANAP Unitdata Error Indications received",
+       },
+
+       [CNLINK_CTR_RANAP_TX_UDT_RESET] = {
+               "ranap:tx:udt:reset",
+               "RANAP Unitdata RESET messages transmitted",
+       },
+       [CNLINK_CTR_RANAP_TX_UDT_RESET_ACK] = {
+               "ranap:tx:udt:reset_ack",
+               "RANAP Unitdata RESET ACK messages transmitted",
+       },

        /* Indicators for CN pool usage */
        [CNLINK_CTR_CNPOOL_SUBSCR_NEW] = {

--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/36213?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ibe4c73b0288ea20ca3d54519b42bc7cb0e9e61b2
Gerrit-Change-Number: 36213
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <lafo...@osmocom.org>
Gerrit-MessageType: newchange

Reply via email to