laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/27396 )
Change subject: gbproxy_peer: Add rate counters when forwarding packets fail ......................................................................
gbproxy_peer: Add rate counters when forwarding packets fail
Change-Id: I7fa972ba843993dac84241c04d66d5b7e2a0b40f --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 17 insertions(+), 6 deletions(-)
Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index 0657df7..00309e1 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -50,6 +50,8 @@ GBPROX_PEER_CTR_DROPPED, GBPROX_PEER_CTR_INV_NSEI, GBPROX_PEER_CTR_TX_ERR, + GBPROX_PEER_CTR_FWD_FROM_SGSN_ERR, + GBPROX_PEER_CTR_FWD_FROM_BSS_ERR, GBPROX_PEER_CTR_LAST, };
diff --git a/src/gb_proxy.c b/src/gb_proxy.c index c2b958a..298e132 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -532,6 +532,9 @@ } }
+ if (rc < 0) + rate_ctr_inc(rate_ctr_group_get_ctr(bss_bvc->ctrg, GBPROX_PEER_CTR_FWD_FROM_BSS_ERR)); + return 0; }
@@ -606,8 +609,12 @@ default: break; } - return gbprox_relay2peer(msg, bss_bvc, bss_bvc->bvci); + rc = gbprox_relay2peer(msg, bss_bvc, bss_bvc->bvci);
+ if (rc < 0) + rate_ctr_inc(rate_ctr_group_get_ctr(bss_bvc->ctrg, GBPROX_PEER_CTR_FWD_FROM_SGSN_ERR)); + + return rc; }
/*********************************************************************** diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index 74bde3a..1e300ad 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -39,11 +39,13 @@ extern void *tall_sgsn_ctx;
static const struct rate_ctr_desc bvc_ctr_description[] = { - [GBPROX_PEER_CTR_BLOCKED] = { "blocked", "BVC Block " }, - [GBPROX_PEER_CTR_UNBLOCKED] = { "unblocked", "BVC Unblock " }, - [GBPROX_PEER_CTR_DROPPED] = { "dropped", "BVC blocked, dropped packet " }, - [GBPROX_PEER_CTR_INV_NSEI] = { "inv-nsei", "NSEI mismatch " }, - [GBPROX_PEER_CTR_TX_ERR] = { "tx-err", "NS Transmission error " }, + [GBPROX_PEER_CTR_BLOCKED] = { "blocked", "BVC Block " }, + [GBPROX_PEER_CTR_UNBLOCKED] = { "unblocked", "BVC Unblock " }, + [GBPROX_PEER_CTR_DROPPED] = { "dropped", "BVC blocked, dropped packet " }, + [GBPROX_PEER_CTR_INV_NSEI] = { "inv-nsei", "NSEI mismatch " }, + [GBPROX_PEER_CTR_TX_ERR] = { "tx-err", "NS Transmission error " }, + [GBPROX_PEER_CTR_FWD_FROM_SGSN_ERR] = { "fwd-sgsn-err", "Forwarding data from SGSN failed" }, + [GBPROX_PEER_CTR_FWD_FROM_BSS_ERR] = { "fwd-bss-err", "Forwarding data from BSS failed " }, };
osmo_static_assert(ARRAY_SIZE(bvc_ctr_description) == GBPROX_PEER_CTR_LAST, everything_described);