pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-sigtran/+/42093?usp=email )
Change subject: sua: Support rx SCON in role=IPSP
......................................................................
sua: Support rx SCON in role=IPSP
Change-Id: I3f46b634084c1d71643812828d4f114ab45dffde
---
M src/sua.c
M src/xua_snm.c
2 files changed, 27 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran
refs/changes/93/42093/1
diff --git a/src/sua.c b/src/sua.c
index ceb5d7a..2eb93e3 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -1068,6 +1068,30 @@
return rc;
}
+/* received SNM message on IPSP side */
+static int sua_rx_snm_ipsp(struct osmo_ss7_asp *asp, struct xua_msg *xua)
+{
+ struct osmo_ss7_as *as = NULL;
+ struct xua_msg_part *rctx_ie;
+ int rc = 0;
+
+ switch (xua->hdr.msg_type) {
+ case M3UA_SNM_SCON:
+ /* RFC3868 1.5.6: "The SUA layer at an ASP or IPSP MAY indicate
local congestion to
+ * an SUA peer with an SCON message." */
+ rctx_ie = xua_msg_find_tag(xua, SUA_IEI_ROUTE_CTX);
+ rc = xua_find_as_for_asp(&as, asp, rctx_ie);
+ if (rc)
+ return rc;
+ xua_snm_rx_scon(asp, as, xua);
+ break;
+ default:
+ return M3UA_ERR_UNSUPP_MSG_TYPE;
+ }
+
+ return rc;
+}
+
static int sua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
{
/* SNM only permitted in ACTIVE state */
@@ -1087,6 +1111,8 @@
return sua_rx_snm_sg(asp, xua);
case OSMO_SS7_ASP_ROLE_ASP:
return sua_rx_snm_asp(asp, xua);
+ case OSMO_SS7_ASP_ROLE_IPSP:
+ return sua_rx_snm_ipsp(asp, xua);
default:
return SUA_ERR_UNSUPP_MSG_CLASS;
}
diff --git a/src/xua_snm.c b/src/xua_snm.c
index e983293..f7d3192 100644
--- a/src/xua_snm.c
+++ b/src/xua_snm.c
@@ -587,7 +587,7 @@
xua_snm_upu(as, aff_pc, user, cause, info_str);
}
-/* an incoming SUA/M3UA SCON was received from a remote SG */
+/* an incoming SUA/M3UA SCON was received from a remote ASP/SG/IPSP */
void xua_snm_rx_scon(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct
xua_msg *xua)
{
struct xua_msg_part *ie_aff_pc = xua_msg_find_tag(xua,
M3UA_IEI_AFFECTED_PC);
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42093?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I3f46b634084c1d71643812828d4f114ab45dffde
Gerrit-Change-Number: 42093
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>