<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/21400">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gprs_ns2: Give NS-VC FSMs a proper name/identifier<br><br>Log output without a proper identifier is mostly useless.<br><br>Change-Id: Id9d5b0684584d03685900c6298fe70246793de14<br>Closes: OS#4876<br>---<br>M src/gb/gprs_ns2.c<br>M src/gb/gprs_ns2_fr.c<br>M src/gb/gprs_ns2_internal.h<br>M src/gb/gprs_ns2_udp.c<br>4 files changed, 20 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/00/21400/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c</span><br><span>index 30716fc..759df3c 100644</span><br><span>--- a/src/gb/gprs_ns2.c</span><br><span>+++ b/src/gb/gprs_ns2.c</span><br><span>@@ -495,8 +495,10 @@</span><br><span> * \param[in] bind The 'bind' on which we operate</span><br><span> * \param[in] nse The NS Entity on which we operate</span><br><span> * \param[in] initiater - if this is an incoming remote (!initiater) or a local outgoing connection (initater)</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param[in] id - human-readable identifier</span><br><span> * \return newly allocated NS-VC on success; NULL on error */</span><br><span style="color: hsl(0, 100%, 40%);">-struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind, struct gprs_ns2_nse *nse, bool initiater)</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind, struct gprs_ns2_nse *nse, bool initiater,</span><br><span style="color: hsl(120, 100%, 40%);">+ const char *id)</span><br><span> {</span><br><span> struct gprs_ns2_vc *nsvc = talloc_zero(bind, struct gprs_ns2_vc);</span><br><span> </span><br><span>@@ -516,7 +518,7 @@</span><br><span> nsvc->statg = osmo_stat_item_group_alloc(nsvc, &nsvc_statg_desc, bind->nsi->rate_ctr_idx);</span><br><span> if (!nsvc->statg)</span><br><span> goto err_group;</span><br><span style="color: hsl(0, 100%, 40%);">- if (!gprs_ns2_vc_fsm_alloc(nsvc, NULL, initiater))</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!gprs_ns2_vc_fsm_alloc(nsvc, id, initiater))</span><br><span> goto err_statg;</span><br><span> </span><br><span> bind->nsi->rate_ctr_idx++;</span><br><span>@@ -771,6 +773,7 @@</span><br><span> struct gprs_ns2_nse *nse;</span><br><span> uint16_t nsvci;</span><br><span> uint16_t nsei;</span><br><span style="color: hsl(120, 100%, 40%);">+ char idbuf[32];</span><br><span> </span><br><span> int rc;</span><br><span> </span><br><span>@@ -852,11 +855,13 @@</span><br><span> }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- nsvc = ns2_vc_alloc(bind, nse, false);</span><br><span style="color: hsl(120, 100%, 40%);">+ nsvci = tlvp_val16be(&tp, NS_IE_VCI);</span><br><span style="color: hsl(120, 100%, 40%);">+ snprintf(idbuf, sizeof(idbuf), "%s-NSEI%u-NSVCI%u", gprs_ns2_lltype_str(nse->ll),</span><br><span style="color: hsl(120, 100%, 40%);">+ nse->nsei, nsvci);</span><br><span style="color: hsl(120, 100%, 40%);">+ nsvc = ns2_vc_alloc(bind, nse, false, idbuf);</span><br><span> if (!nsvc)</span><br><span> return GPRS_NS2_CS_SKIPPED;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- nsvci = tlvp_val16be(&tp, NS_IE_VCI);</span><br><span> nsvc->nsvci = nsvci;</span><br><span> nsvc->nsvci_is_valid = true;</span><br><span> </span><br><span>diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c</span><br><span>index 80e3366..7e826a9 100644</span><br><span>--- a/src/gb/gprs_ns2_fr.c</span><br><span>+++ b/src/gb/gprs_ns2_fr.c</span><br><span>@@ -465,9 +465,12 @@</span><br><span> uint16_t nsvci,</span><br><span> uint16_t dlci)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+ char idbuf[64];</span><br><span> bool created_nse = false;</span><br><span> struct gprs_ns2_vc *nsvc = NULL;</span><br><span> struct priv_vc *priv = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct priv_bind *bpriv = bind->priv;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> struct gprs_ns2_nse *nse = gprs_ns2_nse_by_nsei(bind->nsi, nsei);</span><br><span> if (!nse) {</span><br><span> nse = gprs_ns2_create_nse(bind->nsi, nsei, GPRS_NS2_LL_FR);</span><br><span>@@ -481,7 +484,9 @@</span><br><span> goto err_nse;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- nsvc = ns2_vc_alloc(bind, nse, true);</span><br><span style="color: hsl(120, 100%, 40%);">+ snprintf(idbuf, sizeof(idbuf), "%s-%s-DLCI%u-NSEI%u-NSVCI%u", gprs_ns2_lltype_str(nse->ll),</span><br><span style="color: hsl(120, 100%, 40%);">+ bpriv->netif, dlci, nse->nsei, nsvci);</span><br><span style="color: hsl(120, 100%, 40%);">+ nsvc = ns2_vc_alloc(bind, nse, true, idbuf);</span><br><span> if (!nsvc)</span><br><span> goto err_nse;</span><br><span> </span><br><span>diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h</span><br><span>index 08ffac2..a1b6a49 100644</span><br><span>--- a/src/gb/gprs_ns2_internal.h</span><br><span>+++ b/src/gb/gprs_ns2_internal.h</span><br><span>@@ -218,7 +218,7 @@</span><br><span> </span><br><span> struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind,</span><br><span> struct gprs_ns2_nse *nse,</span><br><span style="color: hsl(0, 100%, 40%);">- bool initiater);</span><br><span style="color: hsl(120, 100%, 40%);">+ bool initiater, const char *id);</span><br><span> </span><br><span> struct msgb *gprs_ns2_msgb_alloc(void);</span><br><span> </span><br><span>diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c</span><br><span>index 7f82667..07209b5 100644</span><br><span>--- a/src/gb/gprs_ns2_udp.c</span><br><span>+++ b/src/gb/gprs_ns2_udp.c</span><br><span>@@ -378,8 +378,11 @@</span><br><span> {</span><br><span> struct gprs_ns2_vc *nsvc;</span><br><span> struct priv_vc *priv;</span><br><span style="color: hsl(120, 100%, 40%);">+ char idbuf[64];</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- nsvc = ns2_vc_alloc(bind, nse, true);</span><br><span style="color: hsl(120, 100%, 40%);">+ snprintf(idbuf, sizeof(idbuf), "%s-NSEI%u-remmote-%s)", gprs_ns2_lltype_str(nse->ll),</span><br><span style="color: hsl(120, 100%, 40%);">+ nse->nsei, osmo_sockaddr_to_str(remote));</span><br><span style="color: hsl(120, 100%, 40%);">+ nsvc = ns2_vc_alloc(bind, nse, true, idbuf);</span><br><span> if (!nsvc)</span><br><span> return NULL;</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/21400">change 21400</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/libosmocore/+/21400"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id9d5b0684584d03685900c6298fe70246793de14 </div>
<div style="display:none"> Gerrit-Change-Number: 21400 </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>