aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2022-04-19 16:03:15 +0200
committerHarald Welte <laforge@osmocom.org>2022-04-19 17:12:42 +0200
commitf7716183a557f018e82fb6856af23da2a4c1e194 (patch)
treed4b853a41f553f69552f47fe80ed4d32576bfc6a /src
parent7fb09b88849d5c8796cfc8084ebeae03987b2d39 (diff)
octoi: Add new rate-counter for out-of-order packets
Diffstat (limited to 'src')
-rw-r--r--src/octoi/e1oip.c3
-rw-r--r--src/octoi/e1oip.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/octoi/e1oip.c b/src/octoi/e1oip.c
index 27eb201..e14d719 100644
--- a/src/octoi/e1oip.c
+++ b/src/octoi/e1oip.c
@@ -22,6 +22,7 @@
#include <errno.h>
#include <unistd.h>
#include <stdint.h>
+#include <inttypes.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
@@ -45,6 +46,7 @@
static const struct rate_ctr_desc iline_ctr_description[] = {
[LINE_CTR_E1oIP_UNDERRUN] = { "e1oip:underrun", "Frames missing/substituted in IP->E1 direction"},
[LINE_CTR_E1oIP_OVERFLOW] = { "e1oip:overflow", "Frames overflowed in IP->E1 direction"},
+ [LINE_CTR_E1oIP_RX_OUT_OF_ORDER] = { "e1oip:rx:pkt_out_of_order", "Packets out-of-order in IP->E1 direction"},
};
static const struct rate_ctr_group_desc iline_ctrg_desc = {
@@ -204,6 +206,7 @@ int e1oip_rcvmsg_tdm_data(struct e1oip_line *iline, struct msgb *msg)
re_ordering = false;
}
+ iline_ctr_add(iline, LINE_CTR_E1oIP_RX_OUT_OF_ORDER, 1);
LOGPEER(peer, LOGL_NOTICE, "RxIP: frame_nr=%u, but expected %u: delta=%d - assuming %s\n",
frame_nr, exp_next_seq, delta, re_ordering ? "re-ordering" : "packet loss");
diff --git a/src/octoi/e1oip.h b/src/octoi/e1oip.h
index 54fbadd..1a71f6c 100644
--- a/src/octoi/e1oip.h
+++ b/src/octoi/e1oip.h
@@ -16,6 +16,7 @@
enum e1oip_line_ctr {
LINE_CTR_E1oIP_UNDERRUN,
LINE_CTR_E1oIP_OVERFLOW,
+ LINE_CTR_E1oIP_RX_OUT_OF_ORDER,
};
enum e1oip_line_stat {