pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40294?usp=email )
Change subject: m3ua: Discard rx MSUs for non-active AS ......................................................................
m3ua: Discard rx MSUs for non-active AS
TODO originally added long time ago in d11fa298c5f179a03307c185b0d433e6ba61d40f.
Change-Id: Ibd3c85b9c5ac24fe1447c82b1f2cff4453105b84 --- M src/m3ua.c M src/ss7_as.c M src/ss7_as.h 3 files changed, 9 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/94/40294/1
diff --git a/src/m3ua.c b/src/m3ua.c index 35e2bb7..1180ead 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -622,13 +622,17 @@ }
rc = xua_find_as_for_asp(&as, asp, rctx_ie); - if (rc) + if (rc) { goto ret_free; + } + + if (!osmo_ss7_as_active(as)) { + rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_DISCARD); + goto ret_free; + }
rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_MSU_TOTAL);
- /* FIXME: check for AS state == ACTIVE */ - /* store the MTP-level information in the xua_msg for use by * higher layer protocols */ dh = data_hdr_from_m3ua(xua); diff --git a/src/ss7_as.c b/src/ss7_as.c index 4dedfc3..fac5ffe 100644 --- a/src/ss7_as.c +++ b/src/ss7_as.c @@ -58,6 +58,7 @@ #define SS7_AS_CTR_RX_MSU_SLS_STR "Number of MSU received on SLS " #define SS7_AS_CTR_TX_MSU_SLS_STR "Number of MSU transmitted on SLS " static const struct rate_ctr_desc ss7_as_rcd[] = { + [SS7_AS_CTR_RX_MSU_DISCARD] = { "rx:msu:discard", "Total number of incoming MSU discarded" }, [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" }, diff --git a/src/ss7_as.h b/src/ss7_as.h index bc17726..5bc3574 100644 --- a/src/ss7_as.h +++ b/src/ss7_as.h @@ -25,6 +25,7 @@ };
enum ss7_as_ctr { + SS7_AS_CTR_RX_MSU_DISCARD, SS7_AS_CTR_RX_MSU_TOTAL, SS7_AS_CTR_RX_MSU_SLS_0, SS7_AS_CTR_RX_MSU_SLS_1,