pespin has uploaded this change for review.

View Change

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 change 39406. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I695bd3933a116323db45ab7f45dcf539791139aa
Gerrit-Change-Number: 39406
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>