pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmo-sigtran/+/39406?usp=email )


Change subject: AS loadsharing: Introduce AS rate_ctr rx:msu:sls:*
......................................................................

AS loadsharing: Introduce AS rate_ctr rx:msu:sls:*

Related: SYS#7112
Change-Id: I695bd3933a116323db45ab7f45dcf539791139aa
---
M src/ipa.c
M src/m3ua.c
M src/osmo_ss7_as.c
M src/ss7_as.h
M src/sua.c
5 files changed, 40 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran 
refs/changes/06/39406/1

diff --git a/src/ipa.c b/src/ipa.c
index 6ca5b50..4e0180c 100644
--- a/src/ipa.c
+++ b/src/ipa.c
@@ -238,6 +238,8 @@
        }

        rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_TOTAL);
+       OSMO_ASSERT(sls <= 0xf);
+       rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_SLS_0 + sls);

        /* pull the IPA header */
        msgb_pull_to_l2(msg);
diff --git a/src/m3ua.c b/src/m3ua.c
index 5f94674..5d8349b 100644
--- a/src/m3ua.c
+++ b/src/m3ua.c
@@ -604,6 +604,7 @@
                "%s(): M3UA data header: opc=%u=%s dpc=%u=%s\n",
                __func__, xua->mtp.opc, osmo_ss7_pointcode_print(asp->inst, 
xua->mtp.opc),
                xua->mtp.dpc, osmo_ss7_pointcode_print2(asp->inst, 
xua->mtp.dpc));
+       rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_SLS_0 + xua->mtp.sls);

        if (rctx_ie) {
                /* remove ROUTE_CTX as in the routing case we want to add a new
diff --git a/src/osmo_ss7_as.c b/src/osmo_ss7_as.c
index eb655ca..f14fd03 100644
--- a/src/osmo_ss7_as.c
+++ b/src/osmo_ss7_as.c
@@ -54,9 +54,26 @@
        { 0, NULL }
 };

+#define SS7_AS_CTR_RX_MSU_SLS_STR "Number of MSU received on SLS "
 static const struct rate_ctr_desc ss7_as_rcd[] = {
-       [SS7_AS_CTR_RX_MSU_TOTAL] = { "rx:msu:total", "Total number of MSU 
received" },
-       [SS7_AS_CTR_TX_MSU_TOTAL] = { "tx:msu:total", "Total number of MSU 
transmitted" },
+       [SS7_AS_CTR_RX_MSU_TOTAL] = {   "rx:msu:total",         "Total number 
of MSU received" },
+       [SS7_AS_CTR_RX_MSU_SLS_0] = {   "rx:msu:sls:0",         
SS7_AS_CTR_RX_MSU_SLS_STR "0" },
+       [SS7_AS_CTR_RX_MSU_SLS_1] = {   "rx:msu:sls:1",         
SS7_AS_CTR_RX_MSU_SLS_STR "1" },
+       [SS7_AS_CTR_RX_MSU_SLS_2] = {   "rx:msu:sls:2",         
SS7_AS_CTR_RX_MSU_SLS_STR "2" },
+       [SS7_AS_CTR_RX_MSU_SLS_3] = {   "rx:msu:sls:3",         
SS7_AS_CTR_RX_MSU_SLS_STR "3" },
+       [SS7_AS_CTR_RX_MSU_SLS_4] = {   "rx:msu:sls:4",         
SS7_AS_CTR_RX_MSU_SLS_STR "4" },
+       [SS7_AS_CTR_RX_MSU_SLS_5] = {   "rx:msu:sls:5",         
SS7_AS_CTR_RX_MSU_SLS_STR "5" },
+       [SS7_AS_CTR_RX_MSU_SLS_6] = {   "rx:msu:sls:6",         
SS7_AS_CTR_RX_MSU_SLS_STR "6" },
+       [SS7_AS_CTR_RX_MSU_SLS_7] = {   "rx:msu:sls:7",         
SS7_AS_CTR_RX_MSU_SLS_STR "7" },
+       [SS7_AS_CTR_RX_MSU_SLS_8] = {   "rx:msu:sls:8",         
SS7_AS_CTR_RX_MSU_SLS_STR "8" },
+       [SS7_AS_CTR_RX_MSU_SLS_9] = {   "rx:msu:sls:9",         
SS7_AS_CTR_RX_MSU_SLS_STR "9" },
+       [SS7_AS_CTR_RX_MSU_SLS_10] = {  "rx:msu:sls:10",        
SS7_AS_CTR_RX_MSU_SLS_STR "10" },
+       [SS7_AS_CTR_RX_MSU_SLS_11] = {  "rx:msu:sls:11",        
SS7_AS_CTR_RX_MSU_SLS_STR "11" },
+       [SS7_AS_CTR_RX_MSU_SLS_12] = {  "rx:msu:sls:12",        
SS7_AS_CTR_RX_MSU_SLS_STR "12" },
+       [SS7_AS_CTR_RX_MSU_SLS_13] = {  "rx:msu:sls:13",        
SS7_AS_CTR_RX_MSU_SLS_STR "13" },
+       [SS7_AS_CTR_RX_MSU_SLS_14] = {  "rx:msu:sls:14",        
SS7_AS_CTR_RX_MSU_SLS_STR "14" },
+       [SS7_AS_CTR_RX_MSU_SLS_15] = {  "rx:msu:sls:15",        
SS7_AS_CTR_RX_MSU_SLS_STR "15" },
+       [SS7_AS_CTR_TX_MSU_TOTAL] = {   "tx:msu:total",         "Total number 
of MSU transmitted" },
 };

 static const struct rate_ctr_group_desc ss7_as_rcgd = {
diff --git a/src/ss7_as.h b/src/ss7_as.h
index 504818c..5ddd57e 100644
--- a/src/ss7_as.h
+++ b/src/ss7_as.h
@@ -25,6 +25,22 @@

 enum ss7_as_ctr {
        SS7_AS_CTR_RX_MSU_TOTAL,
+       SS7_AS_CTR_RX_MSU_SLS_0,
+       SS7_AS_CTR_RX_MSU_SLS_1,
+       SS7_AS_CTR_RX_MSU_SLS_2,
+       SS7_AS_CTR_RX_MSU_SLS_3,
+       SS7_AS_CTR_RX_MSU_SLS_4,
+       SS7_AS_CTR_RX_MSU_SLS_5,
+       SS7_AS_CTR_RX_MSU_SLS_6,
+       SS7_AS_CTR_RX_MSU_SLS_7,
+       SS7_AS_CTR_RX_MSU_SLS_8,
+       SS7_AS_CTR_RX_MSU_SLS_9,
+       SS7_AS_CTR_RX_MSU_SLS_10,
+       SS7_AS_CTR_RX_MSU_SLS_11,
+       SS7_AS_CTR_RX_MSU_SLS_12,
+       SS7_AS_CTR_RX_MSU_SLS_13,
+       SS7_AS_CTR_RX_MSU_SLS_14,
+       SS7_AS_CTR_RX_MSU_SLS_15,
        SS7_AS_CTR_TX_MSU_TOTAL,
 };

diff --git a/src/sua.c b/src/sua.c
index e81c471..636774f 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -534,6 +534,7 @@
                return rc;

        rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_TOTAL);
+       rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_SLS_0 + xua->mtp.sls);

        switch (xua->hdr.msg_type) {
        case 0: /* Reserved, permitted by ETSI TS 101 592 5.2.3.2 */
@@ -564,6 +565,7 @@
                return rc;

        rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_TOTAL);
+       rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_SLS_0 + xua->mtp.sls);

        switch (xua->hdr.msg_type) {
        case 0: /* Reserved, permitted by ETSI TS 101 592 5.2.3.2 */

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

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I695bd3933a116323db45ab7f45dcf539791139aa
Gerrit-Change-Number: 39406
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to