<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-iuh/+/21900">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">hnbgw: Use LOGHNB() to add log context information to log lines<br><br>So far we don't really have any way of matching a given log message<br>to a specific hNB.  Let's use the newly-introduced LOGHNB() macro.<br><br>Change-Id: Ia16eed4ca5e9ef231259e94c65105f7586f366bc<br>---<br>M src/context_map.c<br>M src/hnbgw.c<br>M src/hnbgw_hnbap.c<br>M src/hnbgw_ranap.c<br>M src/hnbgw_rua.c<br>5 files changed, 103 insertions(+), 134 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/00/21900/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/context_map.c b/src/context_map.c</span><br><span>index dc555bf..f516efe 100644</span><br><span>--- a/src/context_map.c</span><br><span>+++ b/src/context_map.c</span><br><span>@@ -85,11 +85,11 @@</span><br><span>     }</span><br><span> </span><br><span>        if (alloc_cn_conn_id(cn_if_new, &new_scu_conn_id) < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DMAIN, LOGL_ERROR, "Unable to allocate CN connection ID\n");</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DMAIN, LOGL_ERROR, "Unable to allocate CN connection ID\n");</span><br><span>           return NULL;</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   LOGP(DMAIN, LOGL_INFO, "Creating new Mapping RUA CTX %p/%u <-> SCU Conn ID %p/%u\n",</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGHNB(hnb, DMAIN, LOGL_INFO, "Creating new Mapping RUA CTX %p/%u <-> SCU Conn ID %p/%u\n",</span><br><span>          hnb, rua_ctx_id, cn_if_new, new_scu_conn_id);</span><br><span> </span><br><span>    /* alloate a new map entry */</span><br><span>@@ -125,8 +125,7 @@</span><br><span>  /* we don't allocate new mappings in the CN->HNB</span><br><span>       * direction, as the RUA=SCCP=SUA connections are always</span><br><span>      * established from HNB towards CN. */</span><br><span style="color: hsl(0, 100%, 40%);">-  LOGP(DMAIN, LOGL_NOTICE, "Unable to resolve map for CN "</span><br><span style="color: hsl(0, 100%, 40%);">-              "connection ID %p/%u\n", cn, scu_conn_id);</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGP(DMAIN, LOGL_NOTICE, "Unable to resolve map for CN " "connection ID %p/%u\n", cn, scu_conn_id);</span><br><span>      return NULL;</span><br><span> }</span><br><span> </span><br><span>diff --git a/src/hnbgw.c b/src/hnbgw.c</span><br><span>index ba8a06f..a6e0d29 100644</span><br><span>--- a/src/hnbgw.c</span><br><span>+++ b/src/hnbgw.c</span><br><span>@@ -235,7 +235,7 @@</span><br><span>                 msgb_free(msg);</span><br><span>              return 0;</span><br><span>    } else if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DMAIN, LOGL_ERROR, "Error during sctp_recvmsg()\n");</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DMAIN, LOGL_ERROR, "Error during sctp_recvmsg()\n");</span><br><span>           /* FIXME: clean up after disappeared HNB */</span><br><span>          hnb_context_release(hnb);</span><br><span>            goto out;</span><br><span>@@ -260,13 +260,11 @@</span><br><span>    case IUH_PPI_SABP:</span><br><span>   case IUH_PPI_RNA:</span><br><span>    case IUH_PPI_PUA:</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DMAIN, LOGL_ERROR, "Unimplemented SCTP PPID=%lu received\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                  msgb_sctp_ppid(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGHNB(hnb, DMAIN, LOGL_ERROR, "Unimplemented SCTP PPID=%lu received\n", msgb_sctp_ppid(msg));</span><br><span>             rc = 0;</span><br><span>              break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DMAIN, LOGL_ERROR, "Unknown SCTP PPID=%lu received\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                msgb_sctp_ppid(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGHNB(hnb, DMAIN, LOGL_ERROR, "Unknown SCTP PPID=%lu received\n", msgb_sctp_ppid(msg));</span><br><span>           rc = 0;</span><br><span>              break;</span><br><span>       }</span><br><span>diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c</span><br><span>index c118774..bc503d3 100644</span><br><span>--- a/src/hnbgw_hnbap.c</span><br><span>+++ b/src/hnbgw_hnbap.c</span><br><span>@@ -64,8 +64,8 @@</span><br><span>       memset(&reject_out, 0, sizeof(reject_out));</span><br><span>      rc = hnbap_encode_hnbregisterrejecties(&reject_out,  &reject);</span><br><span>       if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_ERROR, "Failure to encode HNB-REGISTER-REJECT to %s: rc=%d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                   ctx->identity_info, rc);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(ctx, DHNBAP, LOGL_ERROR, "Failure to encode HNB-REGISTER-REJECT to %s: rc=%d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                     ctx->identity_info, rc);</span><br><span>          return rc;</span><br><span>   }</span><br><span> </span><br><span>@@ -106,8 +106,8 @@</span><br><span>  memset(&accept_out, 0, sizeof(accept_out));</span><br><span>      rc = hnbap_encode_hnbregisteraccepties(&accept_out,  &accept);</span><br><span>       if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_ERROR, "Failure to encode HNB-REGISTER-ACCEPT to %s: rc=%d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                   ctx->identity_info, rc);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(ctx, DHNBAP, LOGL_ERROR, "Failure to encode HNB-REGISTER-ACCEPT to %s: rc=%d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                     ctx->identity_info, rc);</span><br><span>          return rc;</span><br><span>   }</span><br><span> </span><br><span>@@ -119,7 +119,7 @@</span><br><span> </span><br><span>      ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBRegisterAccept, &accept_out);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  LOGP(DHNBAP, LOGL_NOTICE, "Accepting HNB-REGISTER-REQ from %s\n", ctx->identity_info);</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGHNB(ctx, DHNBAP, LOGL_NOTICE, "Accepting HNB-REGISTER-REQ from %s\n", ctx->identity_info);</span><br><span> </span><br><span>       return hnbgw_hnbap_tx(ctx, msg);</span><br><span> }</span><br><span>@@ -174,20 +174,14 @@</span><br><span>        /* Copy the identity over to the reject message */</span><br><span>   switch (ue_id->present) {</span><br><span>         case UE_Identity_PR_tMSILAI:</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id tMSI %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                 ue_id->choice.tMSILAI.tMSI.size,</span><br><span style="color: hsl(0, 100%, 40%);">-                     osmo_hexdump(ue_id->choice.tMSILAI.tMSI.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                              ue_id->choice.tMSILAI.tMSI.size));</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id tMSI %d %s\n", ue_id->choice.tMSILAI.tMSI.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                       osmo_hexdump(ue_id->choice.tMSILAI.tMSI.buf, ue_id->choice.tMSILAI.tMSI.size));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id pLMNID %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-               ue_id->choice.tMSILAI.lAI.pLMNID.size,</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_hexdump(ue_id->choice.tMSILAI.lAI.pLMNID.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                                ue_id->choice.tMSILAI.lAI.pLMNID.size));</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id pLMNID %d %s\n", ue_id->choice.tMSILAI.lAI.pLMNID.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                       osmo_hexdump(ue_id->choice.tMSILAI.lAI.pLMNID.buf, ue_id->choice.tMSILAI.lAI.pLMNID.size));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id lAC %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                  ue_id->choice.tMSILAI.lAI.lAC.size,</span><br><span style="color: hsl(0, 100%, 40%);">-                  osmo_hexdump(ue_id->choice.tMSILAI.lAI.lAC.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                           ue_id->choice.tMSILAI.lAI.lAC.size));</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id lAC %d %s\n", ue_id->choice.tMSILAI.lAI.lAC.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                     osmo_hexdump(ue_id->choice.tMSILAI.lAI.lAC.buf, ue_id->choice.tMSILAI.lAI.lAC.size));</span><br><span> </span><br><span>              BIT_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.tMSI,</span><br><span>                                 ue_id->choice.tMSILAI.tMSI.buf,</span><br><span>@@ -202,25 +196,17 @@</span><br><span>                break;</span><br><span> </span><br><span>   case UE_Identity_PR_pTMSIRAI:</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id pTMSI %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                ue_id->choice.pTMSIRAI.pTMSI.size,</span><br><span style="color: hsl(0, 100%, 40%);">-                   osmo_hexdump(ue_id->choice.pTMSIRAI.pTMSI.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                            ue_id->choice.pTMSIRAI.pTMSI.size));</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id pTMSI %d %s\n", ue_id->choice.pTMSIRAI.pTMSI.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                    osmo_hexdump(ue_id->choice.pTMSIRAI.pTMSI.buf, ue_id->choice.pTMSIRAI.pTMSI.size));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id pLMNID %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-               ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size,</span><br><span style="color: hsl(0, 100%, 40%);">-                  osmo_hexdump(ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                           ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size));</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id pLMNID %d %s\n", ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                  osmo_hexdump(ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id lAC %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                  ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size,</span><br><span style="color: hsl(0, 100%, 40%);">-                     osmo_hexdump(ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                              ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size));</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id lAC %d %s\n", ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                        osmo_hexdump(ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DHNBAP, LOGL_DEBUG, "REJ UE_Id rAC %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                  ue_id->choice.pTMSIRAI.rAI.rAC.size,</span><br><span style="color: hsl(0, 100%, 40%);">-                 osmo_hexdump(ue_id->choice.pTMSIRAI.rAI.rAC.buf,</span><br><span style="color: hsl(0, 100%, 40%);">-                                  ue_id->choice.pTMSIRAI.rAI.rAC.size));</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "REJ UE_Id rAC %d %s\n", ue_id->choice.pTMSIRAI.rAI.rAC.size,</span><br><span style="color: hsl(120, 100%, 40%);">+                    osmo_hexdump(ue_id->choice.pTMSIRAI.rAI.rAC.buf, ue_id->choice.pTMSIRAI.rAI.rAC.size));</span><br><span> </span><br><span>            BIT_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.pTMSI,</span><br><span>                               ue_id->choice.pTMSIRAI.pTMSI.buf,</span><br><span>@@ -238,13 +224,12 @@</span><br><span>              break;</span><br><span> </span><br><span>   default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_ERROR, "Cannot compose UE Register Reject:"</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Cannot compose UE Register Reject:"</span><br><span>                    " unsupported UE ID (present=%d)\n", ue_id->present);</span><br><span>              return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   LOGP(DHNBAP, LOGL_ERROR, "Rejecting UE Register Request:"</span><br><span style="color: hsl(0, 100%, 40%);">-          " TMSI identity registration is switched off\n");</span><br><span style="color: hsl(120, 100%, 40%);">+      LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Rejecting UE Register Request: TMSI identity registration is switched off\n");</span><br><span> </span><br><span>        reject.cause.present = Cause_PR_radioNetwork;</span><br><span>        reject.cause.choice.radioNetwork = CauseRadioNetwork_invalid_UE_identity;</span><br><span>@@ -337,14 +322,12 @@</span><br><span>            break;</span><br><span> </span><br><span>   default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_ERROR, "Unsupportedccept UE ID (present=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     ue_id->present);</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Unsupportedccept UE ID (present=%d)\n", ue_id->present);</span><br><span>               return -1;</span><br><span>   }</span><br><span> </span><br><span>        tmsi = ntohl(tmsi);</span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DHNBAP, LOGL_DEBUG, "HNBAP register with TMSI %x\n",</span><br><span style="color: hsl(0, 100%, 40%);">-          tmsi);</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGHNB(hnb, DHNBAP, LOGL_DEBUG, "HNBAP register with TMSI %x\n", tmsi);</span><br><span> </span><br><span>        ue = ue_context_by_tmsi(hnb->gw, tmsi);</span><br><span>   if (!ue)</span><br><span>@@ -402,8 +385,7 @@</span><br><span>       if (rc < 0)</span><br><span>               return rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGP(DHNBAP, "HNB-DE-REGISTER cause=%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-          hnbap_cause_str(&ies.cause));</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGHNB(ctx, DHNBAP, LOGL_DEBUG, "HNB-DE-REGISTER cause=%s\n", hnbap_cause_str(&ies.cause));</span><br><span> </span><br><span>        hnbap_free_hnbde_registeries(&ies);</span><br><span>      hnb_context_release(ctx);</span><br><span>@@ -419,8 +401,8 @@</span><br><span> </span><br><span>  rc = hnbap_decode_hnbregisterrequesties(&ies, in);</span><br><span>       if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_ERROR, "Failure to decode HNB-REGISTER-REQ from %s: rc=%d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    ctx->identity_info, rc);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(ctx, DHNBAP, LOGL_ERROR, "Failure to decode HNB-REGISTER-REQ from %s: rc=%d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                      ctx->identity_info, rc);</span><br><span>          return rc;</span><br><span>   }</span><br><span> </span><br><span>@@ -437,9 +419,9 @@</span><br><span>          if (hnb->hnb_registered && ctx != hnb && memcmp(&ctx->id, &hnb->id, sizeof(ctx->id)) == 0) {</span><br><span>                     struct osmo_fd *ofd = osmo_stream_srv_get_ofd(ctx->conn);</span><br><span>                         char *name = osmo_sock_get_name(ctx, ofd->fd);</span><br><span style="color: hsl(0, 100%, 40%);">-                       LOGP(DHNBAP, LOGL_ERROR, "rejecting HNB-REGISTER-REQ with duplicate cell identity "</span><br><span style="color: hsl(0, 100%, 40%);">-                        "MCC=%u,MNC=%u,LAC=%u,RAC=%u,SAC=%u,CID=%u from %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                        ctx->id.mcc, ctx->id.mnc, ctx->id.lac, ctx->id.rac, ctx->id.sac, ctx->id.cid, name);</span><br><span style="color: hsl(120, 100%, 40%);">+                   LOGHNB(ctx, DHNBAP, LOGL_ERROR, "rejecting HNB-REGISTER-REQ with duplicate cell identity "</span><br><span style="color: hsl(120, 100%, 40%);">+                          "MCC=%u,MNC=%u,LAC=%u,RAC=%u,SAC=%u,CID=%u from %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                              ctx->id.mcc, ctx->id.mnc, ctx->id.lac, ctx->id.rac, ctx->id.sac, ctx->id.cid, name);</span><br><span>                       talloc_free(name);</span><br><span>                   return hnbgw_tx_hnb_register_rej(ctx);</span><br><span>               }</span><br><span>@@ -447,7 +429,7 @@</span><br><span> </span><br><span>  ctx->hnb_registered = true;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      DEBUGP(DHNBAP, "HNB-REGISTER-REQ from %s\n", ctx->identity_info);</span><br><span style="color: hsl(120, 100%, 40%);">+        LOGHNB(ctx, DHNBAP, LOGL_DEBUG, "HNB-REGISTER-REQ from %s\n", ctx->identity_info);</span><br><span> </span><br><span>  /* Send HNBRegisterAccept */</span><br><span>         rc = hnbgw_tx_hnb_register_acc(ctx);</span><br><span>@@ -489,14 +471,13 @@</span><br><span>                 hnbap_free_ueregisterrequesties(&ies);</span><br><span>           return rc;</span><br><span>   default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_NOTICE,</span><br><span style="color: hsl(0, 100%, 40%);">-                    "UE-REGISTER-REQ with unsupported UE Id type %d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                   ies.uE_Identity.present);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGHNB(ctx, DHNBAP, LOGL_NOTICE, "UE-REGISTER-REQ with unsupported UE Id type %d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                        ies.uE_Identity.present);</span><br><span>            hnbap_free_ueregisterrequesties(&ies);</span><br><span>           return rc;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   DEBUGP(DHNBAP, "UE-REGISTER-REQ ID_type=%d imsi=%s cause=%ld\n",</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGHNB(ctx, DHNBAP, LOGL_DEBUG, "UE-REGISTER-REQ ID_type=%d imsi=%s cause=%ld\n",</span><br><span>          ies.uE_Identity.present, imsi, ies.registration_Cause);</span><br><span> </span><br><span>  ue = ue_context_by_imsi(ctx->gw, imsi);</span><br><span>@@ -521,8 +502,7 @@</span><br><span> </span><br><span>         ctxid = asn1bitstr_to_u24(&ies.context_ID);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     DEBUGP(DHNBAP, "UE-DE-REGISTER context=%u cause=%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                ctxid, hnbap_cause_str(&ies.cause));</span><br><span style="color: hsl(120, 100%, 40%);">+      LOGHNB(ctx, DHNBAP, LOGL_DEBUG, "UE-DE-REGISTER context=%u cause=%s\n", ctxid, hnbap_cause_str(&ies.cause));</span><br><span> </span><br><span>       ue = ue_context_by_id(ctx->gw, ctxid);</span><br><span>    if (ue)</span><br><span>@@ -541,8 +521,7 @@</span><br><span>        if (rc < 0)</span><br><span>               return rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  LOGP(DHNBAP, LOGL_NOTICE, "HNBAP ERROR.ind, cause: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-             hnbap_cause_str(&ies.cause));</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGHNB(hnb, DHNBAP, LOGL_NOTICE, "HNBAP ERROR.ind, cause: %s\n", hnbap_cause_str(&ies.cause));</span><br><span> </span><br><span>     hnbap_free_errorindicationies(&ies);</span><br><span>     return 0;</span><br><span>@@ -573,12 +552,10 @@</span><br><span>    case ProcedureCode_id_RelocationComplete:       /* 8.11 */</span><br><span>   case ProcedureCode_id_U_RNTIQuery:      /* 8.12 */</span><br><span>   case ProcedureCode_id_privateMessage:</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DHNBAP, LOGL_NOTICE, "Unimplemented HNBAP Procedure %ld\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                      imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(hnb, DHNBAP, LOGL_NOTICE, "Unimplemented HNBAP Procedure %ld\n", imsg->procedureCode);</span><br><span>           break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_NOTICE, "Unknown HNBAP Procedure %ld\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(hnb, DHNBAP, LOGL_NOTICE, "Unknown HNBAP Procedure %ld\n", imsg->procedureCode);</span><br><span>                 break;</span><br><span>       }</span><br><span> </span><br><span>@@ -594,10 +571,9 @@</span><br><span> static int hnbgw_rx_unsuccessful_outcome_msg(struct hnb_context *hnb, UnsuccessfulOutcome_t *msg)</span><br><span> {</span><br><span>       /* We don't care much about HNBAP */</span><br><span style="color: hsl(0, 100%, 40%);">-        LOGP(DHNBAP, LOGL_ERROR, "Received Unsuccessful Outcome, procedureCode %ld, criticality %ld,"</span><br><span style="color: hsl(0, 100%, 40%);">-      " from '%s', cell mcc %u mnc %u lac %u rac %u sac %u cid %u\n",</span><br><span style="color: hsl(0, 100%, 40%);">-       msg->procedureCode, msg->criticality, hnb->identity_info,</span><br><span style="color: hsl(0, 100%, 40%);">-      hnb->id.mcc, hnb->id.mnc, hnb->id.lac, hnb->id.rac, hnb->id.sac, hnb->id.cid);</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Received Unsuccessful Outcome, procedureCode %ld, criticality %ld,"</span><br><span style="color: hsl(120, 100%, 40%);">+                " cell mcc %u mnc %u lac %u rac %u sac %u cid %u\n", msg->procedureCode, msg->criticality,</span><br><span style="color: hsl(120, 100%, 40%);">+            hnb->id.mcc, hnb->id.mnc, hnb->id.lac, hnb->id.rac, hnb->id.sac, hnb->id.cid);</span><br><span>     return 0;</span><br><span> }</span><br><span> </span><br><span>@@ -619,8 +595,7 @@</span><br><span>             rc = hnbgw_rx_unsuccessful_outcome_msg(hnb, &pdu->choice.unsuccessfulOutcome);</span><br><span>                break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DHNBAP, LOGL_NOTICE, "Unknown HNBAP Presence %u\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                      pdu->present);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGHNB(hnb, DHNBAP, LOGL_NOTICE, "Unknown HNBAP Presence %u\n", pdu->present);</span><br><span>          rc = -1;</span><br><span>     }</span><br><span> </span><br><span>@@ -639,7 +614,7 @@</span><br><span>  dec_ret = aper_decode(NULL, &asn_DEF_HNBAP_PDU, (void **) &pdu,</span><br><span>                            msg->data, msgb_length(msg), 0, 0);</span><br><span>         if (dec_ret.code != RC_OK) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DHNBAP, LOGL_ERROR, "Error in ASN.1 decode\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGHNB(hnb, DHNBAP, LOGL_ERROR, "Error in ASN.1 decode\n");</span><br><span>                return -1;</span><br><span>   }</span><br><span> </span><br><span>diff --git a/src/hnbgw_ranap.c b/src/hnbgw_ranap.c</span><br><span>index 6822752..445d463 100644</span><br><span>--- a/src/hnbgw_ranap.c</span><br><span>+++ b/src/hnbgw_ranap.c</span><br><span>@@ -64,7 +64,7 @@</span><br><span>   if (ies.cN_DomainIndicator == RANAP_CN_DomainIndicator_ps_domain)</span><br><span>            is_ps=1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    LOGP(DRANAP, LOGL_INFO, "Rx RESET.req(%s,%s)\n", is_ps ? "ps" : "cs",</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGHNB(hnb, DRANAP, LOGL_INFO, "Rx RESET.req(%s,%s)\n", is_ps ? "ps" : "cs",</span><br><span>           ranap_cause_str(&ies.cause));</span><br><span> </span><br><span>        /* FIXME: Actually we have to wait for some guard time? */</span><br><span>@@ -84,10 +84,9 @@</span><br><span>              return rc;</span><br><span> </span><br><span>       if (ies.presenceMask & ERRORINDICATIONIES_RANAP_CAUSE_PRESENT) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DRANAP, LOGL_ERROR, "Rx ERROR.ind(%s)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                        ranap_cause_str(&ies.cause));</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGHNB(hnb, DRANAP, LOGL_ERROR, "Rx ERROR.ind(%s)\n", ranap_cause_str(&ies.cause));</span><br><span>    } else</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DRANAP, LOGL_ERROR, "Rx ERROR.ind\n");</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DRANAP, LOGL_ERROR, "Rx ERROR.ind\n");</span><br><span> </span><br><span>     return 0;</span><br><span> }</span><br><span>@@ -117,12 +116,12 @@</span><br><span>       case RANAP_ProcedureCode_id_InformationTransfer:</span><br><span>     case RANAP_ProcedureCode_id_DirectInformationTransfer:</span><br><span>       case RANAP_ProcedureCode_id_UplinkInformationExchange:</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DRANAP, LOGL_NOTICE, "Received unsupported RANAP "</span><br><span style="color: hsl(0, 100%, 40%);">-                    "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DRANAP, LOGL_NOTICE, "Received unsupported RANAP "</span><br><span style="color: hsl(120, 100%, 40%);">+                      "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span>             break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DRANAP, LOGL_NOTICE, "Received suspicious RANAP "</span><br><span style="color: hsl(0, 100%, 40%);">-                     "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DRANAP, LOGL_NOTICE, "Received suspicious RANAP "</span><br><span style="color: hsl(120, 100%, 40%);">+                       "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span>             break;</span><br><span>       }</span><br><span> </span><br><span>@@ -145,12 +144,12 @@</span><br><span>        case RANAP_ProcedureCode_id_InformationTransfer:</span><br><span>     case RANAP_ProcedureCode_id_DirectInformationTransfer:</span><br><span>       case RANAP_ProcedureCode_id_UplinkInformationExchange:</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DRANAP, LOGL_NOTICE, "Received unsupported RANAP "</span><br><span style="color: hsl(0, 100%, 40%);">-                    "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DRANAP, LOGL_NOTICE, "Received unsupported RANAP "</span><br><span style="color: hsl(120, 100%, 40%);">+                      "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span>             break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DRANAP, LOGL_NOTICE, "Received suspicious RANAP "</span><br><span style="color: hsl(0, 100%, 40%);">-                     "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DRANAP, LOGL_NOTICE, "Received suspicious RANAP "</span><br><span style="color: hsl(120, 100%, 40%);">+                       "Procedure %lu from HNB, ignoring\n", imsg->procedureCode);</span><br><span>             break;</span><br><span>       }</span><br><span> </span><br><span>@@ -171,13 +170,13 @@</span><br><span>                rc = ranap_rx_successful_msg(hnb, &pdu->choice.successfulOutcome);</span><br><span>            break;</span><br><span>       case RANAP_RANAP_PDU_PR_unsuccessfulOutcome:</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DRANAP, LOGL_NOTICE, "Received unsupported RANAP "</span><br><span style="color: hsl(0, 100%, 40%);">-                    "unsuccessful outcome procedure %lu from HNB, ignoring\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    pdu->choice.unsuccessfulOutcome.procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGHNB(hnb, DRANAP, LOGL_NOTICE, "Received unsupported RANAP "</span><br><span style="color: hsl(120, 100%, 40%);">+                      "unsuccessful outcome procedure %lu from HNB, ignoring\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  pdu->choice.unsuccessfulOutcome.procedureCode);</span><br><span>           break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DRANAP, LOGL_NOTICE, "Received suspicious RANAP "</span><br><span style="color: hsl(0, 100%, 40%);">-                     "presence %u from HNB, ignoring\n", pdu->present);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGHNB(hnb, DRANAP, LOGL_NOTICE, "Received suspicious RANAP "</span><br><span style="color: hsl(120, 100%, 40%);">+                       "presence %u from HNB, ignoring\n", pdu->present);</span><br><span>              break;</span><br><span>       }</span><br><span> </span><br><span>@@ -188,6 +187,7 @@</span><br><span> int hnbgw_ranap_rx(struct msgb *msg, uint8_t *data, size_t len)</span><br><span> {</span><br><span>  RANAP_RANAP_PDU_t _pdu, *pdu = &_pdu;</span><br><span style="color: hsl(120, 100%, 40%);">+     struct hnb_context *hnb = msg->dst;</span><br><span>       asn_dec_rval_t dec_ret;</span><br><span>      int rc;</span><br><span> </span><br><span>@@ -195,11 +195,11 @@</span><br><span>  dec_ret = aper_decode(NULL,&asn_DEF_RANAP_RANAP_PDU, (void **) &pdu,</span><br><span>                               data, len, 0, 0);</span><br><span>      if (dec_ret.code != RC_OK) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DRANAP, LOGL_ERROR, "Error in RANAP ASN.1 decode\n");</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGHNB(hnb, DRANAP, LOGL_ERROR, "Error in RANAP ASN.1 decode\n");</span><br><span>          return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = _hnbgw_ranap_rx(msg->dst, pdu);</span><br><span style="color: hsl(120, 100%, 40%);">+       rc = _hnbgw_ranap_rx(hnb, pdu);</span><br><span> </span><br><span>  return rc;</span><br><span> }</span><br><span>diff --git a/src/hnbgw_rua.c b/src/hnbgw_rua.c</span><br><span>index 71c3f8e..5224bf1 100644</span><br><span>--- a/src/hnbgw_rua.c</span><br><span>+++ b/src/hnbgw_rua.c</span><br><span>@@ -86,7 +86,7 @@</span><br><span>                                               &out);</span><br><span>     ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_ConnectionlessTransfer, &out);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        DEBUGP(DRUA, "transmitting RUA payload of %u bytes\n", msgb_length(msg));</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGHNB(hnb, DRUA, LOGL_DEBUG, "transmitting RUA payload of %u bytes\n", msgb_length(msg));</span><br><span> </span><br><span>     return hnbgw_rua_tx(hnb, msg);</span><br><span> }</span><br><span>@@ -122,7 +122,7 @@</span><br><span>                                          &out);</span><br><span>     ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_DirectTransfer, &out);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        DEBUGP(DRUA, "transmitting RUA (cn=%s) payload of %u bytes\n",</span><br><span style="color: hsl(120, 100%, 40%);">+      LOGHNB(hnb, DRUA, LOGL_DEBUG, "transmitting RUA (cn=%s) payload of %u bytes\n",</span><br><span>            is_ps ? "ps" : "cs", msgb_length(msg));</span><br><span> </span><br><span>      return hnbgw_rua_tx(hnb, msg);</span><br><span>@@ -163,7 +163,7 @@</span><br><span>                                               &out);</span><br><span>     ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Disconnect, &out);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    DEBUGP(DRUA, "transmitting RUA (cn=%s) payload of %u bytes\n",</span><br><span style="color: hsl(120, 100%, 40%);">+      LOGHNB(hnb, DRUA, LOGL_DEBUG, "transmitting RUA (cn=%s) payload of %u bytes\n",</span><br><span>            is_ps ? "ps" : "cs", msgb_length(msg));</span><br><span> </span><br><span> </span><br><span>@@ -198,13 +198,12 @@</span><br><span>          is_ps = true;</span><br><span>                break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DRUA, LOGL_ERROR, "Unsupported Domain %ld\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                 cN_DomainIndicator);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGHNB(hnb, DRUA, LOGL_ERROR, "Unsupported Domain %ld\n", cN_DomainIndicator);</span><br><span>             return -1;</span><br><span>   }</span><br><span> </span><br><span>        if (!cn) {</span><br><span style="color: hsl(0, 100%, 40%);">-              DEBUGP(DRUA, "CN=NULL, discarding message\n");</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(hnb, DRUA, LOGL_NOTICE, "CN=NULL, discarding message\n");</span><br><span>           return 0;</span><br><span>    }</span><br><span> </span><br><span>@@ -215,17 +214,14 @@</span><br><span> </span><br><span>    switch (type) {</span><br><span>      case OSMO_SCU_PRIM_N_UNITDATA:</span><br><span style="color: hsl(0, 100%, 40%);">-          DEBUGP(DRUA, "rua_to_scu() %s to %s, rua_ctx_id %u (unitdata, no scu_conn_id)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    cn_domain_indicator_to_str(cN_DomainIndicator),</span><br><span style="color: hsl(0, 100%, 40%);">-                 osmo_sccp_addr_dump(remote_addr),</span><br><span style="color: hsl(0, 100%, 40%);">-                       context_id);</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DRUA, LOGL_DEBUG, "rua_to_scu() %s to %s, rua_ctx_id %u (unitdata, no scu_conn_id)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  cn_domain_indicator_to_str(cN_DomainIndicator), osmo_sccp_addr_dump(remote_addr), context_id);</span><br><span>               break;</span><br><span>       default:</span><br><span>             map = context_map_alloc_by_hnb(hnb, context_id, is_ps, cn);</span><br><span>          OSMO_ASSERT(map);</span><br><span style="color: hsl(0, 100%, 40%);">-               DEBUGP(DRUA, "rua_to_scu() %s to %s, rua_ctx_id %u scu_conn_id %u\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                cn_domain_indicator_to_str(cN_DomainIndicator),</span><br><span style="color: hsl(0, 100%, 40%);">-                 osmo_sccp_addr_dump(remote_addr),</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(hnb, DRUA, LOGL_DEBUG, "rua_to_scu() %s to %s, rua_ctx_id %u scu_conn_id %u\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                     cn_domain_indicator_to_str(cN_DomainIndicator), osmo_sccp_addr_dump(remote_addr),</span><br><span>                    map->rua_ctx_id, map->scu_conn_id);</span><br><span>     }</span><br><span> </span><br><span>@@ -237,10 +233,10 @@</span><br><span>                prim->u.connect.sccp_class = 2;</span><br><span>           prim->u.connect.conn_id = map->scu_conn_id;</span><br><span>            /* Two separate logs because of osmo_sccp_addr_dump(). */</span><br><span style="color: hsl(0, 100%, 40%);">-               DEBUGP(DRUA, "RUA to SCCP N_CONNECT: called_addr:%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                      osmo_sccp_addr_dump(&prim->u.connect.called_addr));</span><br><span style="color: hsl(0, 100%, 40%);">-               DEBUGP(DRUA, "RUA to SCCP N_CONNECT: calling_addr:%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     osmo_sccp_addr_dump(&prim->u.connect.calling_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA to SCCP N_CONNECT: called_addr:%s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                    osmo_sccp_addr_dump(&prim->u.connect.called_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA to SCCP N_CONNECT: calling_addr:%s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                   osmo_sccp_addr_dump(&prim->u.connect.calling_addr));</span><br><span>          break;</span><br><span>       case OSMO_SCU_PRIM_N_DATA:</span><br><span>           prim->u.data.conn_id = map->scu_conn_id;</span><br><span>@@ -254,10 +250,10 @@</span><br><span>               prim->u.unitdata.called_addr = *remote_addr;</span><br><span>              prim->u.unitdata.calling_addr = cn->gw->sccp.local_addr;</span><br><span>            /* Two separate logs because of osmo_sccp_addr_dump(). */</span><br><span style="color: hsl(0, 100%, 40%);">-               DEBUGP(DRUA, "RUA to SCCP N_UNITDATA: called_addr:%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     osmo_sccp_addr_dump(&prim->u.unitdata.called_addr));</span><br><span style="color: hsl(0, 100%, 40%);">-              DEBUGP(DRUA, "RUA to SCCP N_UNITDATA: calling_addr:%s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    osmo_sccp_addr_dump(&prim->u.unitdata.calling_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA to SCCP N_UNITDATA: called_addr:%s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                   osmo_sccp_addr_dump(&prim->u.unitdata.called_addr));</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA to SCCP N_UNITDATA: calling_addr:%s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  osmo_sccp_addr_dump(&prim->u.unitdata.calling_addr));</span><br><span>                 break;</span><br><span>       default:</span><br><span>             return -EINVAL;</span><br><span>@@ -352,11 +348,9 @@</span><br><span> </span><br><span>   context_id = asn1bitstr_to_u24(&ies.context_ID);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        DEBUGP(DRUA, "RUA %s Connect.req(ctx=0x%x, %s)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-           cn_domain_indicator_to_str(ies.cN_DomainIndicator),</span><br><span style="color: hsl(0, 100%, 40%);">-             context_id,</span><br><span style="color: hsl(0, 100%, 40%);">-             ies.establishment_Cause == RUA_Establishment_Cause_emergency_call</span><br><span style="color: hsl(0, 100%, 40%);">-                ? "emergency" : "normal");</span><br><span style="color: hsl(120, 100%, 40%);">+        LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA %s Connect.req(ctx=0x%x, %s)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+         cn_domain_indicator_to_str(ies.cN_DomainIndicator), context_id,</span><br><span style="color: hsl(120, 100%, 40%);">+               ies.establishment_Cause == RUA_Establishment_Cause_emergency_call ? "emergency" : "normal");</span><br><span> </span><br><span>         rc = rua_to_scu(hnb, ies.cN_DomainIndicator, OSMO_SCU_PRIM_N_CONNECT,</span><br><span>                        context_id, 0, ies.ranaP_Message.buf,</span><br><span>@@ -384,7 +378,7 @@</span><br><span>  context_id = asn1bitstr_to_u24(&ies.context_ID);</span><br><span>         scu_cause = rua_to_scu_cause(&ies.cause);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       DEBUGP(DRUA, "RUA Disconnect.req(ctx=0x%x,cause=%s)\n", context_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA Disconnect.req(ctx=0x%x,cause=%s)\n", context_id,</span><br><span>               rua_cause_str(&ies.cause));</span><br><span> </span><br><span>  if (ies.presenceMask & DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT) {</span><br><span>@@ -414,7 +408,7 @@</span><br><span> </span><br><span>      context_id = asn1bitstr_to_u24(&ies.context_ID);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        DEBUGP(DRUA, "RUA Data.req(ctx=0x%x)\n", context_id);</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA Data.req(ctx=0x%x)\n", context_id);</span><br><span> </span><br><span>         rc = rua_to_scu(hnb,</span><br><span>                         ies.cN_DomainIndicator,</span><br><span>@@ -430,13 +424,14 @@</span><br><span> static int rua_rx_init_udt(struct msgb *msg, ANY_t *in)</span><br><span> {</span><br><span>      RUA_ConnectionlessTransferIEs_t ies;</span><br><span style="color: hsl(120, 100%, 40%);">+  struct hnb_context *hnb = msg->dst;</span><br><span>       int rc;</span><br><span> </span><br><span>  rc = rua_decode_connectionlesstransferies(&ies, in);</span><br><span>     if (rc < 0)</span><br><span>               return rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  DEBUGP(DRUA, "RUA UData.req()\n");</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGHNB(hnb, DRUA, LOGL_DEBUG, "RUA UData.req()\n");</span><br><span> </span><br><span>    /* according tot the spec, we can primarily receive Overload,</span><br><span>         * Reset, Reset ACK, Error Indication, reset Resource, Reset</span><br><span>@@ -455,14 +450,14 @@</span><br><span> static int rua_rx_init_err_ind(struct msgb *msg, ANY_t *in)</span><br><span> {</span><br><span>     RUA_ErrorIndicationIEs_t ies;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct hnb_context *hnb = msg->dst;</span><br><span>       int rc;</span><br><span> </span><br><span>  rc = rua_decode_errorindicationies(&ies, in);</span><br><span>    if (rc < 0)</span><br><span>               return rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  LOGP(DRUA, LOGL_ERROR, "RUA UData.ErrorInd(%s)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-            rua_cause_str(&ies.cause));</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGHNB(hnb, DRUA, LOGL_ERROR, "RUA UData.ErrorInd(%s)\n", rua_cause_str(&ies.cause));</span><br><span> </span><br><span>      rua_free_errorindicationies(&ies);</span><br><span>       return rc;</span><br><span>@@ -470,6 +465,7 @@</span><br><span> </span><br><span> static int rua_rx_initiating_msg(struct msgb *msg, RUA_InitiatingMessage_t *imsg)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        struct hnb_context *hnb = msg->dst;</span><br><span>       int rc;</span><br><span> </span><br><span>  switch (imsg->procedureCode) {</span><br><span>@@ -489,13 +485,11 @@</span><br><span>            rc = rua_rx_init_err_ind(msg, &imsg->value);</span><br><span>          break;</span><br><span>       case RUA_ProcedureCode_id_privateMessage:</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DRUA, LOGL_NOTICE,</span><br><span style="color: hsl(0, 100%, 40%);">-              "Unhandled: RUA Initiating Msg: Private Msg\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGHNB(hnb, DRUA, LOGL_NOTICE, "Unhandled: RUA Initiating Msg: Private Msg\n");</span><br><span>            rc = 0;</span><br><span>              break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DRUA, LOGL_NOTICE, "Unknown RUA Procedure %lu\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     imsg->procedureCode);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGHNB(hnb, DRUA, LOGL_NOTICE, "Unknown RUA Procedure %lu\n", imsg->procedureCode);</span><br><span>             rc = -1;</span><br><span>     }</span><br><span> </span><br><span>@@ -504,21 +498,24 @@</span><br><span> </span><br><span> static int rua_rx_successful_outcome_msg(struct msgb *msg, RUA_SuccessfulOutcome_t *in)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+     struct hnb_context *hnb = msg->dst;</span><br><span>       /* FIXME */</span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DRUA, LOGL_NOTICE, "Unexpected RUA Successful Outcome\n");</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGHNB(hnb, DRUA, LOGL_NOTICE, "Unexpected RUA Successful Outcome\n");</span><br><span>     return -1;</span><br><span> }</span><br><span> </span><br><span> static int rua_rx_unsuccessful_outcome_msg(struct msgb *msg, RUA_UnsuccessfulOutcome_t *in)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+       struct hnb_context *hnb = msg->dst;</span><br><span>       /* FIXME */</span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DRUA, LOGL_NOTICE, "Unexpected RUA Unsucessful Outcome\n");</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGHNB(hnb, DRUA, LOGL_NOTICE, "Unexpected RUA Unsucessful Outcome\n");</span><br><span>    return -1;</span><br><span> }</span><br><span> </span><br><span> </span><br><span> static int _hnbgw_rua_rx(struct msgb *msg, RUA_RUA_PDU_t *pdu)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        struct hnb_context *hnb = msg->dst;</span><br><span>       int rc;</span><br><span> </span><br><span>  /* it's a bit odd that we can't dispatch on procedure code, but</span><br><span>@@ -534,7 +531,7 @@</span><br><span>                rc = rua_rx_unsuccessful_outcome_msg(msg, &pdu->choice.unsuccessfulOutcome);</span><br><span>          break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DRUA, LOGL_NOTICE, "Unknown RUA presence %u\n", pdu->present);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGHNB(hnb, DRUA, LOGL_NOTICE, "Unknown RUA presence %u\n", pdu->present);</span><br><span>              rc = -1;</span><br><span>     }</span><br><span> </span><br><span>@@ -553,7 +550,7 @@</span><br><span>  dec_ret = aper_decode(NULL, &asn_DEF_RUA_RUA_PDU, (void **) &pdu,</span><br><span>                          msg->data, msgb_length(msg), 0, 0);</span><br><span>         if (dec_ret.code != RC_OK) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DRUA, LOGL_ERROR, "Error in ASN.1 decode\n");</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGHNB(hnb, DRUA, LOGL_ERROR, "Error in ASN.1 decode\n");</span><br><span>          return -1;</span><br><span>   }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-iuh/+/21900">change 21900</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-iuh/+/21900"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-iuh </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia16eed4ca5e9ef231259e94c65105f7586f366bc </div>
<div style="display:none"> Gerrit-Change-Number: 21900 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>