pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmo-sigtran/+/42102?usp=email )


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(-)



  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 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: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I697e52dfd733cb9ee260bba133204a7462c4e8ee
Gerrit-Change-Number: 42102
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to