<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-iuh/+/21900">View Change</a></p><div style="white-space:pre-wrap">Approvals:
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
</div><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;"><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: 3 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>