pespin has uploaded this change for review.
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(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/02/42102/1
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 change 42102. To unsubscribe, or for help writing mail filters, visit settings.