<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/21549">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
pespin: 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;">gbproxy: Rename gbproxy_cfg.nses to gbproxy_cfg.bss_nses<br><br>We will soon also have a list of sgsn-side NSEs, and we need to<br>differentiate those.<br><br>Change-Id: If5accec0c70c01b88927ea07beba6f6488bd9d5a<br>Related: OS#4472<br>---<br>M include/osmocom/sgsn/gb_proxy.h<br>M src/gbproxy/gb_proxy.c<br>M src/gbproxy/gb_proxy_ctrl.c<br>M src/gbproxy/gb_proxy_peer.c<br>M src/gbproxy/gb_proxy_vty.c<br>M tests/gbproxy/gbproxy_test.c<br>6 files changed, 27 insertions(+), 27 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h</span><br><span>index 818ab9d..27b47cf 100644</span><br><span>--- a/include/osmocom/sgsn/gb_proxy.h</span><br><span>+++ b/include/osmocom/sgsn/gb_proxy.h</span><br><span>@@ -101,8 +101,8 @@</span><br><span> /* NS instance of libosmogb */</span><br><span> struct gprs_ns2_inst *nsi;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Linked list of all Gb peers (except SGSN) */</span><br><span style="color: hsl(0, 100%, 40%);">- struct llist_head nses;</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Linked list of all BSS side Gb peers */</span><br><span style="color: hsl(120, 100%, 40%);">+ struct llist_head bss_nses;</span><br><span> </span><br><span> /* Counter */</span><br><span> struct rate_ctr_group *ctrg;</span><br><span>@@ -175,7 +175,7 @@</span><br><span> </span><br><span> /* one NS Entity that we interact with (BSS/PCU) */</span><br><span> struct gbproxy_nse {</span><br><span style="color: hsl(0, 100%, 40%);">- /* linked to gbproxy_config.nses */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* linked to gbproxy_config.bss_nses */</span><br><span> struct llist_head list;</span><br><span> </span><br><span> /* point back to the config */</span><br><span>diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c</span><br><span>index 94944f9..4c34941 100644</span><br><span>--- a/src/gbproxy/gb_proxy.c</span><br><span>+++ b/src/gbproxy/gb_proxy.c</span><br><span>@@ -1203,7 +1203,7 @@</span><br><span> } else if (TLVP_PRES_LEN(tp, BSSGP_IE_ROUTEING_AREA, 6)) {</span><br><span> errctr = GBPROX_GLOB_CTR_INV_RAI;</span><br><span> /* iterate over all bvcs and dispatch the paging to each matching one */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> if (!memcmp(bvc->ra, TLVP_VAL(tp, BSSGP_IE_ROUTEING_AREA), 6)) {</span><br><span> LOGPNSE(nse, LOGL_INFO, "routing to NSE (RAI match)\n");</span><br><span>@@ -1217,7 +1217,7 @@</span><br><span> } else if (TLVP_PRES_LEN(tp, BSSGP_IE_LOCATION_AREA, 5)) {</span><br><span> errctr = GBPROX_GLOB_CTR_INV_LAI;</span><br><span> /* iterate over all bvcs and dispatch the paging to each matching one */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> if (!memcmp(bvc->ra, TLVP_VAL(tp, BSSGP_IE_LOCATION_AREA), 5)) {</span><br><span> LOGPNSE(nse, LOGL_INFO, "routing to NSE (LAI match)\n");</span><br><span>@@ -1230,7 +1230,7 @@</span><br><span> }</span><br><span> } else if (TLVP_PRES_LEN(tp, BSSGP_IE_BSS_AREA_ID, 1)) {</span><br><span> /* iterate over all bvcs and dispatch the paging to each matching one */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> LOGPNSE(nse, LOGL_INFO, "routing to NSE (broadcast)\n");</span><br><span> gbprox_relay2nse(msg, nse, ns_bvci);</span><br><span>@@ -1291,7 +1291,7 @@</span><br><span> * from the SGSN. As the signalling BVCI is shared</span><br><span> * among all the BSS's that we multiplex, it needs to</span><br><span> * be relayed */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list)</span><br><span> gbprox_relay2peer(msg, bvc, ns_bvci);</span><br><span> }</span><br><span>@@ -1425,7 +1425,7 @@</span><br><span> LOGP(DGPRS, LOGL_DEBUG,</span><br><span> "NSE(%05u/SGSN) BSSGP %s: broadcasting\n", nsei, bssgp_pdu_str(pdu_type));</span><br><span> /* broadcast to all BSS-side bvcs */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> gbprox_relay2nse(msg, nse, 0);</span><br><span> }</span><br><span> break;</span><br><span>@@ -1620,7 +1620,7 @@</span><br><span> {</span><br><span> struct gbproxy_nse *nse, *ntmp;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry_safe(nse, ntmp, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry_safe(nse, ntmp, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc, *tmp;</span><br><span> llist_for_each_entry_safe(bvc, tmp, &nse->bvcs, list)</span><br><span> gbproxy_bvc_free(bvc);</span><br><span>@@ -1636,7 +1636,7 @@</span><br><span> {</span><br><span> struct timespec tp;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- INIT_LLIST_HEAD(&cfg->nses);</span><br><span style="color: hsl(120, 100%, 40%);">+ INIT_LLIST_HEAD(&cfg->bss_nses);</span><br><span> cfg->ctrg = rate_ctr_group_alloc(tall_sgsn_ctx, &global_ctrg_desc, 0);</span><br><span> if (!cfg->ctrg) {</span><br><span> LOGP(DGPRS, LOGL_ERROR, "Cannot allocate global counter group!\n");</span><br><span>diff --git a/src/gbproxy/gb_proxy_ctrl.c b/src/gbproxy/gb_proxy_ctrl.c</span><br><span>index 097a29e..c3cfddf 100644</span><br><span>--- a/src/gbproxy/gb_proxy_ctrl.c</span><br><span>+++ b/src/gbproxy/gb_proxy_ctrl.c</span><br><span>@@ -69,7 +69,7 @@</span><br><span> gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd);</span><br><span> </span><br><span> /* NS-VCs for BSS peers */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse_peer, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse_peer, &cfg->bss_nses, list) {</span><br><span> nse = gprs_ns2_nse_by_nsei(nsi, nse_peer->nsei);</span><br><span> if (nse)</span><br><span> gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd);</span><br><span>@@ -87,7 +87,7 @@</span><br><span> </span><br><span> cmd->reply = talloc_strdup(cmd, "");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse_peer, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse_peer, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse_peer->bvcs, list) {</span><br><span> struct gprs_ra_id raid;</span><br><span>@@ -112,7 +112,7 @@</span><br><span> struct gbproxy_nse *nse_peer;</span><br><span> uint32_t count = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse_peer, &cfg->nses, list)</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse_peer, &cfg->bss_nses, list)</span><br><span> count += llist_count(&nse_peer->bvcs);</span><br><span> </span><br><span> cmd->reply = talloc_strdup(cmd, "");</span><br><span>diff --git a/src/gbproxy/gb_proxy_peer.c b/src/gbproxy/gb_proxy_peer.c</span><br><span>index a5b93ee..c48a78f 100644</span><br><span>--- a/src/gbproxy/gb_proxy_peer.c</span><br><span>+++ b/src/gbproxy/gb_proxy_peer.c</span><br><span>@@ -87,7 +87,7 @@</span><br><span> {</span><br><span> struct gbproxy_nse *nse;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> if (bvc->bvci == bvci)</span><br><span>@@ -103,7 +103,7 @@</span><br><span> uint16_t nsei)</span><br><span> {</span><br><span> struct gbproxy_nse *nse;</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> if (nse->nsei == nsei && !llist_empty(&nse->bvcs))</span><br><span> return llist_first_entry(&nse->bvcs, struct gbproxy_bvc, list);</span><br><span> }</span><br><span>@@ -117,7 +117,7 @@</span><br><span> {</span><br><span> struct gbproxy_nse *nse;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> if (!memcmp(bvc->ra, ra, 6))</span><br><span>@@ -135,7 +135,7 @@</span><br><span> {</span><br><span> struct gbproxy_nse *nse;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> if (!memcmp(bvc->ra, la, 5))</span><br><span>@@ -152,7 +152,7 @@</span><br><span> {</span><br><span> struct gbproxy_nse *nse;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> if (!memcmp(bvc->ra + 3, la + 3, 2))</span><br><span>@@ -272,7 +272,7 @@</span><br><span> struct gbproxy_nse *nse, *ntmp;</span><br><span> OSMO_ASSERT(cfg);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry_safe(nse, ntmp, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry_safe(nse, ntmp, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc, *tmp;</span><br><span> if (nse->nsei != nsei)</span><br><span> continue;</span><br><span>@@ -300,7 +300,7 @@</span><br><span> nse->nsei = nsei;</span><br><span> nse->cfg = cfg;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_add(&nse->list, &cfg->nses);</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_add(&nse->list, &cfg->bss_nses);</span><br><span> </span><br><span> INIT_LLIST_HEAD(&nse->bvcs);</span><br><span> </span><br><span>@@ -326,7 +326,7 @@</span><br><span> struct gbproxy_nse *nse;</span><br><span> OSMO_ASSERT(cfg);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> if (nse->nsei == nsei)</span><br><span> return nse;</span><br><span> }</span><br><span>diff --git a/src/gbproxy/gb_proxy_vty.c b/src/gbproxy/gb_proxy_vty.c</span><br><span>index 3ef8ccc..e79297d 100644</span><br><span>--- a/src/gbproxy/gb_proxy_vty.c</span><br><span>+++ b/src/gbproxy/gb_proxy_vty.c</span><br><span>@@ -428,7 +428,7 @@</span><br><span> and new frequency is desired to be lower. After initial run, periodic</span><br><span> time is used. Use random() to avoid firing timers for all bvcs at</span><br><span> the same time */</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &g_cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &g_cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list)</span><br><span> osmo_timer_schedule(&bvc->clean_stale_timer,</span><br><span>@@ -447,7 +447,7 @@</span><br><span> struct gbproxy_nse *nse;</span><br><span> g_cfg->clean_stale_timer_freq = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &g_cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &g_cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list)</span><br><span> osmo_timer_del(&bvc->clean_stale_timer);</span><br><span>@@ -584,7 +584,7 @@</span><br><span> if (show_stats)</span><br><span> vty_out_rate_ctr_group(vty, "", g_cfg->ctrg);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &g_cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &g_cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> gbprox_vty_print_bvc(vty, bvc);</span><br><span>@@ -606,7 +606,7 @@</span><br><span> osmo_clock_gettime(CLOCK_MONOTONIC, &ts);</span><br><span> now = ts.tv_sec;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &g_cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &g_cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span> struct gbproxy_link_info *link_info;</span><br><span>@@ -704,7 +704,7 @@</span><br><span> struct gbproxy_nse *nse;</span><br><span> struct gbproxy_bvc *bvc;</span><br><span> counter = 0;</span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &g_cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &g_cfg->bss_nses, list) {</span><br><span> if (nse->nsei != nsei)</span><br><span> continue;</span><br><span> llist_for_each_entry(bvc, &nse->bvcs, list) {</span><br><span>diff --git a/tests/gbproxy/gbproxy_test.c b/tests/gbproxy/gbproxy_test.c</span><br><span>index 873319b..5538089 100644</span><br><span>--- a/tests/gbproxy/gbproxy_test.c</span><br><span>+++ b/tests/gbproxy/gbproxy_test.c</span><br><span>@@ -129,7 +129,7 @@</span><br><span> return rc;</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_for_each_entry(nse, &cfg->nses, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(nse, &cfg->bss_nses, list) {</span><br><span> struct gbproxy_bvc *peer;</span><br><span> llist_for_each_entry(peer, &nse->bvcs, list) {</span><br><span> struct gbproxy_link_info *link_info;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/21549">change 21549</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/+/21549"/><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: If5accec0c70c01b88927ea07beba6f6488bd9d5a </div>
<div style="display:none"> Gerrit-Change-Number: 21549 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </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: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>