pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42102?usp=email )
(
1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
)Change subject: xua: Improve logging around unexpected snm messages
......................................................................
xua: Improve logging around unexpected snm messages
Log rx of unexpected message type according to configured role.
Decrease verbosity of DAUD logging to match the new logging.
For SUA we can use M3UA's m3ua_snm_msgt_names because the value/strings
are the same and they are actually used through m3ua_msg_class_snm in
xua_dialect_sua.
Change-Id: I697e52dfd733cb9ee260bba133204a7462c4e8ee
---
M src/m3ua.c
M src/sua.c
M src/xua_internal.h
3 files changed, 22 insertions(+), 9 deletions(-)
Approvals:
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
daniel: Looks good to me, approved
diff --git a/src/m3ua.c b/src/m3ua.c
index a2da98e..93659c7 100644
--- a/src/m3ua.c
+++ b/src/m3ua.c
@@ -181,7 +181,7 @@
static const uint16_t drst_mand_ies[] = {
M3UA_IEI_AFFECTED_PC, 0
};
-static const struct value_string m3ua_snm_msgt_names[] = {
+const struct value_string m3ua_snm_msgt_names[] = {
{ M3UA_SNM_DUNA, "DUNA" },
{ M3UA_SNM_DAVA, "DAVA" },
{ M3UA_SNM_DAUD, "DAUD" },
@@ -1060,15 +1060,17 @@
/* RFC states only permitted in ASP->SG direction, not reverse. But some
* equipment still sends it to us as ASP ?!? */
if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) {
- LOGPASP(asp, DLM3UA, LOGL_NOTICE, "quirk daud_in_asp active: Accepting DAUD "
+ LOGPASP(asp, DLM3UA, LOGL_INFO, "quirk daud_in_asp active: Accepting DAUD "
"despite being in ASP role\n");
xua_snm_rx_daud(asp, xua);
} else {
- LOGPASP(asp, DLM3UA, LOGL_ERROR, "DAUD not permitted in ASP role\n");
+ LOGPASP(asp, DLM3UA, LOGL_NOTICE, "DAUD not permitted in ASP role\n");
rc = M3UA_ERR_UNSUPP_MSG_TYPE;
}
break;
default:
+ LOGPASP(asp, DLM3UA, LOGL_NOTICE, "Rx %s not permitted in ASP role\n",
+ get_value_string(m3ua_snm_msgt_names, xua->hdr.msg_type));
rc = M3UA_ERR_UNSUPP_MSG_TYPE;
}
@@ -1101,6 +1103,8 @@
xua_snm_rx_daud(asp, xua);
break;
default:
+ LOGPASP(asp, DLM3UA, LOGL_NOTICE, "Rx %s not permitted in SG role\n",
+ get_value_string(m3ua_snm_msgt_names, xua->hdr.msg_type));
return M3UA_ERR_UNSUPP_MSG_TYPE;
}
@@ -1131,16 +1135,18 @@
/* RFC states only permitted in ASP->SG direction, not reverse nor IPSP. But some
* equipment still sends it to us as IPSP ?!? */
if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) {
- LOGPASP(asp, DLM3UA, LOGL_NOTICE, "quirk daud_in_asp active: Accepting DAUD "
+ LOGPASP(asp, DLM3UA, LOGL_INFO, "quirk daud_in_asp active: Accepting DAUD "
"despite being in IPSP role\n");
xua_snm_rx_daud(asp, xua);
} else {
- LOGPASP(asp, DLM3UA, LOGL_ERROR, "DAUD not permitted in IPSP role\n");
+ LOGPASP(asp, DLM3UA, LOGL_NOTICE, "DAUD not permitted in IPSP role\n");
rc = M3UA_ERR_UNSUPP_MSG_TYPE;
}
break;
default:
/* RFC 4666 Section 1.5.2: there is no MTP3 network management status information */
+ LOGPASP(asp, DLM3UA, LOGL_NOTICE, "Rx %s not permitted in IPSP role\n",
+ get_value_string(m3ua_snm_msgt_names, xua->hdr.msg_type));
rc = M3UA_ERR_UNSUPP_MSG_TYPE;
}
diff --git a/src/sua.c b/src/sua.c
index f836a9a..9ebe4c6 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -1026,15 +1026,17 @@
/* RFC states only permitted in ASP->SG direction, not reverse. But some
* equipment still sends it to us as ASP ?!? */
if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) {
- LOGPASP(asp, DLSUA, LOGL_NOTICE, "quirk daud_in_asp active: Accepting DAUD "
+ LOGPASP(asp, DLSUA, LOGL_INFO, "quirk daud_in_asp active: Accepting DAUD "
"despite being in ASP role\n");
xua_snm_rx_daud(asp, xua);
} else {
- LOGPASP(asp, DLSUA, LOGL_ERROR, "DAUD not permitted in ASP role\n");
+ LOGPASP(asp, DLSUA, LOGL_NOTICE, "DAUD not permitted in ASP role\n");
return SUA_ERR_UNSUPP_MSG_TYPE;
}
break;
default:
+ LOGPASP(asp, DLSUA, LOGL_NOTICE, "Rx %s not permitted in ASP role\n",
+ get_value_string(m3ua_snm_msgt_names, xua->hdr.msg_type));
return SUA_ERR_UNSUPP_MSG_TYPE;
}
@@ -1062,6 +1064,8 @@
xua_snm_rx_daud(asp, xua);
break;
default:
+ LOGPASP(asp, DLSUA, LOGL_NOTICE, "Rx %s not permitted in SG role\n",
+ get_value_string(m3ua_snm_msgt_names, xua->hdr.msg_type));
return SUA_ERR_UNSUPP_MSG_TYPE;
}
@@ -1089,15 +1093,17 @@
/* RFC states only permitted in ASP->SG direction, not reverse nor IPSP. But some
* equipment still sends it to us as IPSP ?!? */
if (asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP) {
- LOGPASP(asp, DLSUA, LOGL_NOTICE, "quirk daud_in_asp active: Accepting DAUD "
+ LOGPASP(asp, DLSUA, LOGL_INFO, "quirk daud_in_asp active: Accepting DAUD "
"despite being in IPSP role\n");
xua_snm_rx_daud(asp, xua);
} else {
- LOGPASP(asp, DLSUA, LOGL_ERROR, "DAUD not permitted in IPSP role\n");
+ LOGPASP(asp, DLSUA, LOGL_NOTICE, "DAUD not permitted in IPSP role\n");
rc = SUA_ERR_UNSUPP_MSG_TYPE;
}
break;
default:
+ LOGPASP(asp, DLSUA, LOGL_NOTICE, "Rx %s not permitted in IPSP role\n",
+ get_value_string(m3ua_snm_msgt_names, xua->hdr.msg_type));
rc = M3UA_ERR_UNSUPP_MSG_TYPE;
}
diff --git a/src/xua_internal.h b/src/xua_internal.h
index ebd1442..81c8a1b 100644
--- a/src/xua_internal.h
+++ b/src/xua_internal.h
@@ -91,6 +91,7 @@
extern const struct xua_msg_class m3ua_msg_class_aspsm;
extern const struct xua_msg_class m3ua_msg_class_asptm;
+extern const struct value_string m3ua_snm_msgt_names[];
extern const struct value_string m3ua_err_names[];
extern const struct value_string m3ua_ntfy_type_names[];
extern const struct value_string m3ua_ntfy_stchg_names[];
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42102?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I697e52dfd733cb9ee260bba133204a7462c4e8ee
Gerrit-Change-Number: 42102
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42092?usp=email )
Change subject: sua: Support rx SCON in role=SG
......................................................................
sua: Support rx SCON in role=SG
Change-Id: Ide2b4f876ddbdb1bb0bfed11fad6fc13aaf1afda
---
M src/sua.c
1 file changed, 14 insertions(+), 1 deletion(-)
Approvals:
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
pespin: Looks good to me, approved
daniel: Looks good to me, but someone else must approve
diff --git a/src/sua.c b/src/sua.c
index 40b6e2f..ceb5d7a 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -1044,7 +1044,20 @@
/* received SNM message on SG side */
static int sua_rx_snm_sg(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;
case SUA_SNM_DAUD: /* Audit: ASP inquires about availability of Point Codes */
xua_snm_rx_daud(asp, xua);
break;
@@ -1052,7 +1065,7 @@
return SUA_ERR_UNSUPP_MSG_TYPE;
}
- return 0;
+ return rc;
}
static int sua_rx_snm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42092?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Ide2b4f876ddbdb1bb0bfed11fad6fc13aaf1afda
Gerrit-Change-Number: 42092
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42090?usp=email )
Change subject: xua_aspm_fsm: Remove unneeded workaround submitting XUA_ASP_E_M_ASP_ACTIVE_REQ
......................................................................
xua_aspm_fsm: Remove unneeded workaround submitting XUA_ASP_E_M_ASP_ACTIVE_REQ
Sending that kind of event is up to the layer manager.
Right now, all ASPs (except ipa_aspm_fsm, which doesn't need that event
because there's no ACTIVATE in IPA) have an associated layer manager
FSM, so that workaround is not needed.
Change-Id: If6c2c5b6ffc4080320aadc550d823abc5d613d6f
---
M src/xua_asp_fsm.c
1 file changed, 0 insertions(+), 4 deletions(-)
Approvals:
pespin: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index d3a7410..5ae0d0f 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -571,10 +571,6 @@
osmo_fsm_inst_state_chg(fi, XUA_ASP_S_INACTIVE, 0, 0);
/* inform layer manager */
send_xlm_prim_simple(fi, OSMO_XLM_PRIM_M_ASP_UP, PRIM_OP_CONFIRM);
- /* This hack should be in layer manager, but let's try
- * to be smart in case there is no layer manager */
- if (!asp->lm)
- osmo_fsm_inst_dispatch(fi, XUA_ASP_E_M_ASP_ACTIVE_REQ, NULL);
break;
case XUA_ASP_E_ASPSM_ASPUP:
/* only if role SG */
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42090?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: If6c2c5b6ffc4080320aadc550d823abc5d613d6f
Gerrit-Change-Number: 42090
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42089?usp=email )
Change subject: xua_as_fsm: Trigger PC (un)availability to upper layers in IPSP
......................................................................
xua_as_fsm: Trigger PC (un)availability to upper layers in IPSP
Same as done in ASP. This is specially important in IPSP in order to
trigger availability/unavailability of PCs defined in the SCCP
addressbook.
Change-Id: I0e6015f04ad0647cc151d3c772355a18cb55547a
---
M src/xua_as_fsm.c
1 file changed, 1 insertion(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
daniel: Looks good to me, approved
laforge: Looks good to me, but someone else must approve
diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c
index 092db55..53e2c00 100644
--- a/src/xua_as_fsm.c
+++ b/src/xua_as_fsm.c
@@ -523,6 +523,7 @@
switch (role) {
case OSMO_SS7_ASP_ROLE_ASP:
+ case OSMO_SS7_ASP_ROLE_IPSP:
if (s7i->sccp) {
if (became_available)
as_snm_pc_available(as);
@@ -539,9 +540,6 @@
xua_snm_pc_available(as, &aff_pc, 1, NULL, became_available);
}
break;
- case OSMO_SS7_ASP_ROLE_IPSP:
- /* TODO */
- break;
}
};
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42089?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I0e6015f04ad0647cc151d3c772355a18cb55547a
Gerrit-Change-Number: 42089
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Attention is currently required from: daniel.
pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42104?usp=email )
Change subject: cosmetic: ss7_asp.h: Drop comment no longer valid
......................................................................
Patch Set 2: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42104?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I2253b1cb9e24270b9d6b3400d3fa20827c66ad23
Gerrit-Change-Number: 42104
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: daniel <dwillmann(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 11 Feb 2026 14:59:13 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42093?usp=email )
Change subject: sua: Support rx SCON in role=IPSP
......................................................................
Patch Set 2: Code-Review+2
--
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: comment
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I3f46b634084c1d71643812828d4f114ab45dffde
Gerrit-Change-Number: 42093
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 11 Feb 2026 14:59:07 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes