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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE<br><br>We may very well have any number of binds configured, but which<br>are not part of the current NSE.  When creating the "full mesh" of<br>NS-VCs after SNS-CONFIG, we must only iterate over those binds that<br>are part of the NSE (or 'ipa-sns-default bind' in cae of SGSN role),<br>but not over all the other binds that may exist in the system.<br><br>Closes: OS#5092<br>Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a<br>---<br>M src/gb/gprs_ns2_sns.c<br>1 file changed, 9 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c</span><br><span>index 2370f01..b07f010 100644</span><br><span>--- a/src/gb/gprs_ns2_sns.c</span><br><span>+++ b/src/gb/gprs_ns2_sns.c</span><br><span>@@ -388,7 +388,7 @@</span><br><span>  struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv;</span><br><span>    struct gprs_ns2_nse *nse = nse_inst_from_fi(fi);</span><br><span>     struct gprs_ns2_vc *nsvc;</span><br><span style="color: hsl(0, 100%, 40%);">-       struct gprs_ns2_vc_bind *bind;</span><br><span style="color: hsl(120, 100%, 40%);">+        struct ns2_sns_bind *sbind;</span><br><span>  struct osmo_sockaddr remote = { };</span><br><span>   unsigned int i;</span><br><span> </span><br><span>@@ -400,8 +400,10 @@</span><br><span>           remote.u.sin.sin_addr.s_addr = ip4->ip_addr;</span><br><span>              remote.u.sin.sin_port = ip4->udp_port;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           /* iterate over all local binds */</span><br><span style="color: hsl(0, 100%, 40%);">-              llist_for_each_entry(bind, &nse->nsi->binding, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* iterate over all local binds within this SNS */</span><br><span style="color: hsl(120, 100%, 40%);">+            llist_for_each_entry(sbind, &gss->binds, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+                       struct gprs_ns2_vc_bind *bind = sbind->bind;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>                    /* we only care about UDP binds */</span><br><span>                   if (bind->ll != GPRS_NS2_LL_UDP)</span><br><span>                          continue;</span><br><span>@@ -430,8 +432,10 @@</span><br><span>             remote.u.sin6.sin6_addr = ip6->ip_addr;</span><br><span>           remote.u.sin6.sin6_port = ip6->udp_port;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-         /* iterate over all local binds */</span><br><span style="color: hsl(0, 100%, 40%);">-              llist_for_each_entry(bind, &nse->nsi->binding, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* iterate over all local binds within this SNS */</span><br><span style="color: hsl(120, 100%, 40%);">+            llist_for_each_entry(sbind, &gss->binds, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+                       struct gprs_ns2_vc_bind *bind = sbind->bind;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>                    if (bind->ll != GPRS_NS2_LL_UDP)</span><br><span>                          continue;</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/23481">change 23481</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/+/23481"/><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: Ida361fa02ad1d86844d54c8f0664c996ed28e30a </div>
<div style="display:none"> Gerrit-Change-Number: 23481 </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: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>