<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/20267">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  daniel: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ns2: refactor nsvc_by_ functions<br><br>gprs_ns2_nsvc_by_sockaddr_nsei is doing the lookup within a NSE.<br>gprs_ns2_nsvc_by_sockaddr_bind is doing the lookup within a bind.<br>Make both function look similiar and take similiar arguments.<br><br>Change-Id: Ia499fc279013668abe7348e578a0768f7d16faf9<br>---<br>M include/osmocom/gprs/gprs_ns2.h<br>M src/gb/gprs_ns2.c<br>M src/gb/gprs_ns2_sns.c<br>M src/gb/gprs_ns2_udp.c<br>4 files changed, 14 insertions(+), 19 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h</span><br><span>index 68484c1..cd2de96 100644</span><br><span>--- a/include/osmocom/gprs/gprs_ns2.h</span><br><span>+++ b/include/osmocom/gprs/gprs_ns2.h</span><br><span>@@ -131,10 +131,9 @@</span><br><span> struct osmo_sockaddr *gprs_ns2_ip_bind_sockaddr(struct gprs_ns2_vc_bind *bind);</span><br><span> int gprs_ns2_is_ip_bind(struct gprs_ns2_vc_bind *bind);</span><br><span> int gprs_ns2_ip_bind_set_dscp(struct gprs_ns2_vc_bind *bind, int dscp);</span><br><span style="color: hsl(0, 100%, 40%);">-int gprs_ns2_find_vc_by_sockaddr(</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_bind(</span><br><span>            struct gprs_ns2_vc_bind *bind,</span><br><span style="color: hsl(0, 100%, 40%);">-          struct osmo_sockaddr *saddr,</span><br><span style="color: hsl(0, 100%, 40%);">-            struct gprs_ns2_vc **result);</span><br><span style="color: hsl(120, 100%, 40%);">+         struct osmo_sockaddr *saddr);</span><br><span> </span><br><span> int gprs_ns2_frgre_bind(struct gprs_ns2_inst *nsi,</span><br><span>                      struct osmo_sockaddr *local,</span><br><span>@@ -142,8 +141,9 @@</span><br><span>                   struct gprs_ns2_vc_bind **result);</span><br><span> int gprs_ns2_is_frgre_bind(struct gprs_ns2_vc_bind *bind);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr(struct gprs_ns2_nse *nsei,</span><br><span style="color: hsl(0, 100%, 40%);">-                                          struct osmo_sockaddr *sockaddr);</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_nse(</span><br><span style="color: hsl(120, 100%, 40%);">+            struct gprs_ns2_nse *nse,</span><br><span style="color: hsl(120, 100%, 40%);">+             struct osmo_sockaddr *sockaddr);</span><br><span> void gprs_ns2_start_alive_all_nsvcs(struct gprs_ns2_nse *nse);</span><br><span> const char *gprs_ns2_cause_str(int cause);</span><br><span> const char *gprs_ns2_ll_str(struct gprs_ns2_vc *nsvc);</span><br><span>diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c</span><br><span>index 57a08d1..835c22a 100644</span><br><span>--- a/src/gb/gprs_ns2.c</span><br><span>+++ b/src/gb/gprs_ns2.c</span><br><span>@@ -824,7 +824,7 @@</span><br><span>  *  \param[in] nse NS Entity in which to search</span><br><span>  *  \param[in] sockaddr socket address to search for</span><br><span>  *  \return NS-VC matching sockaddr; NULL if none found */</span><br><span style="color: hsl(0, 100%, 40%);">-struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr(struct gprs_ns2_nse *nse,</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_nse(struct gprs_ns2_nse *nse,</span><br><span>                                             struct osmo_sockaddr *sockaddr)</span><br><span> {</span><br><span>   struct gprs_ns2_vc *nsvc;</span><br><span>diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c</span><br><span>index 812200d..753ac4d 100644</span><br><span>--- a/src/gb/gprs_ns2_sns.c</span><br><span>+++ b/src/gb/gprs_ns2_sns.c</span><br><span>@@ -179,7 +179,7 @@</span><br><span>     sa.u.sin.sin_port = ip4->udp_port;</span><br><span>        sa.u.sin.sin_family = AF_INET;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      return gprs_ns2_nsvc_by_sockaddr(nse, &sa);</span><br><span style="color: hsl(120, 100%, 40%);">+       return gprs_ns2_nsvc_by_sockaddr_nse(nse, &sa);</span><br><span> }</span><br><span> </span><br><span> static struct gprs_ns2_vc *nsvc_by_ip6_elem(struct gprs_ns2_nse *nse,</span><br><span>@@ -191,7 +191,7 @@</span><br><span>  sa.u.sin6.sin6_port = ip6->udp_port;</span><br><span>      sa.u.sin6.sin6_family = AF_INET;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    return gprs_ns2_nsvc_by_sockaddr(nse, &sa);</span><br><span style="color: hsl(120, 100%, 40%);">+       return gprs_ns2_nsvc_by_sockaddr_nse(nse, &sa);</span><br><span> }</span><br><span> </span><br><span> /*! called when a nsvc is beeing freed */</span><br><span>diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c</span><br><span>index bb421a7..9994a72 100644</span><br><span>--- a/src/gb/gprs_ns2_udp.c</span><br><span>+++ b/src/gb/gprs_ns2_udp.c</span><br><span>@@ -81,16 +81,12 @@</span><br><span> /*! Find a NS-VC by its remote socket address.</span><br><span>  *  \param[in] bind in which to search</span><br><span>  *  \param[in] saddr remote peer socket adddress to search</span><br><span style="color: hsl(0, 100%, 40%);">- *  \param[out] result pointer to result</span><br><span style="color: hsl(0, 100%, 40%);">- *  \returns 0 on success; 1 if no NS-VC was found; negative on error */</span><br><span style="color: hsl(0, 100%, 40%);">-int gprs_ns2_find_vc_by_sockaddr(struct gprs_ns2_vc_bind *bind, struct osmo_sockaddr *saddr, struct gprs_ns2_vc **result)</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \returns NS-VC matching sockaddr; NULL if none found */</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_bind(struct gprs_ns2_vc_bind *bind, struct osmo_sockaddr *saddr)</span><br><span> {</span><br><span>        struct gprs_ns2_vc *nsvc;</span><br><span>    struct priv_vc *vcpriv;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     if (!result)</span><br><span style="color: hsl(0, 100%, 40%);">-            return -EINVAL;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>      llist_for_each_entry(nsvc, &bind->nsvc, blist) {</span><br><span>              vcpriv = nsvc->priv;</span><br><span>              if (vcpriv->remote.u.sa.sa_family != saddr->u.sa.sa_family)</span><br><span>@@ -98,11 +94,10 @@</span><br><span>              if (osmo_sockaddr_cmp(&vcpriv->remote, saddr))</span><br><span>                        continue;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           *result = nsvc;</span><br><span style="color: hsl(0, 100%, 40%);">-         return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+             return nsvc;</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   return 1;</span><br><span style="color: hsl(120, 100%, 40%);">+     return NULL;</span><br><span> }</span><br><span> </span><br><span> static inline int nsip_sendmsg(struct gprs_ns2_vc_bind *bind,</span><br><span>@@ -194,8 +189,8 @@</span><br><span>                 return -EINVAL;</span><br><span> </span><br><span>  /* check if a vc is available */</span><br><span style="color: hsl(0, 100%, 40%);">-        rc = gprs_ns2_find_vc_by_sockaddr(bind, &saddr, &nsvc);</span><br><span style="color: hsl(0, 100%, 40%);">- if (rc) {</span><br><span style="color: hsl(120, 100%, 40%);">+     nsvc = gprs_ns2_nsvc_by_sockaddr_bind(bind, &saddr);</span><br><span style="color: hsl(120, 100%, 40%);">+      if (!nsvc) {</span><br><span>                 /* VC not found */</span><br><span>           rc = ns2_create_vc(bind, msg, "newconnection", &reject, &nsvc);</span><br><span>            switch (rc) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/20267">change 20267</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/+/20267"/><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: Ia499fc279013668abe7348e578a0768f7d16faf9 </div>
<div style="display:none"> Gerrit-Change-Number: 20267 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>