diff options
author | Harald Welte <laforge@osmocom.org> | 2022-04-19 16:03:15 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2022-04-19 17:12:42 +0200 |
commit | f7716183a557f018e82fb6856af23da2a4c1e194 (patch) | |
tree | d4b853a41f553f69552f47fe80ed4d32576bfc6a /src | |
parent | 7fb09b88849d5c8796cfc8084ebeae03987b2d39 (diff) |
octoi: Add new rate-counter for out-of-order packets
Change-Id: Ie97c1efecf8b673620ddc097e0184f8a9c92c3f0
Diffstat (limited to 'src')
-rw-r--r-- | src/octoi/e1oip.c | 3 | ||||
-rw-r--r-- | src/octoi/e1oip.h | 1 |
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 { |