<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/16147">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Improve logging in gprs_llc.c code<br><br>Change-Id: Id89cc6760179fb9b1709a30b5d1af41d466b280b<br>---<br>M include/osmocom/sgsn/gprs_sgsn.h<br>M src/sgsn/gprs_gmm.c<br>M src/sgsn/gprs_llc.c<br>3 files changed, 26 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h</span><br><span>index 0a52a7d..0886ce7 100644</span><br><span>--- a/include/osmocom/sgsn/gprs_sgsn.h</span><br><span>+++ b/include/osmocom/sgsn/gprs_sgsn.h</span><br><span>@@ -257,15 +257,15 @@</span><br><span> LOGP(DMM, level, "UE(%p){NOTSUPPORTED} " fmt, ue, ## args)</span><br><span> #endif</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#define LOGGBP(llme, level, fmt, args...) \</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DMM, level, "LLME(%08x/%08x){%s} " fmt, (llme)->old_tlli, \</span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGGBP(llme, category, level, fmt, args...) \</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(category, level, "LLME(%08x/%08x){%s} " fmt, (llme)->old_tlli, \</span><br><span> (llme)->tlli, get_value_string_or_null(gprs_llc_llme_state_names, (llme)->state), ## args);</span><br><span> </span><br><span> #define LOGGBIUP(llme, msg, level, fmt, args...) \</span><br><span> do { \</span><br><span> struct ranap_ue_conn_ctx * _ue; \</span><br><span> if (llme) { \</span><br><span style="color: hsl(0, 100%, 40%);">- LOGGBP(llme, level, fmt, ## args); \</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DMM, level, fmt, ## args); \</span><br><span> } else if ((msg) && (_ue = MSG_IU_UE_CTX(msg))) { \</span><br><span> LOGIUP(_ue, level, fmt, ## args); \</span><br><span> } else { OSMO_ASSERT(0); } \</span><br><span>diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c</span><br><span>index 17daa7d..7a09760 100644</span><br><span>--- a/src/sgsn/gprs_gmm.c</span><br><span>+++ b/src/sgsn/gprs_gmm.c</span><br><span>@@ -1625,7 +1625,7 @@</span><br><span> if (llme) {</span><br><span> /* send a XID reset to re-set all LLC sequence numbers</span><br><span> * in the MS */</span><br><span style="color: hsl(0, 100%, 40%);">- LOGGBP(llme, LOGL_NOTICE, "LLC XID RESET\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DMM, LOGL_NOTICE, "LLC XID RESET\n");</span><br><span> gprs_llgmm_reset(llme);</span><br><span> }</span><br><span> /* The MS has to perform GPRS attach */</span><br><span>@@ -1905,7 +1905,7 @@</span><br><span> if (llme && !mmctx &&</span><br><span> gh->msg_type != GSM48_MT_GMM_ATTACH_REQ &&</span><br><span> gh->msg_type != GSM48_MT_GMM_RA_UPD_REQ) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGGBP(llme, LOGL_NOTICE, "Cannot handle GMM for unknown MM CTX\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DMM, LOGL_NOTICE, "Cannot handle GMM for unknown MM CTX\n");</span><br><span> /* 4.7.10 */</span><br><span> if (gh->msg_type == GSM48_MT_GMM_STATUS) {</span><br><span> /* TLLI unassignment */</span><br><span>diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c</span><br><span>index 2a27da8..244d22c 100644</span><br><span>--- a/src/sgsn/gprs_llc.c</span><br><span>+++ b/src/sgsn/gprs_llc.c</span><br><span>@@ -22,6 +22,7 @@</span><br><span> #include <errno.h></span><br><span> #include <stdint.h></span><br><span> #include <stdbool.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <inttypes.h></span><br><span> </span><br><span> #include <osmocom/core/msgb.h></span><br><span> #include <osmocom/core/linuxlist.h></span><br><span>@@ -528,7 +529,7 @@</span><br><span> struct gprs_llc_llme *llme;</span><br><span> /* FIXME: don't use the TLLI but the 0xFFFF unassigned? */</span><br><span> llme = llme_alloc(tlli);</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLLC, LOGL_NOTICE, "LLC RX: unknown TLLI 0x%08x, "</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_NOTICE, "LLC RX: unknown TLLI 0x%08x, "</span><br><span> "creating LLME on the fly\n", tlli);</span><br><span> lle = &llme->lle[sapi];</span><br><span> return lle;</span><br><span>@@ -1047,6 +1048,10 @@</span><br><span> uint32_t old_tlli, uint32_t new_tlli)</span><br><span> {</span><br><span> unsigned int i;</span><br><span style="color: hsl(120, 100%, 40%);">+ bool free = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_NOTICE, "LLGM Assign pre (%08x => %08x)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ old_tlli, new_tlli);</span><br><span> </span><br><span> if (old_tlli == TLLI_UNASSIGNED && new_tlli != TLLI_UNASSIGNED) {</span><br><span> /* TLLI Assignment 8.3.1 */</span><br><span>@@ -1087,10 +1092,16 @@</span><br><span> struct gprs_llc_lle *l = &llme->lle[i];</span><br><span> l->state = GPRS_LLES_UNASSIGNED;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- llme_free(llme);</span><br><span style="color: hsl(120, 100%, 40%);">+ free = true;</span><br><span> } else</span><br><span> return -EINVAL;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_NOTICE, "LLGM Assign post (%08x => %08x)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ old_tlli, new_tlli);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ if (free)</span><br><span style="color: hsl(120, 100%, 40%);">+ llme_free(llme);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> return 0;</span><br><span> }</span><br><span> </span><br><span>@@ -1109,11 +1120,13 @@</span><br><span> int xid_bytes_len, rc;</span><br><span> uint8_t *xid;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLLC, LOGL_NOTICE, "LLGM Reset\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_NOTICE, "LLGM Reset\n");</span><br><span> </span><br><span> rc = osmo_get_rand_id((uint8_t *) &llme->iov_ui, 4);</span><br><span> if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLLC, LOGL_ERROR, "osmo_get_rand_id() failed for LLC XID reset: %s\n", strerror(-rc));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+ "osmo_get_rand_id() failed for LLC XID reset: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ strerror(-rc));</span><br><span> return rc;</span><br><span> }</span><br><span> </span><br><span>@@ -1144,11 +1157,13 @@</span><br><span> int xid_bytes_len, rc;</span><br><span> uint8_t *xid;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLLC, LOGL_NOTICE, "LLGM Reset\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_NOTICE, "LLGM Reset (SAPI=%" PRIu8 ")\n", sapi);</span><br><span> </span><br><span> rc = osmo_get_rand_id((uint8_t *) &llme->iov_ui, 4);</span><br><span> if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLLC, LOGL_ERROR, "osmo_get_rand_id() failed for LLC XID reset: %s\n", strerror(-rc));</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGGBP(llme, DLLC, LOGL_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+ "osmo_get_rand_id() failed for LLC XID reset: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ strerror(-rc));</span><br><span> return rc;</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/16147">change 16147</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-sgsn/+/16147"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-sgsn </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id89cc6760179fb9b1709a30b5d1af41d466b280b </div>
<div style="display:none"> Gerrit-Change-Number: 16147 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>